Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1221002 > unrolled thread

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

Started byGeert Uytterhoeven <geert+renesas@glider.be>
First post2015-09-08 19:10 +0200
Last post2015-09-08 19:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent Geert Uytterhoeven <geert+renesas@glider.be> - 2015-09-08 19:10 +0200
    Re: [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to  parent Sudeep Holla <sudeep.holla@arm.com> - 2015-09-08 19:30 +0200

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

FromGeert Uytterhoeven <geert+renesas@glider.be>
Date2015-09-08 19:10 +0200
Subject[PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent
Message-ID<q6uz7-26l-3@gated-at.bofh.it>
	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.

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

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.

Thanks!

Geert Uytterhoeven (2):
  irqchip: renesas-intc-irqpin: Propagate wake-up settings to parent
  irqchip: renesas-irqc: Propagate wake-up settings to parent

 drivers/irqchip/irq-renesas-intc-irqpin.c | 3 +++
 drivers/irqchip/irq-renesas-irqc.c        | 3 +++
 2 files changed, 6 insertions(+)

-- 
1.9.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


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

FromSudeep Holla <sudeep.holla@arm.com>
Date2015-09-08 19:30 +0200
SubjectRe: [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent
Message-ID<q6uSv-2sW-15@gated-at.bofh.it>
In reply to#1221002

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@arm.com>

> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web