drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_display_cfg_types.h
Extension
.h
Size
13051 bytes
Lines
527
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 dml2_get_cursor_dlg_reg{
	unsigned int cursor_x_position;
	unsigned int cursor_hotspot_x;
	unsigned int cursor_primary_offset;
	unsigned int cursor_secondary_offset;
	bool cursor_stereo_en;
	bool cursor_2x_magnify;
	double hratio;
	double pixel_rate_mhz;
	double dlg_refclk_mhz;
};

/// @brief Surface Parameters
struct dml2_surface_cfg {
	enum dml2_swizzle_mode tiling;

	struct {
		unsigned long pitch; // In elements, two pixels per element in 422 packed format
		unsigned long width;
		unsigned long height;
	} plane0;


	struct {
		unsigned long pitch;
		unsigned long width;
		unsigned long height;
	} plane1;

	struct {
		bool enable;
		struct {
			unsigned long pitch;
		} plane0;
		struct {
			unsigned long pitch;
		} plane1;

		struct {
			double dcc_rate_plane0;
			double dcc_rate_plane1;
			double fraction_of_zero_size_request_plane0;
			double fraction_of_zero_size_request_plane1;
		} informative;
	} dcc;
};


struct dml2_composition_cfg {
	enum dml2_rotation_angle rotation_angle;
	bool mirrored;
	enum dml2_scaling_transform scaling_transform;
	bool rect_out_height_spans_vactive;

	struct {
		bool stationary;
		struct {
			unsigned long width;
			unsigned long height;
			unsigned long x_start;
			unsigned long y_start;
		} plane0;

		struct {
			unsigned long width;
			unsigned long height;
			unsigned long x_start;
			unsigned long y_start;
		} plane1;
	} viewport;

	struct {
		bool enabled;
		bool easf_enabled;
		bool isharp_enabled;
		bool upsp_enabled;
		enum dml2_sample_positioning upsp_sample_positioning;
		unsigned int upsp_vtaps;
		struct {
			double h_ratio;
			double v_ratio;
			unsigned int h_taps;
			unsigned int v_taps;
		} plane0;

		struct {
			double h_ratio;
			double v_ratio;
			unsigned int h_taps;
			unsigned int v_taps;

Annotation

Implementation Notes