Re: [PATCH/RFC 0/6] PSCI: Fix non-PMIC wake-up if SYSTEM_SUSPEND cuts power

From: Sudeep Holla
Date: Thu Feb 23 2017 - 10:59:05 EST

Hi Geert,

On 23/02/17 15:34, Geert Uytterhoeven wrote:
> Hi Sudeep,
> On Thu, Feb 23, 2017 at 4:26 PM, Geert Uytterhoeven
> <geert@xxxxxxxxxxxxxx> wrote:
>> On Wed, Feb 22, 2017 at 3:32 PM, Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
>>> On 22/02/17 13:38, Geert Uytterhoeven wrote:
>>>> On Wed, Feb 22, 2017 at 12:03 PM, Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
>>>> 4. Patch 3/6 adds a new "shallow" state, as it allows to save more
>>>> power (the difference may be due to suboptimal cpuidle platform support on R-Car Gen3, though),
>>> Why can't you do that in s2idle mode. Please give me the difference
>>> between your shallow state and s2idle state, not just power numbers
>>> but the actual state of CPUs and the devices in the system.
>> From the Linux side, there's not much difference, except that the secondary
>> CPU cores are disabled. As that is handled by PSCI, the difference may be
>> in the PSCI implementation. I will have to check that...
>> On these SoCs, the individual CPU cores and the SCU/L2 are in separate
>> (nested) power areas. Perhaps these power areas are turned off when
>> disabling the CPU cores, but not when suspending them.
> BTW, I don't care much about the extra state.

Then stop caring about extra power usage too ;). Seriously this is not a
valid argument.

>>>> E.g. on non-PSCI platforms with an Ethernet driver that supports
>>>> Wake-on-LAN, I can do:
>>>> ethtool -s eth0 wol g
>>>> echo mem > /sys/power/state
>>>> and be sure that the system can be woken up by sending a WoL MagicPacket.
>>> Still possible with s2idle if CPU_SUSPEND is correctly implemented by
>>> the platform.
>> Sure. But not automatic, as it needs fiddling with mem_sleep.
> I do care about this, as it affects user experience.

Again when you have both "deep" and "standby" suspend states as per your
patch set, user has to choose one. No escape from that.