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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux