public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: tony@atomide.com
To: David Brownell <david-b@pacbell.net>
Cc: alexey.y.starikovskiy@intel.com, ben@simtec.co.uk,
	linux-arm@lists.arm.linux.org.uk, dirk.behme@de.bosch.com,
	pavel@ucw.cz, johannes@sipsolutions.net, nico@cam.org,
	linux-pm@lists.linux-foundation.org, g.liakhovetski@gmx.de
Subject: Re: [PATCH] implement pm_ops.valid for everybody
Date: Fri, 23 Mar 2007 09:15:17 -0400	[thread overview]
Message-ID: <20070323131515.GA12226@atomide.com> (raw)
In-Reply-To: <200703221416.27103.david-b@pacbell.net>

* David Brownell <david-b@pacbell.net> [070322 17:29]:
> On Thursday 22 March 2007 12:26 pm, Tony Lindgren wrote:
> > 
> > In addition to offering wakeup events for individual devices,
> > the device suspend states should be something like retention
> > and suspend, where:
> 
> Maybe ... worth discussing.  Most PCI drivers don't make
> that distinction, although they could (see below).
> 
> What they do instead is assume the lowest device power state
> ("suspend"), and re-initialize in resume().  If Linux starts to
> support standby and STR modes properly ... then it'd make sense
> to teach more PCI drivers to try using "retention" states.  But
> those drivers would still need to be prepared to re-init.

I agree, in general we should start taking advantage of the
device power states. 
 
> > Retention is where clocks are off for a device, but power is on.
> > In this case the device registers are maintained in hardware.
> 
> Analagous to PCI D1 or D2.

Hmmm, I think with PCI it's just numbering where the power
consumption decreases as the nuber increases except for D3hot
and D3cold.
 
> > Suspend is where clocks and power are off. In this state the
> > device registers are maintained in software.
> 
> Analagous to PCI D3, especially D3cold ... although PCI D3
> certainly allows the Vaux "power well" to power some parts
> of the device, so that not all register values get reset.

Maybe actually D3hot = retention and D3cold = suspend? 

PCI	SOCs		CLOCKS	POWER
D3hot	retention	off	on
D3cold	suspend		off	off
 
> > Laptops mostly have suspend, while socs allow both retention
> > and suspend in many cases.
> 
> Not quite true, as noted above.  There are differences in how
> things are factored, but those mechanisms exist in both x86
> and SOC worlds.  One key difference from a Linux perspective
> is probably that without ACPI in the way, a SOC design can
> make much better use of the hardware PM capabilities.
> 
> Very few non-USB drivers address "retention" modes on laptops;
> USB host controller drivers need it to handle "remote wakeup",
> which one expects to work from "standby" and suspend-to-RAM.
> (Plus potentialy suspend-to-disk, but that's uncommon.)

Yeah, OK.

Tony

  reply	other threads:[~2007-03-23 13:15 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
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 10:17         ` [PATCH] add firmware disk state and clean up Johannes Berg
2007-03-20 10:25           ` 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
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

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=20070323131515.GA12226@atomide.com \
    --to=tony@atomide.com \
    --cc=alexey.y.starikovskiy@intel.com \
    --cc=ben@simtec.co.uk \
    --cc=david-b@pacbell.net \
    --cc=dirk.behme@de.bosch.com \
    --cc=g.liakhovetski@gmx.de \
    --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