Re: [PATCH] genirq: Clarify that irq wake state is orthogonal to enable/disable
From: Thomas Gleixner
Date: Wed Feb 05 2020 - 10:53:08 EST
Lina Iyer <ilina@xxxxxxxxxxxxxx> writes:
> On Wed, Feb 05 2020 at 05:27 -0700, Thomas Gleixner wrote:
>>> @@ -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.
>>
> Could an irqchip flag be used to warn users that we may not wakeup from
> suspend/resume if the interrupt if the hardware does not support wakeup
> when disabled ?
There are also magic ways of wakeup for irqchips which do not have wake
setup functions and still wake the system up when the interrupt line is
disabled by the kernel on suspend. :)
Thanks,
tglx