Skip to content

Commit 9728ac2

Browse files
jwrdegoederafaeljw
authored andcommitted
ACPI: resource: Always use MADT override IRQ settings for all legacy non i8042 IRQs
All the cases, were the DSDT IRQ settings should be used instead of the MADT override, are for IRQ 1 or 12, the PS/2 kbd resp. mouse IRQs. Simplify things by always honering the override for other legacy IRQs (for non DMI quirked cases). This allows removing the DMI quirks to honor the override for some non i8042 IRQs on some AMD ZEN based Lenovo models. Fixes: a9c4a91 ("ACPI: resource: Remove "Zen" specific match and quirks") Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 2d331a6 commit 9728ac2

File tree

1 file changed

+8
-20
lines changed

1 file changed

+8
-20
lines changed

drivers/acpi/resource.c

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -470,24 +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-
491473
static const struct dmi_system_id tongfang_gm_rg[] = {
492474
{
493475
.ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD",
@@ -539,8 +521,6 @@ struct irq_override_cmp {
539521
static const struct irq_override_cmp override_table[] = {
540522
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
541523
{ 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 },
544524
{ tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
545525
{ maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
546526
{ lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
@@ -563,6 +543,14 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
563543
}
564544

565545
#ifdef CONFIG_X86
546+
/*
547+
* Always use the MADT override info, except for the i8042 PS/2 ctrl
548+
* IRQs (1 and 12). For these the DSDT IRQ settings should sometimes
549+
* be used otherwise PS/2 keyboards / mice will not work.
550+
*/
551+
if (gsi != 1 && gsi != 12)
552+
return true;
553+
566554
/*
567555
* IRQ override isn't needed on modern AMD Zen systems and
568556
* this override breaks active low IRQs on AMD Ryzen 6000 and

0 commit comments

Comments
 (0)