From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudeep Holla Date: Tue, 08 Sep 2015 17:26:31 +0000 Subject: Re: [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent Message-Id: <55EF1A47.2040904@arm.com> List-Id: References: <1441731636-17610-1-git-send-email-geert+renesas@glider.be> In-Reply-To: <1441731636-17610-1-git-send-email-geert+renesas@glider.be> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Geert Uytterhoeven , Thomas Gleixner , Jason Cooper , Marc Zyngier Cc: Sudeep Holla , Magnus Damm , "linux-sh@vger.kernel.org" , "linux-kernel@vger.kernel.org" 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 > 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755021AbbIHR0h (ORCPT ); Tue, 8 Sep 2015 13:26:37 -0400 Received: from foss.arm.com ([217.140.101.70]:55637 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751864AbbIHR0e (ORCPT ); Tue, 8 Sep 2015 13:26:34 -0400 Subject: Re: [PATCH 0/2] irqchip: renesas: Propagate wake-up settings to parent To: Geert Uytterhoeven , Thomas Gleixner , Jason Cooper , Marc Zyngier References: <1441731636-17610-1-git-send-email-geert+renesas@glider.be> Cc: Sudeep Holla , Magnus Damm , "linux-sh@vger.kernel.org" , "linux-kernel@vger.kernel.org" From: Sudeep Holla Message-ID: <55EF1A47.2040904@arm.com> Date: Tue, 8 Sep 2015 18:26:31 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <1441731636-17610-1-git-send-email-geert+renesas@glider.be> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > 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