drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h
Extension
.h
Size
18521 bytes
Lines
594
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct mod_hdcp_transition_input_hdcp1 {
	uint8_t bksv_read;
	uint8_t bksv_validation;
	uint8_t create_session;
	uint8_t an_write;
	uint8_t aksv_write;
	uint8_t ainfo_write;
	uint8_t bcaps_read;
	uint8_t r0p_read;
	uint8_t rx_validation;
	uint8_t encryption;
	uint8_t link_maintenance;
	uint8_t ready_check;
	uint8_t bstatus_read;
	uint8_t max_cascade_check;
	uint8_t max_devs_check;
	uint8_t device_count_check;
	uint8_t ksvlist_read;
	uint8_t vp_read;
	uint8_t ksvlist_vp_validation;

	uint8_t hdcp_capable_dp;
	uint8_t binfo_read_dp;
	uint8_t r0p_available_dp;
	uint8_t link_integrity_check;
	uint8_t reauth_request_check;
	uint8_t stream_encryption_dp;
};

struct mod_hdcp_transition_input_hdcp2 {
	uint8_t hdcp2version_read;
	uint8_t hdcp2_capable_check;
	uint8_t create_session;
	uint8_t ake_init_prepare;
	uint8_t ake_init_write;
	uint8_t rxstatus_read;
	uint8_t ake_cert_available;
	uint8_t ake_cert_read;
	uint8_t ake_cert_validation;
	uint8_t stored_km_write;
	uint8_t no_stored_km_write;
	uint8_t h_prime_available;
	uint8_t h_prime_read;
	uint8_t pairing_available;
	uint8_t pairing_info_read;
	uint8_t h_prime_validation;
	uint8_t lc_init_prepare;
	uint8_t lc_init_write;
	uint8_t l_prime_available_poll;
	uint8_t l_prime_read;
	uint8_t l_prime_combo_read;
	uint8_t l_prime_validation;
	uint8_t eks_prepare;
	uint8_t eks_write;
	uint8_t enable_encryption;
	uint8_t reauth_request_check;
	uint8_t rx_id_list_read;
	uint8_t device_count_check;
	uint8_t rx_id_list_validation;
	uint8_t repeater_auth_ack_write;
	uint8_t prepare_stream_manage;
	uint8_t stream_manage_write;
	uint8_t stream_ready_available;
	uint8_t stream_ready_read;
	uint8_t stream_ready_validation;

	uint8_t rx_caps_read_dp;
	uint8_t content_stream_type_write;
	uint8_t link_integrity_check_dp;
	uint8_t stream_encryption_dp;
};

union mod_hdcp_transition_input {
	struct mod_hdcp_transition_input_hdcp1 hdcp1;
	struct mod_hdcp_transition_input_hdcp2 hdcp2;
};

struct mod_hdcp_message_hdcp1 {
	uint8_t		an[8];
	uint8_t		aksv[5];
	uint8_t		ainfo;
	uint8_t		bksv[5];
	uint16_t	r0p;
	uint8_t		bcaps;
	uint16_t	bstatus;
	uint8_t		ksvlist[635];
	uint16_t	ksvlist_size;
	uint8_t		vp[20];

	uint16_t	binfo_dp;

Annotation

Implementation Notes