drivers/gpu/drm/amd/display/dc/dc_stream.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dc_stream.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dc_stream.h- Extension
.h- Size
- 18519 bytes
- Lines
- 627
- 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_types.hgrph_object_defs.h
Detected Declarations
struct timing_sync_infostruct mall_stream_configstruct dc_stream_statusstruct dc_writeback_infostruct dc_writeback_updatestruct periodic_interrupt_configstruct dc_mst_stream_bw_updatestruct test_patternstruct dc_stream_debug_optionsstruct luminance_datastruct dc_stream_statestruct dc_stream_updatestruct dc_update_scratch_spaceenum vertical_interrupt_ref_pointenum dc_drr_trigger_mode
Annotated Snippet
struct timing_sync_info {
int group_id;
int group_size;
bool master;
};
struct mall_stream_config {
/* MALL stream config to indicate if the stream is phantom or not.
* We will use a phantom stream to indicate that the pipe is phantom.
*/
enum mall_stream_type type;
struct dc_stream_state *paired_stream; // master / slave stream
bool subvp_limit_cursor_size; /* stream has/is using subvp limiting hw cursor support */
bool cursor_size_limit_subvp; /* stream is using hw cursor config preventing subvp */
};
struct dc_stream_status {
int primary_otg_inst;
int stream_enc_inst;
/**
* @plane_count: Total of planes attached to a single stream
*/
int plane_count;
int audio_inst;
struct timing_sync_info timing_sync_info;
struct dc_plane_state *plane_states[MAX_SURFACES];
bool is_abm_supported;
struct mall_stream_config mall_stream_config;
bool fpo_in_use;
};
struct dc_writeback_info {
bool wb_enabled;
int dwb_pipe_inst;
struct dc_dwb_params dwb_params;
struct mcif_buf_params mcif_buf_params;
struct mcif_warmup_params mcif_warmup_params;
/* the plane that is the input to TOP_MUX for MPCC that is the DWB source */
struct dc_plane_state *writeback_source_plane;
/* source MPCC instance. for use by internally by dc */
int mpcc_inst;
};
struct dc_writeback_update {
unsigned int num_wb_info;
struct dc_writeback_info writeback_info[MAX_DWB_PIPES];
};
enum vertical_interrupt_ref_point {
START_V_UPDATE = 0,
START_V_SYNC,
INVALID_POINT
//For now, only v_update interrupt is used.
//START_V_BLANK,
//START_V_ACTIVE
};
struct periodic_interrupt_config {
enum vertical_interrupt_ref_point ref_point;
int lines_offset;
};
struct dc_mst_stream_bw_update {
bool is_increase; // is bandwidth reduced or increased
uint32_t mst_stream_bw; // new mst bandwidth in kbps
};
union stream_update_flags {
struct {
uint32_t scaling:1;
uint32_t out_tf:1;
uint32_t out_csc:1;
uint32_t abm_level:1;
uint32_t dpms_off:1;
uint32_t gamut_remap:1;
uint32_t wb_update:1;
uint32_t dsc_changed : 1;
uint32_t mst_bw : 1;
uint32_t crtc_timing_adjust : 1;
uint32_t fams_changed : 1;
uint32_t scaler_sharpener : 1;
uint32_t sharpening_required : 1;
uint32_t cursor_attr : 1;
uint32_t cursor_pos : 1;
uint32_t periodic_interrupt : 1;
uint32_t info_frame : 1;
uint32_t dmdata : 1;
Annotation
- Immediate include surface: `dc_types.h`, `grph_object_defs.h`.
- Detected declarations: `struct timing_sync_info`, `struct mall_stream_config`, `struct dc_stream_status`, `struct dc_writeback_info`, `struct dc_writeback_update`, `struct periodic_interrupt_config`, `struct dc_mst_stream_bw_update`, `struct test_pattern`, `struct dc_stream_debug_options`, `struct luminance_data`.
- 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.