drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h- Extension
.h- Size
- 11373 bytes
- Lines
- 437
- 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
os_types.hfixed31_32.hdc_hw_types.h
Detected Declarations
struct pipe_topology_linestruct pipe_topology_snapshotstruct pipe_topology_historystruct gamma_curvestruct curve_pointsstruct curve_points3struct pwl_result_datastruct dc_rgbstruct tetrahedral_33x33x33struct tetrahedral_17x17x17struct tetrahedral_9x9x9struct tetrahedral_paramsstruct pwl_paramsstruct default_adjustmentstruct out_csc_color_matrixstruct dc_bias_and_scalestruct audio_cea_channels_bitsenum lut_dimensionenum lb_pixel_depthenum graphics_csc_adjust_typeenum ipp_degamma_modeenum gamcor_modeenum ipp_output_formatenum expansion_modeenum gamut_remap_selectenum opp_regammaenum optc_dsc_modeenum test_pattern_dyn_rangeenum test_pattern_modeenum test_pattern_color_formatenum controller_dp_test_patternenum controller_dp_color_spaceenum dc_lut_mode
Annotated Snippet
struct pipe_topology_line {
bool is_phantom_pipe;
int plane_idx;
int slice_idx;
int stream_idx;
int dpp_inst;
int opp_inst;
int tg_inst;
};
struct pipe_topology_snapshot {
struct pipe_topology_line pipe_log_lines[MAX_PIPES];
int line_count;
uint64_t timestamp_us;
int stream_count;
int phantom_stream_count;
};
struct pipe_topology_history {
struct pipe_topology_snapshot snapshots[MAX_TOPOLOGY_SNAPSHOTS];
int current_snapshot_index;
};
struct gamma_curve {
uint32_t offset;
uint32_t segments_num;
};
struct curve_points {
struct fixed31_32 x;
struct fixed31_32 y;
struct fixed31_32 offset;
struct fixed31_32 slope;
uint32_t custom_float_x;
uint32_t custom_float_y;
uint32_t custom_float_offset;
uint32_t custom_float_slope;
};
struct curve_points3 {
struct curve_points red;
struct curve_points green;
struct curve_points blue;
};
struct pwl_result_data {
struct fixed31_32 red;
struct fixed31_32 green;
struct fixed31_32 blue;
struct fixed31_32 delta_red;
struct fixed31_32 delta_green;
struct fixed31_32 delta_blue;
uint32_t red_reg;
uint32_t green_reg;
uint32_t blue_reg;
uint32_t delta_red_reg;
uint32_t delta_green_reg;
uint32_t delta_blue_reg;
};
struct dc_rgb {
uint32_t red;
uint32_t green;
uint32_t blue;
};
struct tetrahedral_33x33x33 {
struct dc_rgb lut0[8985];
struct dc_rgb lut1[8984];
struct dc_rgb lut2[8984];
struct dc_rgb lut3[8984];
};
struct tetrahedral_17x17x17 {
struct dc_rgb lut0[1229];
struct dc_rgb lut1[1228];
struct dc_rgb lut2[1228];
struct dc_rgb lut3[1228];
};
struct tetrahedral_9x9x9 {
struct dc_rgb lut0[183];
struct dc_rgb lut1[182];
struct dc_rgb lut2[182];
struct dc_rgb lut3[182];
};
Annotation
- Immediate include surface: `os_types.h`, `fixed31_32.h`, `dc_hw_types.h`.
- Detected declarations: `struct pipe_topology_line`, `struct pipe_topology_snapshot`, `struct pipe_topology_history`, `struct gamma_curve`, `struct curve_points`, `struct curve_points3`, `struct pwl_result_data`, `struct dc_rgb`, `struct tetrahedral_33x33x33`, `struct tetrahedral_17x17x17`.
- 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.