RE: [PATCH v6] ACPI: skip IRQ override on AMD Zen platforms

From: Limonciello, Mario
Date: Thu Jul 14 2022 - 15:59:32 EST


[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
> >