Re: [PATCH] pinctrl: amd: Fix an issue with shutdown when system set to s0ix

From: Gabriel C
Date: Wed Aug 11 2021 - 04:27:02 EST


Am Mo., 9. Aug. 2021 um 22:15 Uhr schrieb Mario Limonciello
<mario.limonciello@xxxxxxx>:
>
> IRQs are getting armed on shutdown causing the system to immediately
> wake back up.
>
> Link: https://lkml.org/lkml/2021/8/2/1114
> Reported-by: nix.or.die@xxxxxxxxxxxxxx
> CC: Raul E Rangel <rrangel@xxxxxxxxxxxx>
> Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> ---
> drivers/pinctrl/pinctrl-amd.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
> index a76be6cc26ee..5b764740b829 100644
> --- a/drivers/pinctrl/pinctrl-amd.c
> +++ b/drivers/pinctrl/pinctrl-amd.c
> @@ -444,8 +444,7 @@ static int amd_gpio_irq_set_wake(struct irq_data *d, unsigned int on)
> unsigned long flags;
> struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
> struct amd_gpio *gpio_dev = gpiochip_get_data(gc);
> - u32 wake_mask = BIT(WAKE_CNTRL_OFF_S0I3) | BIT(WAKE_CNTRL_OFF_S3) |
> - BIT(WAKE_CNTRL_OFF_S4);
> + u32 wake_mask = BIT(WAKE_CNTRL_OFF_S0I3) | BIT(WAKE_CNTRL_OFF_S3);
>
> raw_spin_lock_irqsave(&gpio_dev->lock, flags);
> pin_reg = readl(gpio_dev->base + (d->hwirq)*4);
> --

Is working fine again with this fix.

Best Regards,

Gabriel C