Re: [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent

From: Sudeep Holla
Date: Tue Sep 08 2015 - 13:26:40 EST




On 08/09/15 18:00, Geert Uytterhoeven wrote:
Hi Thomas, Jason, Marc,

The renesas-intc-irqpin and renesas-irqc interrupt controllers are
cascaded to GICs, but their drivers don't propagate wake-up settings to
their parent interrupt controllers.

Since commit aec89ef72ba6c944 ("irqchip/gic: Enable SKIP_SET_WAKE and
MASK_ON_SUSPEND"), the GIC driver masks interrupts during suspend, and
wake-up through gpio-keys now fails on r8a73a4/ape6evm,
r8a7740/armadillo and sh73a0/kzm9g.

Fix this by propagating wake-up settings to the parent interrupt
controllers. There's no need to handle irq_set_irq_wake() failures, as
the renesas-intc-irqpin and renesas-irqc interrupt controllers are
always cascaded to GICs, and the GIC driver always sets SKIP_SET_WAKE
since the aforementioned commit.


Ah so, we have the first culprit. I expect many more to come, as I had
seen many drivers didn't bother to enable wakeup source correctly.

These fixes are meant for v4.3, as commit aec89ef72ba6c944 is already
upstream.


Looks fine to me, so for the series:
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>

Note that masking GIC interrupts during suspend has another side effect:
before, if no_console_suspend was enabled, the system woke up on console
activity. This is no longer the case, but that's not a bug.


It's very much similar to IRQF_NO_SUSPEND flag which keeps the IRQ
enabled but doesn't guarantee wakeup. no_console_suspend doesn't suspend
console but doesn't mean it can wake up. I expected this to come up :)
IIUC, it was added to help in debugging the suspend path.

Regards,
Sudeep
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/