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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
mod_hdcp.hhdcp_log.hdrm/display/drm_dp_helper.hdrm/display/drm_hdcp_helper.h
Detected Declarations
struct mod_hdcp_transition_input_hdcp1struct mod_hdcp_transition_input_hdcp2struct mod_hdcp_message_hdcp1struct mod_hdcp_message_hdcp2struct mod_hdcp_auth_countersstruct mod_hdcp_connectionstruct mod_hdcp_authenticationstruct mod_hdcp_statestruct mod_hdcp_event_contextstruct mod_hdcpenum mod_hdcp_trans_input_resultenum mod_hdcp_initial_state_idenum mod_hdcp_hdcp1_state_idenum mod_hdcp_hdcp1_dp_state_idenum mod_hdcp_hdcp2_state_idenum mod_hdcp_hdcp2_dp_state_idfunction is_dp_hdcpfunction is_dp_mst_hdcpfunction is_hdmi_dvi_sl_hdcpfunction is_frl_hdcpfunction current_statefunction set_state_idfunction is_in_hdcp1_statesfunction is_in_hdcp1_dp_statesfunction is_in_hdcp2_statesfunction is_in_hdcp2_dp_statesfunction is_in_authenticated_statesfunction is_hdcp1function is_hdcp2function is_in_cp_not_desired_statefunction is_in_initialized_statefunction increment_stay_counterfunction fail_and_restart_in_msfunction callback_in_msfunction set_watchdog_in_msfunction set_auth_completefunction is_display_activefunction is_display_encryption_enabledfunction get_active_display_countfunction reset_retry_counts
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
- Immediate include surface: `mod_hdcp.h`, `hdcp_log.h`, `drm/display/drm_dp_helper.h`, `drm/display/drm_hdcp_helper.h`.
- Detected declarations: `struct mod_hdcp_transition_input_hdcp1`, `struct mod_hdcp_transition_input_hdcp2`, `struct mod_hdcp_message_hdcp1`, `struct mod_hdcp_message_hdcp2`, `struct mod_hdcp_auth_counters`, `struct mod_hdcp_connection`, `struct mod_hdcp_authentication`, `struct mod_hdcp_state`, `struct mod_hdcp_event_context`, `struct mod_hdcp`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.