[Public] > -----Original Message----- > From: Rafael J. Wysocki <rafael@xxxxxxxxxx> > Sent: Thursday, July 14, 2022 13:36 > To: Chuanhong Guo <gch981213@xxxxxxxxx> > Cc: ACPI Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>; Tighe Donnelly > <tighe.donnelly@xxxxxxxxxxxxxx>; Limonciello, Mario > <Mario.Limonciello@xxxxxxx>; Rafael J. Wysocki <rafael@xxxxxxxxxx>; Len > Brown <lenb@xxxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx> > Subject: Re: [PATCH v6] ACPI: skip IRQ override on AMD Zen platforms > > On Tue, Jul 12, 2022 at 4:01 AM Chuanhong Guo <gch981213@xxxxxxxxx> > wrote: > > > > IRQ override isn't needed on modern AMD Zen systems. > > There's an active low keyboard IRQ on AMD Ryzen 6000 and it will stay > > this way on newer platforms. This IRQ override breaks keyboards for > > almost all Ryzen 6000 laptops currently on the market. > > > > Skip this IRQ override for all AMD Zen platforms because this IRQ > > override is supposed to be a workaround for buggy ACPI DSDT and we can't > > have a long list of all future AMD CPUs/Laptops in the kernel code. > > If a device with buggy ACPI DSDT shows up, a separated list containing > > just them should be created. > > > > Suggested-by: Mario Limonciello <mario.limonciello@xxxxxxx> > > Signed-off-by: Chuanhong Guo <gch981213@xxxxxxxxx> > > I need an ACK from Mario here. I believe this is fine, but give me a few days to check with others. This isn't 5.19 material, and so I think an ack next week should be fine for it. > > > --- > > Change sice v5: reworked > > > > drivers/acpi/resource.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > > index c2d494784425..510cdec375c4 100644 > > --- a/drivers/acpi/resource.c > > +++ b/drivers/acpi/resource.c > > @@ -416,6 +416,16 @@ static bool acpi_dev_irq_override(u32 gsi, u8 > triggering, u8 polarity, > > { > > int i; > > > > +#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 > > + > > for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { > > const struct irq_override_cmp *entry = &skip_override_table[i]; > > > > -- > > 2.36.1 > >