drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h- Extension
.h- Size
- 13051 bytes
- Lines
- 527
- 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
dml2_external_lib_deps.h
Detected Declarations
struct dml2_get_cursor_dlg_regstruct dml2_surface_cfgstruct dml2_composition_cfgstruct dml2_timing_cfgstruct dml2_link_output_cfgstruct dml2_writeback_infostruct dml2_writeback_cfgstruct dml2_plane_parametersstruct dml2_stream_parametersstruct dml2_display_cfgstruct dml2_pipe_configuration_descriptorstruct dml2_plane_mcache_configuration_descriptorenum dml2_swizzle_modeenum dml2_source_format_classenum dml2_sample_positioningenum dml2_rotation_angleenum dml2_output_format_classenum dml2_output_encoder_classenum dml2_output_link_dp_rateenum dml2_pstate_typeenum dml2_uclk_pstate_change_strategyenum dml2_svp_mode_overrideenum dml2_refresh_from_mall_mode_overrideenum dml2_odm_modeenum dml2_scaling_transformenum dml2_dsc_enable_optionenum dml2_tdlut_addressing_modeenum dml2_tdlut_width_modeenum dml2_twait_budgeting_setting
Annotated Snippet
struct dml2_get_cursor_dlg_reg{
unsigned int cursor_x_position;
unsigned int cursor_hotspot_x;
unsigned int cursor_primary_offset;
unsigned int cursor_secondary_offset;
bool cursor_stereo_en;
bool cursor_2x_magnify;
double hratio;
double pixel_rate_mhz;
double dlg_refclk_mhz;
};
/// @brief Surface Parameters
struct dml2_surface_cfg {
enum dml2_swizzle_mode tiling;
struct {
unsigned long pitch; // In elements, two pixels per element in 422 packed format
unsigned long width;
unsigned long height;
} plane0;
struct {
unsigned long pitch;
unsigned long width;
unsigned long height;
} plane1;
struct {
bool enable;
struct {
unsigned long pitch;
} plane0;
struct {
unsigned long pitch;
} plane1;
struct {
double dcc_rate_plane0;
double dcc_rate_plane1;
double fraction_of_zero_size_request_plane0;
double fraction_of_zero_size_request_plane1;
} informative;
} dcc;
};
struct dml2_composition_cfg {
enum dml2_rotation_angle rotation_angle;
bool mirrored;
enum dml2_scaling_transform scaling_transform;
bool rect_out_height_spans_vactive;
struct {
bool stationary;
struct {
unsigned long width;
unsigned long height;
unsigned long x_start;
unsigned long y_start;
} plane0;
struct {
unsigned long width;
unsigned long height;
unsigned long x_start;
unsigned long y_start;
} plane1;
} viewport;
struct {
bool enabled;
bool easf_enabled;
bool isharp_enabled;
bool upsp_enabled;
enum dml2_sample_positioning upsp_sample_positioning;
unsigned int upsp_vtaps;
struct {
double h_ratio;
double v_ratio;
unsigned int h_taps;
unsigned int v_taps;
} plane0;
struct {
double h_ratio;
double v_ratio;
unsigned int h_taps;
unsigned int v_taps;
Annotation
- Immediate include surface: `dml2_external_lib_deps.h`.
- Detected declarations: `struct dml2_get_cursor_dlg_reg`, `struct dml2_surface_cfg`, `struct dml2_composition_cfg`, `struct dml2_timing_cfg`, `struct dml2_link_output_cfg`, `struct dml2_writeback_info`, `struct dml2_writeback_cfg`, `struct dml2_plane_parameters`, `struct dml2_stream_parameters`, `struct dml2_display_cfg`.
- 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.