public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: linux-pm@lists.linux-foundation.org
Cc: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>,
	Ben Dooks <ben@simtec.co.uk>,
	linux-arm@lists.arm.linux.org.uk,
	Dirk Behme <dirk.behme@de.bosch.com>, Pavel Machek <pavel@ucw.cz>,
	Johannes Berg <johannes@sipsolutions.net>,
	Nicolas Pitre <nico@cam.org>
Subject: Re: [PATCH] implement pm_ops.valid for everybody
Date: Tue, 20 Mar 2007 16:44:58 -0700	[thread overview]
Message-ID: <200703201644.59046.david-b@pacbell.net> (raw)
In-Reply-To: <1174388812.3770.29.camel@johannes.berg>

On Tuesday 20 March 2007 4:06 am, Johannes Berg wrote:
> Almost all users of pm_ops only support mem sleep, don't check in .valid
> and don't reject any others in .prepare so users can be confused if they
> check /sys/power/state, especially when new states are ever added.

By the way ... as a note to implementors, it should be trivial to
implement a basic "standby" state that suspends drivers, disables
many clocks, and probably puts DRAM into self-refresh mode, but
uses only the wait-for-interrupt CPU lowpower mode.

A key difference between that and STR would then be that STR does
extra magic, like switching the CPU to a slow clock and then turning
off all the clocks that drive the chip "fast".  Also, that because
it disables so many clocks, the SOC probably can't support as many
types of wakeup events in STR.


I mention this because implementing such a "standby" mode means
that all the platform drivers can start to make their suspend()
and resume() code behave, and userspace tools can be put into
place, before all that tricky/painful STR work gets done.  Also,
because driver wakeup events in such a "standby" mode tend to be
a lot more powerful ... pretty much how a driver using runtime
PM models would work (instead of user-visible "goto sleep").

That is, support for such a "standby" mode is the easiest way
to seed all the PM work on a given platform.  Even though it
doesn't save as much power, it's a useful step towards deeper
power saving modes.

And thus endeth the lesson for today.  I look forward to seeing
a lot more platforms supporting at least minimal PM, now.  ;)

- Dave



 

  parent reply	other threads:[~2007-03-20 23:44 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070320015821.782406000@sipsolutions.net>
2007-03-20  1:58 ` [PATCH] rework pm_ops pm_disk_modes foo Johannes Berg
2007-03-20  8:46   ` [PATCH v2] " Johannes Berg
2007-03-20  9:31     ` Pavel Machek
2007-03-20  9:36       ` Johannes Berg
2007-03-20  9:43         ` Pavel Machek
2007-03-20  9:46           ` Johannes Berg
2007-03-20 10:17           ` [PATCH] add firmware disk state and clean up Johannes Berg
2007-03-20 10:25             ` Pavel Machek
2007-03-20 10:45               ` Johannes Berg
2007-03-20 11:02               ` [PATCH] remove firmware disk mode Johannes Berg
2007-03-20 13:15                 ` Pavel Machek
2007-03-20 11:06               ` [PATCH] implement pm_ops.valid for everybody Johannes Berg
2007-03-20 13:16                 ` Pavel Machek
2007-03-20 23:44                 ` David Brownell [this message]
2007-03-20 22:49                   ` Pavel Machek
2007-03-21 21:01                   ` Guennadi Liakhovetski
2007-03-21 22:07                     ` David Brownell
2007-03-21 22:36                       ` Guennadi Liakhovetski
2007-03-21 22:57                         ` Pavel Machek
2007-03-21 23:25                           ` David Brownell
2007-03-21 23:31                             ` Pavel Machek
2007-03-22 10:03                             ` Johannes Berg
2007-03-22 17:10                               ` David Brownell
2007-03-22 17:18                                 ` Johannes Berg
2007-03-22 18:13                                   ` David Brownell
2007-03-22 18:18                                     ` Johannes Berg
2007-03-21 23:32                           ` Rafael J. Wysocki
2007-03-20 22:59             ` [PATCH] add firmware disk state and clean up David Brownell
2007-03-20 22:09               ` Pavel Machek
2007-03-20 23:31                 ` David Brownell
2007-03-20 11:48   ` [PATCH] rework pm_ops pm_disk_modes foo Johannes Berg
2007-03-22 13:44 [PATCH] implement pm_ops.valid for everybody Scott E. Preece
2007-03-22 18:29 ` David Brownell
2007-03-22 19:26   ` Tony Lindgren
2007-03-22 21:16     ` David Brownell
2007-03-23 13:15       ` tony
2007-03-23 18:25         ` David Brownell
2007-03-22 21:37     ` Rafael J. Wysocki
2007-03-22 21:27   ` Rafael J. Wysocki
2007-03-22 21:43     ` David Brownell
2007-03-22 21:56       ` Guennadi Liakhovetski
2007-03-22 22:42         ` David Brownell
2007-03-22 22:10       ` Rafael J. Wysocki
2007-03-22 22:56         ` David Brownell
2007-03-22 23:21           ` Rafael J. Wysocki
2007-03-22 23:55             ` David Brownell
2007-03-23  1:14               ` Matthew Locke
2007-03-23 13:17                 ` tony
2007-03-23 13:35                   ` Igor Stoppa
2007-03-23 14:52                     ` tony
2007-03-23 15:17                       ` Igor Stoppa
2007-03-23 18:51                         ` Matthew Locke
2007-03-23 19:19                           ` Igor Stoppa
2007-03-23 18:29                 ` David Brownell
2007-03-23 19:21                   ` Matthew Locke
2007-03-23 20:11                     ` David Brownell
2007-03-23  6:46               ` Guennadi Liakhovetski
2007-03-23 16:15                 ` David Brownell
2007-03-23 21:08                   ` Guennadi Liakhovetski
2007-03-24  0:52                     ` David Brownell
2007-03-23 13:43               ` Rafael J. Wysocki
2007-03-23 17:57                 ` David Brownell
2007-03-23 20:39                   ` Rafael J. Wysocki
2007-03-24  0:01                     ` Pavel Machek
2007-03-24  0:54                       ` David Brownell
2007-03-24 20:01                       ` Rafael J. Wysocki
2007-03-24  0:41                     ` Dmitry Krivoschekov
2007-03-24 20:49                     ` David Brownell
2007-03-24 21:01                       ` Johannes Berg
2007-03-25  1:02                         ` David Brownell
2007-03-24 21:36                       ` Rafael J. Wysocki
2007-03-24 22:19                         ` David Brownell
2007-03-25 10:26                       ` Dmitry Krivoschekov
2007-03-25 15:20                         ` David Brownell
2007-03-25 16:23                           ` Jim Gettys
2007-03-25 16:55                             ` David Brownell
2007-03-23 18:18                 ` Matthew Locke
2007-03-24  3:08                 ` Paul Mackerras
2007-03-24 20:04                   ` Rafael J. Wysocki
2007-03-22 23:29           ` Guennadi Liakhovetski
2007-03-22 23:44             ` David Brownell
2007-03-22 23:45             ` Guennadi Liakhovetski
2007-03-22 21:33 ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200703201644.59046.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=alexey.y.starikovskiy@intel.com \
    --cc=ben@simtec.co.uk \
    --cc=dirk.behme@de.bosch.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-arm@lists.arm.linux.org.uk \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nico@cam.org \
    --cc=pavel@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox