drivers/gpu/drm/amd/display/dc/dml2_0/display_mode_util.c
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dml2_0/display_mode_util.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dml2_0/display_mode_util.c- Extension
.c- Size
- 50062 bytes
- Lines
- 816
- 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
display_mode_util.h
Detected Declarations
function filesfunction dml_util_is_420function dcn_bw_powfunction dcn_bw_ceil2function dcn_bw_floor2function dml_ceilfunction dml_floorfunction dml_minfunction dml_min3function dml_min4function dml_maxfunction dml_max3function dml_max4function dml_max5function dml_logfunction dml_log2function dml_roundfunction dml_powfunction dml_round_to_multiplefunction dml_print_data_rq_regs_stfunction dml_print_rq_regs_stfunction dml_print_dlg_regs_stfunction dml_print_ttu_regs_stfunction dml_print_dml_policyfunction dml_print_mode_supportfunction dml_print_dml_mode_support_infofunction dml_print_dml_display_cfg_timingfunction dml_print_dml_display_cfg_planefunction dml_print_dml_display_cfg_surfacefunction dml_print_dml_display_cfg_hw_resourcefunction dml_print_soc_state_bounding_boxfunction dml_print_soc_bounding_boxfunction dml_print_clk_cfgfunction dml_is_vertical_rotationfunction dml_get_cursor_bit_per_pixelfunction dml_get_num_active_planesfunction dml_get_num_active_pipesfunction dml_get_plane_idxfunction dml_get_pipe_idxfunction dml_calc_pipe_plane_mapping
Annotated Snippet
if (plane_idx == mode_lib->mp.pipe_plane[i]) {
pipe_idx = i;
pipe_found = 1;
break;
}
}
ASSERT(pipe_found != 0);
return pipe_idx;
}
void dml_calc_pipe_plane_mapping(const struct dml_hw_resource_st *hw, dml_uint_t *pipe_plane)
{
dml_uint_t pipe_idx = 0;
for (dml_uint_t k = 0; k < __DML_NUM_PLANES__; ++k) {
pipe_plane[k] = __DML_PIPE_NO_PLANE__;
}
for (dml_uint_t plane_idx = 0; plane_idx < __DML_NUM_PLANES__; plane_idx++) {
for (dml_uint_t i = 0; i < hw->DPPPerSurface[plane_idx]; i++) {
pipe_plane[pipe_idx] = plane_idx;
pipe_idx++;
}
}
}
Annotation
- Immediate include surface: `display_mode_util.h`.
- Detected declarations: `function files`, `function dml_util_is_420`, `function dcn_bw_pow`, `function dcn_bw_ceil2`, `function dcn_bw_floor2`, `function dml_ceil`, `function dml_floor`, `function dml_min`, `function dml_min3`, `function dml_min4`.
- 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.