drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h- Extension
.h- Size
- 6744 bytes
- Lines
- 286
- 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
os_types.h
Detected Declarations
struct dp_hdmi_dongle_signature_datastruct frl_borrow_paramsstruct dc_hdmi_frl_link_settingsstruct dc_hdmi_frl_flagsstruct dc_hdmi_frl_link_training_overridesenum hdmi_idcc_scopeenum hdmi_frl_borrow_modeenum link_resultenum hdmi_frl_link_rate
Annotated Snippet
struct dp_hdmi_dongle_signature_data {
int8_t id[15];/* "DP-HDMI ADAPTOR"*/
uint8_t eot;/* end of transmition '\x4' */
};
/* DP-HDMI dongle slave address for retrieving dongle signature*/
#define DP_HDMI_DONGLE_ADDRESS 0x40
#define DP_HDMI_DONGLE_SIGNATURE_EOT 0x04
/* SCDC Address defines (HDMI 2.0)*/
#define HDMI_SCDC_WRITE_UPDATE_0_ARRAY 3
#define HDMI_SCDC_ADDRESS 0x54
#define HDMI_SCDC_SINK_VERSION 0x01
#define HDMI_SCDC_SOURCE_VERSION 0x02
#define HDMI_SCDC_UPDATE_0 0x10
#define HDMI_SCDC_TMDS_CONFIG 0x20
#define HDMI_SCDC_SCRAMBLER_STATUS 0x21
#define HDMI_SCDC_CONFIG_0 0x30
#define HDMI_SCDC_CONFIG_1 0x31
#define HDMI_SCDC_SOURCE_TEST_REQ 0x35
#define HDMI_SCDC_STATUS_FLAGS 0x40
#define HDMI_SCDC_LTP_REQ 0x41
#define HDMI_SCDC_ERR_DETECT 0x50
#define HDMI_SCDC_TEST_CONFIG 0xC0
#define HDMI_SCDC_MANUFACTURER_OUI 0xD0
#define HDMI_SCDC_DEVICE_ID 0xDB
/* IDCC defines (HDMI 2.0) */
#define HDMI_IDCC_ADDRESS 0x50
#define HDMI_IDCC_MARKER0 0xAE
#define HDMI_IDCC_MARKER1 0x6E
#define HDMI_IDCC_MARKER2 0x60
enum hdmi_idcc_scope {
HDMI_IDCC_SCOPE_WRITE = 0x00,
HDMI_IDCC_SCOPE_RW_CA = 0x01,
HDMI_IDCC_SCOPE_RW_SINK = 0x02,
};
union hdmi_idcc_source_id {
struct {
uint8_t SI_PCA_n:1;
uint8_t AC_n:1;
uint8_t RESERVED:6;
} bits;
uint8_t raw;
};
union hdmi_idcc_cable_id {
struct {
uint8_t Cat1_n:1;
uint8_t Cat2_n:1;
uint8_t Cat3_n:1;
uint8_t Cat4_n:1;
uint8_t RESERVED:4;
uint8_t HEAC_n:1;
uint8_t PCA_DEP_n:1;
uint8_t MonoDir_n:1;
uint8_t MonoDirErr_n:1;
uint8_t PCA_ON_n:1;
uint8_t no_DeEmphasis_n:1;
uint8_t no_PreShoot_n:1;
uint8_t RESERVED2:1;
uint8_t RND_bits_7_0:8;
uint8_t RND_bits_15_8:8;
} bits;
uint8_t raw[4];
};
union hdmi_scdc_update_read_data {
uint8_t byte[2];
struct {
uint8_t STATUS_UPDATE:1;
uint8_t CED_UPDATE:1;
uint8_t RR_TEST:1;
uint8_t SOURCE_TEST_UPDATE:1;
uint8_t FRL_START:1;
uint8_t FLT_UPDATE:1;
uint8_t RSED_UPDATE:1;
uint8_t RESERVED:1;
uint8_t RESERVED2:8;
} fields;
};
union hdmi_scdc_status_flags_data {
uint8_t byte;
struct {
uint8_t CLOCK_DETECTED:1;
uint8_t CH0_LOCKED:1;
Annotation
- Immediate include surface: `os_types.h`.
- Detected declarations: `struct dp_hdmi_dongle_signature_data`, `struct frl_borrow_params`, `struct dc_hdmi_frl_link_settings`, `struct dc_hdmi_frl_flags`, `struct dc_hdmi_frl_link_training_overrides`, `enum hdmi_idcc_scope`, `enum hdmi_frl_borrow_mode`, `enum link_result`, `enum hdmi_frl_link_rate`.
- 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.