RE: Broken GPIO IRQ mappings in 5.18-rc2

From: Limonciello, Mario
Date: Thu Apr 14 2022 - 18:12:42 EST


[Public]



> -----Original Message-----
> From: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Sent: Thursday, April 14, 2022 16:58
> To: Limonciello, Mario <Mario.Limonciello@xxxxxxx>; Marc Zyngier
> <maz@xxxxxxxxxx>
> Cc: Shreeya Patel <shreeya.patel@xxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx;
> Andy Shevchenko <andy.shevchenko@xxxxxxxxx>; Bartosz Golaszewski
> <brgl@xxxxxxxx>; open list:GPIO SUBSYSTEM <linux-gpio@xxxxxxxxxxxxxxx>;
> open list <linux-kernel@xxxxxxxxxxxxxxx>; Gong, Richard
> <Richard.Gong@xxxxxxx>; Natikar, Basavaraj
> <Basavaraj.Natikar@xxxxxxx>
> Subject: Re: Broken GPIO IRQ mappings in 5.18-rc2
>
> On Thu, Apr 14, 2022 at 3:21 AM Limonciello, Mario
> <Mario.Limonciello@xxxxxxx> wrote:
>
> > [Public]
> >
> > Hi,
> >
> > I noticed on a variety of machines that power button wasn't working
> anymore starting with 5.18-rc2.
> > In digging deeper, I notice that a new error is introduced as well during
> bootup:
> >
> > [ 0.688318] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0000 to
> IRQ, err -517
> > [ 0.688337] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x002C to
> IRQ, err -517
> > [ 0.688348] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003D to
> IRQ, err -517
> > [ 0.688359] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003E to
> IRQ, err -517
> > [ 0.688369] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003A to
> IRQ, err -517
> > [ 0.688379] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003B to
> IRQ, err -517
> > [ 0.688389] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0002 to
> IRQ, err -517
> > [ 0.688399] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0011 to
> IRQ, err -517
> > [ 0.688410] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0012 to
> IRQ, err -517
> > [ 0.688420] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0007 to
> IRQ, err -517
> >
> > It looks like IRQs aren't getting assigned to the GPIO pins anymore and
> instead showing this deferred probing message in 5.18-rc2.
> > I bisected and confirmed it's caused by
> > commit 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320 ("gpio: Restrict usage
> of GPIO chip irq members before initialization")
> >
> > I don't see that probing ever gets a chance to run again though as it just
> shows the dev_err and returns AE_OK for the
> > function that walks _AEI (acpi_gpiochip_alloc_event).
> >
> > FYI - I'm CC'ing stable because this commit went to stable too.
>
> Paging Marc Zyngier as IRQ maintainer. He might have suggestions.
>
> Torvalds already pointedly complained about the semantics in this patch,
> should it simply be reverted?
>
> Yours,
> Linus Walleij

You might not have seen it yet; but I did look at little bit more after sending this
and came up with a solution that will let you keep it.
https://lore.kernel.org/linux-gpio/20220414025705.598-1-mario.limonciello@xxxxxxx/

Thanks,