drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h- Extension
.h- Size
- 5648 bytes
- Lines
- 195
- 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
dc.hinclude/grph_object_id.hdml/display_mode_structs.hdml2_0/dml21/inc/dml_top_dchub_registers.h
Detected Declarations
struct dchub_init_datastruct cstate_pstate_watermarks_ststruct dcn_watermarksstruct dce_watermarksstruct stutter_modesstruct mem_inputstruct vm_system_aperture_paramstruct vm_context0_paramstruct mem_input_funcs
Annotated Snippet
struct cstate_pstate_watermarks_st {
uint32_t cstate_exit_ns;
uint32_t cstate_exit_z8_ns;
uint32_t cstate_enter_plus_exit_z8_ns;
uint32_t cstate_enter_plus_exit_ns;
uint32_t pstate_change_ns;
uint32_t fclk_pstate_change_ns;
};
struct dcn_watermarks {
uint32_t pte_meta_urgent_ns;
uint32_t urgent_ns;
uint32_t frac_urg_bw_nom;
uint32_t frac_urg_bw_flip;
uint32_t urgent_latency_ns;
struct cstate_pstate_watermarks_st cstate_pstate;
uint32_t usr_retraining_ns;
};
union dcn_watermark_set {
struct {
struct dcn_watermarks a;
struct dcn_watermarks b;
struct dcn_watermarks c;
struct dcn_watermarks d;
}; // legacy
struct {
struct dml2_dchub_watermark_regs a;
struct dml2_dchub_watermark_regs b;
struct dml2_dchub_watermark_regs c;
struct dml2_dchub_watermark_regs d;
} dcn4x; //dcn4+
};
struct dce_watermarks {
int a_mark;
int b_mark;
int c_mark;
int d_mark;
};
struct stutter_modes {
bool enhanced;
bool quad_dmif_buffer;
bool watermark_nb_pstate;
};
struct mem_input {
const struct mem_input_funcs *funcs;
struct dc_context *ctx;
struct dc_plane_address request_address;
struct dc_plane_address current_address;
int inst;
struct stutter_modes stutter_mode;
};
struct vm_system_aperture_param {
PHYSICAL_ADDRESS_LOC sys_default;
PHYSICAL_ADDRESS_LOC sys_low;
PHYSICAL_ADDRESS_LOC sys_high;
};
struct vm_context0_param {
PHYSICAL_ADDRESS_LOC pte_base;
PHYSICAL_ADDRESS_LOC pte_start;
PHYSICAL_ADDRESS_LOC pte_end;
PHYSICAL_ADDRESS_LOC fault_default;
};
struct mem_input_funcs {
void (*mem_input_setup)(
struct mem_input *mem_input,
struct _vcs_dpi_display_dlg_regs_st *dlg_regs,
struct _vcs_dpi_display_ttu_regs_st *ttu_regs,
struct _vcs_dpi_display_rq_regs_st *rq_regs,
struct _vcs_dpi_display_pipe_dest_params_st *pipe_dest);
void (*dcc_control)(struct mem_input *mem_input, bool enable,
bool independent_64b_blks);
void (*mem_program_viewport)(
struct mem_input *mem_input,
const struct rect *viewport,
const struct rect *viewport_c);
void (*mem_input_program_display_marks)(
struct mem_input *mem_input,
struct dce_watermarks nbp,
struct dce_watermarks stutter,
struct dce_watermarks stutter_enter,
struct dce_watermarks urgent,
Annotation
- Immediate include surface: `dc.h`, `include/grph_object_id.h`, `dml/display_mode_structs.h`, `dml2_0/dml21/inc/dml_top_dchub_registers.h`.
- Detected declarations: `struct dchub_init_data`, `struct cstate_pstate_watermarks_st`, `struct dcn_watermarks`, `struct dce_watermarks`, `struct stutter_modes`, `struct mem_input`, `struct vm_system_aperture_param`, `struct vm_context0_param`, `struct mem_input_funcs`.
- 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.