[PSCI DISCUSS] How to implement standby and suspend-to-ram by PSCI
hongbo.zhang at nxp.com
Fri May 20 01:23:36 PDT 2016
> -----Original Message-----
> From: Oliver Neukum [mailto:oneukum at suse.com]
> Sent: Thursday, May 19, 2016 8:01 PM
> To: Hongbo Zhang <hongbo.zhang at nxp.com>
> Cc: Sudeep Holla <sudeep.holla at arm.com>; linux-pm at vger.kernel.org;
> Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>; Marc Zyngier
> <marc.zyngier at arm.com>; Jan Kiszka <jan.kiszka at siemens.com>; Mark
> Rutland <mark.rutland at arm.com>; Daniel Lezcano
> <daniel.lezcano at linaro.org>; Chen-Yu Tsai <wens at csie.org>; Hans de Goede
> <hdegoede at redhat.com>; Frank Li <Frank.Li at freescale.com>; Peng Fan
> <Peng.Fan at freescale.com>; Tom Warren <twarren at nvidia.com>; Vincent
> Guittot <vincent.guittot at linaro.org>; jszhang at marvell.com; linux-arm-
> kernel at lists.infradead.org
> Subject: Re: [PSCI DISCUSS] How to implement standby and suspend-to-ram by
> On Thu, 2016-05-19 at 10:27 +0000, Hongbo Zhang wrote:
> > > For the pm module of the core kernel a low power state is a sleep
> > > state if even one of three conditions is met:
> > >
> > > a) a device that can be used for input is not a source of wake ups
> > > b) tasks need to be frozen to enter it
> > > c) the display goes off, while it should be on
> > >
> > > Generally runtime PM is better if you can get the same results.
> > > Going to a system sleep state is a necessary evil.
> > As I just explained in previous reply, many devices in our Soc cannot
> > be physically clock or power gated, all the non-wakeup devices can
> > only be gated off at same time by a PM module, so runtime PM doesn't
> > fit for us well.
> You are looking for a contradiction where none is to be found. We have
> PM domains which allow you to model common clocks and gates. You simply
> use the driver core and it will use the common gate when every device is
> idle. Obviously this is also true when the system is suspended. But not
> necessarily only when the system is suspended.
Well, currently our situation is that we've already implemented our sleep/deep sleep mode (mapping to kernel terms standby/suspend to ram), and now while transferring to PSCI we meet such a problem.
If runtime PM is used, many device driver's developers have to be involved to offer their runtime callbacks, a lot of efforts needed in whole system level. But yes, runtime PM has its own advantages, will consider to apply it in the coming SOCs.
Thanks for advice.
Hongbo Zhang @ NXP
More information about the linux-arm-kernel