37 lines
No EOL
1,018 B
Diff
37 lines
No EOL
1,018 B
Diff
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];
|
|
}
|
|
}
|