This seems to work as well for the ASUS TUF Gaming A16 Advantage Edition FA617XT; both Linux 6.3 and 6.4. Disabling the ITE5570 EC [I/O] is required for a "truly" functional experience, of course. On Thu, Jun 1, 2023 at 5:12 PM Mario Limonciello <mario.limonciello@xxxxxxx> wrote: > > commit 9946e39fe8d0 ("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 17bb7046e7ce ("ACPI: resource: Do IRQ override on all TongFang > GMxRGxx") > * commit f3cb9b740869 ("ACPI: resource: do IRQ override on Lenovo 14ALC7") > * commit bfcdf58380b1 ("ACPI: resource: do IRQ override on LENOVO IdeaPad") > * commit 7592b79ba4a9 ("ACPI: resource: do IRQ override on XMG Core 15") > * commit 9946e39fe8d0 ("ACPI: resource: skip IRQ override on AMD Zen > platforms") > > Cc: ofenfisch@xxxxxxxxxxxxxx > Cc: wse@xxxxxxxxxxxxxxxxxxx > Cc: adam.niederer@xxxxxxxxx > Cc: adrian@xxxxxxxxx > Cc: jirislaby@xxxxxxxxxx > Cc: Renjith.Pananchikkal@xxxxxxx > Cc: anson.tsao@xxxxxxx > Cc: Richard.Gong@xxxxxxx > Cc: Chuanhong Guo <gch981213@xxxxxxxxx> > Reported-by: evilsnoo@xxxxxxxxx > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217394 > Reported-by: ruinairas1992@xxxxxxxxx > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217406 > Reported-by: nmschulte@xxxxxxxxx > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217336 > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > --- > v2->v3: > * Adjust to drop heuristics entirely > * Drop tested tags > * Add more links and people to Cc > * Drop Fixes tag as this got a lot more risky > v1->v2: > * Rebase on 71a485624c4c ("ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P") > * Pick up tag > > Rafael, > Please hold off on picking this up until the majority of those on CC > have tested it on hardware they have and reported results. > > Everyone else, > Please test. If you have problems with this applied, please share > an acpidump and dmesg either on a bug or to me privately. > --- > drivers/acpi/resource.c | 60 ----------------------------------------- > 1 file changed, 60 deletions(-) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index 0800a9d77558..1dd8d5aebf67 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -470,52 +470,6 @@ static const struct dmi_system_id asus_laptop[] = { > { } > }; > > -static const struct dmi_system_id lenovo_laptop[] = { > - { > - .ident = "LENOVO IdeaPad Flex 5 14ALC7", > - .matches = { > - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > - DMI_MATCH(DMI_PRODUCT_NAME, "82R9"), > - }, > - }, > - { > - .ident = "LENOVO IdeaPad Flex 5 16ALC7", > - .matches = { > - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > - DMI_MATCH(DMI_PRODUCT_NAME, "82RA"), > - }, > - }, > - { } > -}; > - > -static const struct dmi_system_id tongfang_gm_rg[] = { > - { > - .ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD", > - .matches = { > - DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"), > - }, > - }, > - { } > -}; > - > -static const struct dmi_system_id maingear_laptop[] = { > - { > - .ident = "MAINGEAR Vector Pro 2 15", > - .matches = { > - DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"), > - DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"), > - } > - }, > - { > - .ident = "MAINGEAR Vector Pro 2 17", > - .matches = { > - DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"), > - DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"), > - }, > - }, > - { } > -}; > - > static const struct dmi_system_id lg_laptop[] = { > { > .ident = "LG Electronics 17U70P", > @@ -539,10 +493,6 @@ struct irq_override_cmp { > static const struct irq_override_cmp override_table[] = { > { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > - { lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true }, > - { lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true }, > - { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > - { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > }; > > @@ -562,16 +512,6 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, > return entry->override; > } > > -#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; > -#endif > - > return true; > } > > -- > 2.34.1 >