Path: csiph.com!news.freedyn.net!open-news-network.org!aioe.org!bofh.it!news.nic.it!robomod From: Geert Uytterhoeven Newsgroups: linux.kernel Subject: Re: [PATCH/RFC 0/6] PSCI: Fix non-PMIC wake-up if SYSTEM_SUSPEND cuts power Date: Tue, 21 Feb 2017 17:30:02 +0100 Message-ID: References: Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=uNn6LtkAA6y6j6+jM5S0zl3VoDxuTkeukuc+jM13Ets=; b=Tr1fZUKhzV/kO/bN1HeKSMKQPvhkenkXQdk/x6gRrK7kFkRvLs/6dx0EZgYjyD+oxp /MPW/C6gpPy+cBAKm2L/TPLwCGnprW/8iqB0JoTPcDtEyU7H+zLqWO68YXI8HYFuE8MA 0DYaMNgnE5++VIM5nb398qjexJbgLzX6cm7sfDjPUgqKsWO/L7gsYcdCC4TMVvrSpLvn jYJgs3wBrc6a1wEiQVgj8pg2uLmdgNYIv6OZ6ObhxpiL1MJlC81Me+iI+wXWy1XRn6J5 m38KB82bYsAnfQle6NM1G1WV0hGmlwWcTCsw/VDn+oi+iQjJe1pvA5Hw3kZsjvdn2Jpk Tifg== X-Google-Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=uNn6LtkAA6y6j6+jM5S0zl3VoDxuTkeukuc+jM13Ets=; b=Hg2jSGdRExpcQdrrWD59WfjPeyrXopdIh6uj3nsOKuTpdB6C8REnhon8/kV1+vSapu uT4c6gYJakIhCHDamUwJAI7qEtfhlC9Ul4G1aD7lyFCnC48uOwccWnOG0DPFUbqF2WLp Y6Pyz3Ey3KTRwV4JX8kM/o8R6e8SncVhMiJYVMRHwUJJJnuoGuIacoxIg1aMwLvr26FL vFBsvxxcQTItGEqxAgM2XSuPhm1tmOhcGyU8jZLqlX4UOUtEGC2v2vESF+jqPO37H6xw TXJrxY1v7Lhb3ot7qasZbgE9NciC4DZozUbmEzlaHpR3DVEXsswSVferVl0KrRJbFhdj psfA== X-Gm-Message-State: AMke39nJs479eGvZWQVoISgIS2qzny214RlQmCYLIsSQ0c6Up2wiTOpcLtCcNDulwIHxQ9Ub3dF6jjRKrxqp/A== X-Received: by 10.36.206.2 with SMTP id v2mr28570453itg.74.1487694067321; Tue, 21 Feb 2017 08:21:07 -0800 (PST) MIME-Version: 1.0 X-Google-Sender-Auth: naTvQEIz75n08Q6p6lZ6YdK6aN8 Content-Type: text/plain; charset=UTF-8 Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 68 Organization: linux.* mail to news gateway X-Original-Cc: Geert Uytterhoeven , Lorenzo Pieralisi , Mark Rutland , Lina Iyer , John Stultz , Thomas Gleixner , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Rob Herring , Magnus Damm , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Linux-Renesas , Linux PM list , "linux-kernel@vger.kernel.org" X-Original-Date: Tue, 21 Feb 2017 17:21:06 +0100 X-Original-Message-ID: X-Original-References: <1487622809-25127-1-git-send-email-geert+renesas@glider.be> <69ab75a1-2e04-19e2-d1ad-12ca1cfc7625@arm.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1585495 Hi Sudeep, On Tue, Feb 21, 2017 at 11:38 AM, Sudeep Holla wrote: > On 20/02/17 20:33, Geert Uytterhoeven wrote: >> This patch series adds support for using non-PMIC wake-up sources on the >> Renesas R-Car Gen3 (H3 or M3-W) Salvator-X development boards. >> >> 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. > > OK, but I don't see any issue with that. That's exactly how it works on How do you use other wake-up sources, like wake on LAN, UART or GPIO? > ARM Juno platform. The SoC is powered down. Good to hear this is not limited to Renesas platforms, so there's a common problem to solve. >> To allow other wake-up sources, this patch series documents and adds >> support for an "arm,psci-system-suspend-is-power-down" DT property, so > > NACK, you don't need any such properties. If this is true for all PSCI platforms, there's indeed no need for such a property, and drivers/firmware/psci.c should default to this case. >> Linux uses a different suspend method when other wake-up sources (e.g. >> wake on LAN, UART or GPIO) are enabled. Hence the user no longer has to >> manually restrict "mem" suspend to "s2idle" or "shallow" states using: > > Have you explored suspend-to-idle instead ? It looks like thats exactly > what you are doing in this patch set. You also get low latency for free > as it just enters the deepest idle state on all CPUs instead of > hotplugging out all the secondaries. Yes, cfr. "s2idle" above. The user can specify to use "s2idle" manually: $ echo s2idle > /sys/power/mem_sleep # or "shallow" However, how to handle this automatically, e.g. by a distro? On most other platforms, userspace can just do e.g. ethtool -s eth0 wol g to enable wake-on-LAN, and suspend to the deepest supported state using: echo mem > /sys/power/state On systems where PSCI SYSTEM_SUSPEND powers down the SoC, userspace must make sure to configure to use "s2idle" (or "shallow) instead, else the configured wake-up sources won't work. I want Linux to handle this automatically. 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