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: [email protected]
CC: Raul E Rangel <[email protected]>
Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
Signed-off-by: Mario Limonciello <[email protected]>
---
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);
--
2.25.1
Am Mo., 9. Aug. 2021 um 22:15 Uhr schrieb Mario Limonciello
<[email protected]>:
>
> 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: [email protected]
> CC: Raul E Rangel <[email protected]>
> Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
> Signed-off-by: Mario Limonciello <[email protected]>
> ---
> 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
Am Mi., 11. Aug. 2021 um 10:26 Uhr schrieb Gabriel C
<[email protected]>:
>
> Am Mo., 9. Aug. 2021 um 22:15 Uhr schrieb Mario Limonciello
> <[email protected]>:
> >
> > 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: [email protected]
> > CC: Raul E Rangel <[email protected]>
> > Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
> > Signed-off-by: Mario Limonciello <[email protected]>
> > ---
> > 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.
>
Ofc feel free to add:
Tested-by: Gabriel Craciunescu <[email protected]>
Best Regards
On 8/10/2021 1:45 AM, Mario Limonciello wrote:
> 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: [email protected]
> CC: Raul E Rangel <[email protected]>
> Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
> Signed-off-by: Mario Limonciello <[email protected]>
> ---
> 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);
>
Looks good to me.
Acked-by: Shyam Sundar S K <[email protected]>
On Mon, Aug 9, 2021 at 10:15 PM Mario Limonciello
<[email protected]> wrote:
> 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: [email protected]
> CC: Raul E Rangel <[email protected]>
> Fixes: d62bd5ce12d7 ("pinctrl: amd: Implement irq_set_wake")
> Signed-off-by: Mario Limonciello <[email protected]>
Patch is applied.
Yours,
Linus Walleij