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.

Dependency Surface

Detected Declarations

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

Implementation Notes