From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932261AbdBUS25 (ORCPT ); Tue, 21 Feb 2017 13:28:57 -0500 Received: from foss.arm.com ([217.140.101.70]:36242 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753328AbdBUS2L (ORCPT ); Tue, 21 Feb 2017 13:28:11 -0500 Subject: Re: [PATCH/RFC 0/6] 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> <69ab75a1-2e04-19e2-d1ad-12ca1cfc7625@arm.com> <445b2f49-5d15-30af-a431-1c4edcd049a4@arm.com> <81df65a9-d2f1-26df-a977-5265feba25a3@arm.com> Cc: Sudeep Holla , 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" From: Sudeep Holla Organization: ARM Message-ID: <94167d3a-e005-3af0-d290-a1086684d570@arm.com> Date: Tue, 21 Feb 2017 18:27:59 +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: <81df65a9-d2f1-26df-a977-5265feba25a3@arm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 21/02/17 17:51, Sudeep Holla wrote: > > > On 21/02/17 17:34, Geert Uytterhoeven wrote: [...] >> >> The SoC can wake-up. It's just not guaranteed that it can wake-up using >> the wakeup-source configured from Linux. Which wakeup-sources are available >> depends on the actual PSCI implementation. It's not specified by the PSCI >> specification. >> >>> Just botching whatever shallow state you can enter on a particular SoC >>> into standard "mem" state sounds *horrible* to me. >> >> That's more or less what /sys/power/mem_sleep does, though. >> > > OK, I will go through that in detail. > OK, I went through the patch and the main intention is was added. So I will begin by summarizing my understanding: A new suspend interface(/sys/power/mem_sleep) is added to allow the "mem" string in /sys/power/state to represent multiple things that can be selected. Before: A. echo freeze > /sys/power/state ---> Enters s2idle B. echo mem > /sys/power/state ---> Enters s2r(a.k.a now deep mem sleep) After: 1. echo freeze > /sys/power/state ---> Enters s2idle still same 2. echo s2idle > /sys/power/mem_sleep echo mem > /sys/power/state ---> Also enter s2idle 3. echo deep > /sys/power/mem_sleep echo mem > /sys/power/state ---> Also enter s2r(same as [B] above) Please note I have carefully dropped standby/shallow as we will not support that state on ARM64 platforms(refer previous discussions for the same) Now IIUC, you need 2 above. So, since this new interface allow mem to mean "s2idle", we need to fix the core to register default suspend_ops to achieve what you need. And since I now better understand you problem, you get extra NACK for this series ;) -- Regards, Sudeep