All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Igor Velkov" <iav@iav.lv>
Cc: linux-amlogic@lists.infradead.org, neil.armstrong@linaro.org
Subject: Re: [PATCH] irqchip/meson-gpio: Allow the GPIO interrupts to wake the system
Date: Wed, 07 Oct 2026 22:05:46 +0000	[thread overview]
Message-ID: <sashiko-outbox-163403@kernel.org> (raw)
In-Reply-To: <20261008-meson-gpio-wake-v1-1-b0af1598d469@iav.lv>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] irqchip/meson-gpio: missing IRQCHIP_MASK_ON_SUSPEND causes spurious wakeups
--

commit 5ce5a9f356d882f5bc4432c0009be7fd0adbb0fd
Author: Igor Velkov <iav@iav.lv>

irqchip/meson-gpio: Allow the GPIO interrupts to wake the system

This commit adds the IRQCHIP_SKIP_SET_WAKE flag to meson_gpio_irq_chip.
This allows enable_irq_wake() to succeed and GPIO interrupts to wake the
system from suspend.

> diff --git a/drivers/irqchip/irq-meson-gpio.c b/drivers/irqchip/irq-meson-gpio.c
> index 91a9c337fe6d9..e0329ef5e4a21 100644
> --- a/drivers/irqchip/irq-meson-gpio.c
> +++ b/drivers/irqchip/irq-meson-gpio.c
> @@ -538,7 +538,7 @@ static struct irq_chip meson_gpio_irq_chip = {
>  #ifdef CONFIG_SMP
>  	.irq_set_affinity	= irq_chip_set_affinity_parent,
>  #endif
> -	.flags			= IRQCHIP_SET_TYPE_MASKED,
> +	.flags			= IRQCHIP_SET_TYPE_MASKED | IRQCHIP_SKIP_SET_WAKE,

[Severity: Medium]
Since this patch modifies meson_gpio_irq_chip.flags to fix suspend wakeup
behavior, should it also add IRQCHIP_MASK_ON_SUSPEND to properly mask
non-wakeup interrupts at the GIC level?

During system suspend, suspend_device_irq() checks the top-level irqchip's
flags for IRQCHIP_MASK_ON_SUSPEND. Because meson_gpio_irq_chip lacks this
flag, non-wakeup interrupts are only lazily disabled but not explicitly
masked at the hardware level.

Since meson_gpio_irq_chip delegates masking directly to its GIC parent, and
the GIC requires explicit masking to prevent wakeups, will the unmasked
non-wakeup interrupts remain enabled in the GIC and spuriously wake the CPU
from suspend?

>  };
>  
>  static int meson_gpio_irq_domain_translate(struct irq_domain *domain,

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261008-meson-gpio-wake-v1-1-b0af1598d469@iav.lv?part=1

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  reply	other threads:[~2026-10-07 22:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-07 21:55 [PATCH] irqchip/meson-gpio: Allow the GPIO interrupts to wake the system Igor Velkov via B4 Relay
2026-10-07 21:55 ` Igor Velkov via B4 Relay
2026-10-07 22:05 ` sashiko-bot [this message]
2026-10-08  8:36 ` Neil Armstrong
2026-10-08  8:36   ` Neil Armstrong
  -- strict thread matches above, loose matches on Subject: below --
2026-10-07 21:55 Igor Velkov via B4 Relay
2026-10-07 21:55 ` Igor Velkov via B4 Relay
2026-10-07 22:04 ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sashiko-outbox-163403@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=iav@iav.lv \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=neil.armstrong@linaro.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.