diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 510cdec375c4..c2d494784425 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -416,16 +416,19 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, { int i; + static const struct dmi_system_id gpd_systems[] = { + { + .ident = "GPD Win Max 2", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GPD"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1619-04"), + }, + }, + {} + }; + +#ifdef CONFIG_X86 /* - * IRQ override isn't needed on modern AMD Zen systems and - * this override breaks active low IRQs on AMD Ryzen 6000 and - * newer systems. Skip it. - */ - if (boot_cpu_has(X86_FEATURE_ZEN)) - return false; + * Skip IRQ override for GPD Win Max 2 and AMD Zen systems. + */ + if (dmi_check_system(gpd_systems) || boot_cpu_has(X86_FEATURE_ZEN)) + return false; #endif for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { const struct irq_override_cmp *entry = &skip_override_table[i]; } }