public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: pm list <linux-pm@lists.linux-foundation.org>,
	Pavel Machek <pavel@ucw.cz>,
	linux acpi <linux-acpi@vger.kernel.org>
Subject: Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help)
Date: Wed, 20 Jun 2007 23:57:49 -0700	[thread overview]
Message-ID: <200706202357.50690.david-b@pacbell.net> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0706201006190.3311-100000@iolanthe.rowland.org>

On Wednesday 20 June 2007, Alan Stern wrote:
> On Wed, 20 Jun 2007, Rafael J. Wysocki wrote:
> 
> Pardon me for asking what may be a dumb question.  Why does ACPI (or
> anything else) need to know the target system state in order to decide
> how a device should be suspended or whether wakeup should be enabled?

Because the things that distinguish different states are
the particular resources that are available in that state.

A device that needs resource X to be active (e.g. to wake
that part of the system) can't stay active in states where
X is unavailable.  A device that won't issue wakeup events
can probably enter lower power states.

I think it'd be pure confusion to care about whether wakeup
"should" be enabled in this state versus that one.  Enable it
when it's requested and possible, but otherwise there's nothing
to be done.  Runtime PM policies will mostly avoid device states
where wakeup can't work (unless it's disabled for that device),
but if the system enters a state where it can't, tough!


One canonical example is portions of the clock tree that
are available in one state but not another.  My pet example
being the USB clock, often 48 MHz, not being available in
deeper sleep states ... e.g.

  http://lkml.org/lkml/2007/3/22/241
  http://lkml.org/lkml/2007/3/22/242

It's routine for system power states to care about clocks
like that.  PXA 25x docs are probably where I first ran
across that issue, but docs for pretty much any SOC will
talk first about clocks when discussing power management.
(Current flows when clocks tick ...)


Another is power domains.  ACPI talks about those (but not
clocks!) as board level things ... e.g. turn off this power
supply on the mainboard.  Newer SOCs must manage these for
on-chip devices too, since newer manufacturing processes
(with smaller feature sizes) involve higher leakage current
(flowing even when clocks don't tick).

- Dave

  parent reply	other threads:[~2007-06-21  6:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.44L0.0706201006190.3311-100000@iolanthe.rowland.org>
2007-06-20 14:36 ` [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) Rafael J. Wysocki
2007-06-21  6:57 ` David Brownell [this message]
     [not found] <1182220394.14837.9.camel@sli10-conroe.sh.intel.com>
     [not found] ` <200706191352.16913.rjw@sisk.pl>
     [not found]   ` <1182320280.30540.4.camel@sli10-conroe.sh.intel.com>
2007-06-20 11:32     ` Rafael J. Wysocki
2007-06-20 11:32     ` Rafael J. Wysocki
     [not found]     ` <200706201332.25486.rjw@sisk.pl>
2007-06-20 14:08       ` Alan Stern
2007-06-21  1:51       ` Len Brown
2007-06-21  7:04       ` David Brownell
2007-06-21 12:42         ` Rafael J. Wysocki
     [not found]         ` <200706211442.41140.rjw@sisk.pl>
2007-06-21 13:03           ` Pavel Machek
     [not found]           ` <20070621130312.GB18392@elf.ucw.cz>
2007-06-21 14:46             ` Rafael J. Wysocki
2007-06-21 15:37             ` David Brownell
     [not found]             ` <200706211646.06594.rjw@sisk.pl>
2007-06-21 16:35               ` David Brownell
     [not found]               ` <200706210935.59004.david-b@pacbell.net>
2007-06-21 19:42                 ` Rafael J. Wysocki
     [not found]             ` <200706210837.29857.david-b@pacbell.net>
2007-06-21 19:52               ` Rafael J. Wysocki
2007-06-21 14:48           ` David Brownell
     [not found]           ` <200706210748.48781.david-b@pacbell.net>
2007-06-21 20:04             ` Rafael J. Wysocki
     [not found]             ` <200706212204.36999.rjw@sisk.pl>
2007-06-21 20:22               ` David Brownell
     [not found]               ` <200706211322.06557.david-b@pacbell.net>
2007-06-21 20:41                 ` Rafael J. Wysocki
     [not found]       ` <200706202151.15056.lenb@kernel.org>
2007-06-21  7:10         ` David Brownell

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=200706202357.50690.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@ucw.cz \
    --cc=stern@rowland.harvard.edu \
    /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