public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <swboyd@chromium.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org, Marc Zyngier <maz@kernel.org>,
	Douglas Anderson <dianders@chromium.org>,
	Lina Iyer <ilina@codeaurora.org>,
	Maulik Shah <mkshah@codeaurora.org>
Subject: Re: [PATCH] genirq: Clarify that irq wake state is orthogonal to enable/disable
Date: Wed, 05 Feb 2020 12:37:51 -0800	[thread overview]
Message-ID: <5e3b279f.1c69fb81.383f9.1da3@mx.google.com> (raw)
In-Reply-To: <87zhdxrzhh.fsf@nanos.tec.linutronix.de>

Quoting Thomas Gleixner (2020-02-05 04:27:06)
> Stephen Boyd <swboyd@chromium.org> writes:
> > There's some confusion around if an irq that's disabled with
> > disable_irq() can still wake the system from sleep states such as
> > "suspend to RAM". Let's clarify this in the kernel documentation for
> > irq_set_irq_wake() so that it's clear that an irq can be disabled and
> > still wake the system if it has been marked for wakeup.
> >
> > Cc: Marc Zyngier <maz@kernel.org>
> > Cc: Douglas Anderson <dianders@chromium.org>
> > Cc: Lina Iyer <ilina@codeaurora.org>
> > Cc: Maulik Shah <mkshah@codeaurora.org>
> > Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> > ---
> >  kernel/irq/manage.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> > index 818b2802d3e7..fa8db98c8699 100644
> > --- a/kernel/irq/manage.c
> > +++ b/kernel/irq/manage.c
> > @@ -731,6 +731,11 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on)
> >   *
> >   *   Wakeup mode lets this IRQ wake the system from sleep
> >   *   states like "suspend to RAM".
> > + *
> > + *   Note: irq enable/disable state is completely orthogonal
> > + *   to the enable/disable state of irq wake. An irq can be
> > + *   disabled with disable_irq() and still wake the system as
> > + *   long as the irq has wake enabled.
> 
> It clearly should say that this is really depending on the hardware
> implementation of the particual interrupt chip whether disabled + wake
> mode is supported.
> 

Ok. I'm having trouble parsing this. Is there a consistent wording that
can be put here?

The API seems fraught with peril if an implementation of an irqchip is
allowed to ignore wakeup on interrupts that are marked for wakeup while
the irq is disabled. Driver writers won't be able to write drivers that
work across implementations if the irq can't wake the system reliably.


  parent reply	other threads:[~2020-02-05 20:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-05  6:09 [PATCH] genirq: Clarify that irq wake state is orthogonal to enable/disable Stephen Boyd
2020-02-05 12:27 ` Thomas Gleixner
2020-02-05 15:34   ` Lina Iyer
2020-02-05 15:52     ` Thomas Gleixner
2020-02-05 20:37   ` Stephen Boyd [this message]
2020-02-06  9:42     ` Thomas Gleixner

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=5e3b279f.1c69fb81.383f9.1da3@mx.google.com \
    --to=swboyd@chromium.org \
    --cc=dianders@chromium.org \
    --cc=ilina@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mkshah@codeaurora.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox