drivers/gpu/drm/amd/display/dc/dc_dp_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dc_dp_types.h- Extension
.h- Size
- 42040 bytes
- Lines
- 1604
- 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.hdc_ddc_types.h
Detected Declarations
struct dc_link_settingsstruct dc_tunnel_settingsstruct dc_lane_settingsstruct dc_link_training_overridesstruct dp_device_vendor_idstruct dp_sink_hw_fw_revisionstruct dpcd_vendor_signaturestruct dpcd_amd_signaturestruct dpcd_amd_device_idstruct target_luminance_valuestruct dpcd_source_backlight_setstruct dpcd_test_misc_bitsstruct audio_test_pattern_typestruct dp_audio_test_data_flagsstruct dp_audio_test_datastruct dpcd_dsc_supportstruct dpcd_dsc_algorithm_revisionstruct dpcd_dsc_rc_buffer_block_sizestruct dpcd_dsc_slice_capability1struct dpcd_dsc_line_buffer_bit_depthstruct dpcd_dsc_block_prediction_supportstruct dpcd_maximum_bits_per_pixel_supported_by_the_decompressorstruct dpcd_dsc_decoder_color_format_capabilitiesstruct dpcd_dsc_decoder_color_depth_capabilitiesstruct dpcd_peak_dsc_throughput_dsc_sinkstruct dpcd_dsc_slice_capabilities_2struct dpcd_bits_per_pixel_incrementstruct dpcd_dsc_capabilitiesstruct psr_capsstruct adaptive_sync_capsstruct dpcd_usb4_dp_tunneling_infostruct dp_color_depth_capsstruct dp_encoding_format_capsstruct edp_psr_infostruct replay_infostruct dprx_statesstruct dpcd_panel_replay_selective_update_infostruct dc_lttpr_capsstruct dc_dongle_dfp_cap_extstruct dc_dongle_capsstruct dpcd_capsstruct edp_trace_power_timestampsstruct dp_trace_lt_countsstruct dp_trace_ltstruct dp_trace_timestampsstruct dp_traceenum dc_lane_countenum dc_link_rate
Annotated Snippet
struct dc_link_settings {
enum dc_lane_count lane_count;
enum dc_link_rate link_rate;
enum dc_link_spread link_spread;
bool use_link_rate_set;
uint8_t link_rate_set;
};
struct dc_tunnel_settings {
bool should_enable_dp_tunneling;
bool should_use_dp_bw_allocation;
uint8_t cm_id;
uint8_t group_id;
uint32_t bw_granularity;
uint32_t estimated_bw;
uint32_t allocated_bw;
};
union dc_dp_ffe_preset {
struct {
uint8_t level : 4;
uint8_t reserved : 1;
uint8_t no_preshoot : 1;
uint8_t no_deemphasis : 1;
uint8_t method2 : 1;
} settings;
uint8_t raw;
};
struct dc_lane_settings {
enum dc_voltage_swing VOLTAGE_SWING;
enum dc_pre_emphasis PRE_EMPHASIS;
enum dc_post_cursor2 POST_CURSOR2;
union dc_dp_ffe_preset FFE_PRESET;
};
struct dc_link_training_overrides {
enum dc_voltage_swing *voltage_swing;
enum dc_pre_emphasis *pre_emphasis;
enum dc_post_cursor2 *post_cursor2;
union dc_dp_ffe_preset *ffe_preset;
uint16_t *cr_pattern_time;
uint16_t *eq_pattern_time;
enum dc_dp_training_pattern *pattern_for_cr;
enum dc_dp_training_pattern *pattern_for_eq;
enum dc_link_spread *downspread;
bool *alternate_scrambler_reset;
bool *enhanced_framing;
bool *mst_enable;
bool *fec_enable;
};
union payload_table_update_status {
struct {
uint8_t VC_PAYLOAD_TABLE_UPDATED:1;
uint8_t ACT_HANDLED:1;
} bits;
uint8_t raw;
};
union dpcd_rev {
struct {
uint8_t MINOR:4;
uint8_t MAJOR:4;
} bits;
uint8_t raw;
};
union max_lane_count {
struct {
uint8_t MAX_LANE_COUNT:5;
uint8_t POST_LT_ADJ_REQ_SUPPORTED:1;
uint8_t TPS3_SUPPORTED:1;
uint8_t ENHANCED_FRAME_CAP:1;
} bits;
uint8_t raw;
};
union max_down_spread {
struct {
uint8_t MAX_DOWN_SPREAD:1;
uint8_t RESERVED:5;
uint8_t NO_AUX_HANDSHAKE_LINK_TRAINING:1;
uint8_t TPS4_SUPPORTED:1;
} bits;
uint8_t raw;
};
Annotation
- Immediate include surface: `os_types.h`, `dc_ddc_types.h`.
- Detected declarations: `struct dc_link_settings`, `struct dc_tunnel_settings`, `struct dc_lane_settings`, `struct dc_link_training_overrides`, `struct dp_device_vendor_id`, `struct dp_sink_hw_fw_revision`, `struct dpcd_vendor_signature`, `struct dpcd_amd_signature`, `struct dpcd_amd_device_id`, `struct target_luminance_value`.
- 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.