From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751961AbdBUKuV (ORCPT ); Tue, 21 Feb 2017 05:50:21 -0500 Received: from foss.arm.com ([217.140.101.70]:58426 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751596AbdBUKuO (ORCPT ); Tue, 21 Feb 2017 05:50:14 -0500 Subject: Re: [PATCH/RFC 4/6] drivers: firmware: psci: Fix non-PMIC wake-up if SYSTEM_SUSPEND cuts power To: Geert Uytterhoeven References: <1487622809-25127-1-git-send-email-geert+renesas@glider.be> <1487622809-25127-5-git-send-email-geert+renesas@glider.be> Cc: Lorenzo Pieralisi , Mark Rutland , Lina Iyer , John Stultz , Thomas Gleixner , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Rob Herring , Sudeep Holla , Magnus Damm , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org From: Sudeep Holla Organization: ARM Message-ID: Date: Tue, 21 Feb 2017 10:50:03 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <1487622809-25127-5-git-send-email-geert+renesas@glider.be> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 20/02/17 20:33, Geert Uytterhoeven wrote: > Nothing in the PSCI specification requires the SoC to remain powered and > to support wake-up sources when suspended using SYSTEM_SUSPEND. > If the firmware implements the PSCI SYSTEM_SUSPEND operation by cutting > power to the SoC, the only possibly wake-up sources are thus the ones > connected to the PMIC. > > Document and add support for an "arm,psci-system-suspend-is-power-down" > DT property, so Linux uses a different suspend method when other wake-up > sources (e.g. wake on LAN, UART or GPIO) are enabled. > > Signed-off-by: Geert Uytterhoeven > --- > Documentation/devicetree/bindings/arm/psci.txt | 11 +++++++++++ > drivers/firmware/psci.c | 13 ++++++++++--- > 2 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/psci.txt b/Documentation/devicetree/bindings/arm/psci.txt > index a2c4f1d524929bb7..16e390ecb7531028 100644 > --- a/Documentation/devicetree/bindings/arm/psci.txt > +++ b/Documentation/devicetree/bindings/arm/psci.txt > @@ -68,6 +68,17 @@ state nodes, as per bindings in [1]) must specify the following properties: > Definition: power_state parameter to pass to the PSCI > suspend call. > > + - arm,psci-system-suspend-is-power-down > + Nothing in the PSCI specification requires the SoC to remain > + powered and to support wake-up sources when suspended using > + SYSTEM_SUSPEND. Again, yes SoC can be powered down but you give no reasons why this is useful other than help you to hack around to implement suspend_ops. As suggested please try using freeze_ops. After commit a94e502c22b6 ("cpuidle: dt: assign ->enter_freeze to same as ->enter callback function"), you can enter suspend-to-idle(a.k.a freeze state) on all platforms using ARM DT cpuidle driver. -- Regards, Sudeep From mboxrd@z Thu Jan 1 00:00:00 1970 From: sudeep.holla@arm.com (Sudeep Holla) Date: Tue, 21 Feb 2017 10:50:03 +0000 Subject: [PATCH/RFC 4/6] drivers: firmware: psci: Fix non-PMIC wake-up if SYSTEM_SUSPEND cuts power In-Reply-To: <1487622809-25127-5-git-send-email-geert+renesas@glider.be> References: <1487622809-25127-1-git-send-email-geert+renesas@glider.be> <1487622809-25127-5-git-send-email-geert+renesas@glider.be> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 20/02/17 20:33, Geert Uytterhoeven wrote: > Nothing in the PSCI specification requires the SoC to remain powered and > to support wake-up sources when suspended using SYSTEM_SUSPEND. > If the firmware implements the PSCI SYSTEM_SUSPEND operation by cutting > power to the SoC, the only possibly wake-up sources are thus the ones > connected to the PMIC. > > Document and add support for an "arm,psci-system-suspend-is-power-down" > DT property, so Linux uses a different suspend method when other wake-up > sources (e.g. wake on LAN, UART or GPIO) are enabled. > > Signed-off-by: Geert Uytterhoeven > --- > Documentation/devicetree/bindings/arm/psci.txt | 11 +++++++++++ > drivers/firmware/psci.c | 13 ++++++++++--- > 2 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/psci.txt b/Documentation/devicetree/bindings/arm/psci.txt > index a2c4f1d524929bb7..16e390ecb7531028 100644 > --- a/Documentation/devicetree/bindings/arm/psci.txt > +++ b/Documentation/devicetree/bindings/arm/psci.txt > @@ -68,6 +68,17 @@ state nodes, as per bindings in [1]) must specify the following properties: > Definition: power_state parameter to pass to the PSCI > suspend call. > > + - arm,psci-system-suspend-is-power-down > + Nothing in the PSCI specification requires the SoC to remain > + powered and to support wake-up sources when suspended using > + SYSTEM_SUSPEND. Again, yes SoC can be powered down but you give no reasons why this is useful other than help you to hack around to implement suspend_ops. As suggested please try using freeze_ops. After commit a94e502c22b6 ("cpuidle: dt: assign ->enter_freeze to same as ->enter callback function"), you can enter suspend-to-idle(a.k.a freeze state) on all platforms using ARM DT cpuidle driver. -- Regards, Sudeep