drivers/gpu/drm/amd/display/include/bios_parser_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/include/bios_parser_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/include/bios_parser_types.h- Extension
.h- Size
- 10844 bytes
- Lines
- 364
- 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
dm_services.hinclude/signal_types.hinclude/grph_object_ctrl_defs.hinclude/gpio_types.hinclude/link_service_types.h
Detected Declarations
struct bp_encoder_controlstruct bp_external_encoder_controlstruct bp_crtc_source_selectstruct bp_transmitter_controlstruct bp_load_detection_parametersstruct bp_hw_crtc_timing_parametersstruct timing_flagsstruct bp_adjust_pixel_clock_parametersstruct bp_pixel_clock_parametersstruct program_pixel_clock_flagsstruct bp_set_dce_clock_parametersstruct set_dce_clock_flagsstruct spread_spectrum_flagsstruct bp_spread_spectrum_parametersstruct bp_disp_connector_caps_infostruct bp_encoder_cap_infostruct bp_soc_bb_infostruct bp_connector_speed_cap_infoenum as_signal_typeenum bp_resultenum bp_encoder_control_actionenum bp_transmitter_control_actionenum bp_external_encoder_control_actionenum bp_pipe_control_actionenum bp_lvtma_control_actionenum bp_dce_clock_type
Annotated Snippet
struct bp_encoder_control {
enum bp_encoder_control_action action;
enum engine_id engine_id;
enum transmitter transmitter;
enum signal_type signal;
enum dc_lane_count lanes_number;
enum dc_color_depth color_depth;
bool enable_dp_audio;
uint32_t pixel_clock; /* khz */
};
struct bp_external_encoder_control {
enum bp_external_encoder_control_action action;
enum engine_id engine_id;
enum dc_link_rate link_rate;
enum dc_lane_count lanes_number;
enum signal_type signal;
enum dc_color_depth color_depth;
bool coherent;
struct graphics_object_id encoder_id;
struct graphics_object_id connector_obj_id;
uint32_t pixel_clock; /* in KHz */
};
struct bp_crtc_source_select {
enum engine_id engine_id;
enum controller_id controller_id;
enum signal_type sink_signal;
enum dc_color_depth color_depth;
};
struct bp_transmitter_control {
enum bp_transmitter_control_action action;
enum engine_id engine_id;
enum transmitter transmitter; /* PhyId */
enum dc_lane_count lanes_number;
enum clock_source_id pll_id; /* needed for DCE 4.0 */
enum signal_type signal;
enum dc_color_depth color_depth; /* not used for DCE6.0 */
enum hpd_source_id hpd_sel; /* ucHPDSel, used for DCe6.0 */
enum tx_ffe_id txffe_sel; /* used for DCN3 */
enum engine_id hpo_engine_id; /* used for DCN3 */
struct graphics_object_id connector_obj_id;
/* symClock; in 10kHz, pixel clock, in HDMI deep color mode, it should
* be pixel clock * deep_color_ratio (in KHz)
*/
uint32_t pixel_clock;
uint32_t lane_select;
uint32_t lane_settings;
bool coherent;
bool multi_path;
bool single_pll_mode;
};
struct bp_load_detection_parameters {
enum engine_id engine_id;
uint16_t device_id;
};
struct bp_hw_crtc_timing_parameters {
enum controller_id controller_id;
/* horizontal part */
uint32_t h_total;
uint32_t h_addressable;
uint32_t h_overscan_left;
uint32_t h_overscan_right;
uint32_t h_sync_start;
uint32_t h_sync_width;
/* vertical part */
uint32_t v_total;
uint32_t v_addressable;
uint32_t v_overscan_top;
uint32_t v_overscan_bottom;
uint32_t v_sync_start;
uint32_t v_sync_width;
struct timing_flags {
uint32_t INTERLACE:1;
uint32_t PIXEL_REPETITION:4;
uint32_t HSYNC_POSITIVE_POLARITY:1;
uint32_t VSYNC_POSITIVE_POLARITY:1;
uint32_t HORZ_COUNT_BY_TWO:1;
} flags;
};
struct bp_adjust_pixel_clock_parameters {
/* Input: Signal Type - to be converted to Encoder mode */
enum signal_type signal_type;
/* Input: Encoder object id */
Annotation
- Immediate include surface: `dm_services.h`, `include/signal_types.h`, `include/grph_object_ctrl_defs.h`, `include/gpio_types.h`, `include/link_service_types.h`.
- Detected declarations: `struct bp_encoder_control`, `struct bp_external_encoder_control`, `struct bp_crtc_source_select`, `struct bp_transmitter_control`, `struct bp_load_detection_parameters`, `struct bp_hw_crtc_timing_parameters`, `struct timing_flags`, `struct bp_adjust_pixel_clock_parameters`, `struct bp_pixel_clock_parameters`, `struct program_pixel_clock_flags`.
- 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.