drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_quirks.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_quirks.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_quirks.c
Extension
.c
Size
4664 bytes
Lines
179
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 amdgpu_dm_quirks {
	bool aux_hpd_discon;
	bool support_edp0_on_dp1;
};

static struct amdgpu_dm_quirks quirk_entries = {
	.aux_hpd_discon = false,
	.support_edp0_on_dp1 = false
};

static int edp0_on_dp1_callback(const struct dmi_system_id *id)
{
	quirk_entries.support_edp0_on_dp1 = true;
	return 0;
}

static int aux_hpd_discon_callback(const struct dmi_system_id *id)
{
	quirk_entries.aux_hpd_discon = true;
	return 0;
}

static const struct dmi_system_id dmi_quirk_table[] = {
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3660"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3260"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"),
		},
	},
	{
		.callback = aux_hpd_discon_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
			DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"),
		},
	},
	{
		.callback = edp0_on_dp1_callback,
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "HP"),

Annotation

Implementation Notes