Skip to content

Commit a9c4a91

Browse files
superm1rafaeljw
authored andcommitted
ACPI: resource: Remove "Zen" specific match and quirks
commit 9946e39 ("ACPI: resource: skip IRQ override on AMD Zen platforms") attempted to overhaul the override logic so it didn't apply on X86 AMD Zen systems. This was intentional so that systems would prefer DSDT values instead of default MADT value for IRQ 1 on Ryzen 6000 systems which typically uses ActiveLow for IRQ1. This turned out to be a bad assumption because several vendors add Interrupt Source Override but don't fix the DSDT. A pile of quirks was collecting that proved this wasn't sustaintable. Furthermore some vendors have used ActiveHigh for IRQ1. To solve this problem revert the following commits: * commit 17bb704 ("ACPI: resource: Do IRQ override on all TongFang GMxRGxx") * commit f3cb9b7 ("ACPI: resource: do IRQ override on Lenovo 14ALC7") * commit bfcdf58 ("ACPI: resource: do IRQ override on LENOVO IdeaPad") * commit 7592b79 ("ACPI: resource: do IRQ override on XMG Core 15") * commit 9946e39 ("ACPI: resource: skip IRQ override on AMD Zen platforms") Reported-by: [email protected] Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394 Reported-by: [email protected] Link: https://bugzilla.kernel.org/show_bug.cgi?id=217406 Reported-by: [email protected] Link: https://bugzilla.kernel.org/show_bug.cgi?id=217336 Signed-off-by: Mario Limonciello <[email protected]> Tested-by: Werner Sembach <[email protected]> Tested-by: Chuanhong Guo <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 9561de3 commit a9c4a91

File tree

1 file changed

+0
-60
lines changed

1 file changed

+0
-60
lines changed

drivers/acpi/resource.c

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -470,52 +470,6 @@ static const struct dmi_system_id asus_laptop[] = {
470470
{ }
471471
};
472472

473-
static const struct dmi_system_id lenovo_laptop[] = {
474-
{
475-
.ident = "LENOVO IdeaPad Flex 5 14ALC7",
476-
.matches = {
477-
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
478-
DMI_MATCH(DMI_PRODUCT_NAME, "82R9"),
479-
},
480-
},
481-
{
482-
.ident = "LENOVO IdeaPad Flex 5 16ALC7",
483-
.matches = {
484-
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
485-
DMI_MATCH(DMI_PRODUCT_NAME, "82RA"),
486-
},
487-
},
488-
{ }
489-
};
490-
491-
static const struct dmi_system_id tongfang_gm_rg[] = {
492-
{
493-
.ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD",
494-
.matches = {
495-
DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"),
496-
},
497-
},
498-
{ }
499-
};
500-
501-
static const struct dmi_system_id maingear_laptop[] = {
502-
{
503-
.ident = "MAINGEAR Vector Pro 2 15",
504-
.matches = {
505-
DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
506-
DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"),
507-
}
508-
},
509-
{
510-
.ident = "MAINGEAR Vector Pro 2 17",
511-
.matches = {
512-
DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
513-
DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"),
514-
},
515-
},
516-
{ }
517-
};
518-
519473
static const struct dmi_system_id lg_laptop[] = {
520474
{
521475
.ident = "LG Electronics 17U70P",
@@ -539,10 +493,6 @@ struct irq_override_cmp {
539493
static const struct irq_override_cmp override_table[] = {
540494
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
541495
{ asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
542-
{ lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
543-
{ lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
544-
{ tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
545-
{ maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
546496
{ lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
547497
};
548498

@@ -562,16 +512,6 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
562512
return entry->override;
563513
}
564514

565-
#ifdef CONFIG_X86
566-
/*
567-
* IRQ override isn't needed on modern AMD Zen systems and
568-
* this override breaks active low IRQs on AMD Ryzen 6000 and
569-
* newer systems. Skip it.
570-
*/
571-
if (boot_cpu_has(X86_FEATURE_ZEN))
572-
return false;
573-
#endif
574-
575515
return true;
576516
}
577517

0 commit comments

Comments
 (0)