public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Igor Stoppa <igor.stoppa@nokia.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-pm@lists.osdl.org, Pavel Machek <pavel@ucw.cz>
Subject: Re: Alternative Concept
Date: Tue, 20 Mar 2007 14:03:10 -0700	[thread overview]
Message-ID: <200703201403.11846.david-b@pacbell.net> (raw)
In-Reply-To: <1174394360.25744.45.camel@Dogbert.NOE.nokia.com>

On Tuesday 20 March 2007 5:39 am, Igor Stoppa wrote:

> No, the point is that by default every driver would try to go to the
> lowest power state autonomously.

Yes.  Anyone assuming otherwise should go back to the drawing board,
since so much of the most relevant information will BY DESIGN never
be exposed outside that driver.  And must not be, since each version
of silicon will generally have its own localized quirks.


Plus there may be groups of drivers that work together.  SOC audio
is probably a decent example:  the high level driver presents just
playback and record interfaces, but internally there will be several
busses involved, a SOC-specific serial data stream controller (AC97,
McBSP, I2S, etc), an external codec, and control interfaces which
manage each of those.  That means a couple drivers collaborating...
(I have no idea if this new ALSA SOC support stuff is sanely design
from a PM perspective...)

The same thing comes up with some USB OTG configurations too.
For example, on OMAP1 or PXA27x chips, there are three on-chip
controllers (OHCI, UDC, OTG) plus an external (I2C) transceiver.
That's three or four drivers which must work together to make
sure power isn't needlessly wasted.

But in all those cases, all the PM-relevant information is local
to those drivers, and all they need is private interfaces to sort
things out.  No new "system-wide" component (policy or otherewise)
is needed.


> 	The policy layer (or whatever would 
> take care of the system point of view, in case the decentralised
> approach is not enough) would _prevent_ temporarily certain deeper power
> saving states.

Yes, but ...

There are two "power management" models.  I think you are talking
about the one most relevant to low power operation:  "runtime PM".
Something like an N770 or N800 tablet needs that(*), and of course
a Linux laptop would benefit from it quite nicely too.

The "system suspend" model works the other way around:  when the
system is forced into a specific low power state, that prevents
certain drivers from working.  For example, it's common that USB
must in effect be powered off, unable to serve as a wakeup event
source (or maintain power sessions) because a key clock must be
turned off in order to enter that state.

- Dave

(*) Plus a smart idle loop ... using NO_IDLE_HZ and entering into
    SOC-wide deep sleep states rather than just CPU idle.  A partial
    PC analogue would be using the new NO_HZ and C3 or deeper.

    To me, it's suggestive that all this discussion about power
    frameworks has mentioned neither that, nor several other
    essential mechanisms, like the "run from SRAM" case that I
    mentioned earlier.  Without addressing a few such real
    problems, the email discussions can't produce good results.

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

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24  1:23 [RFC] CPUFreq PowerOP integration, Intro 0/3 Eugeny S. Mints
2006-10-07  2:36 ` Alternative Concept [Was: Re: [RFC] CPUFreq PowerOP integration, Intro 0/3] Dominik Brodowski
2006-10-07  3:15   ` Dominik Brodowski
2006-10-08  7:16   ` Pavel Machek
2006-10-12 15:38     ` Mark Gross
2006-10-12 16:02       ` Dominik Brodowski
2006-10-16 21:56         ` Mark Gross
2006-10-17 21:40           ` Matthew Locke
2006-10-12 16:48       ` Pavel Machek
2006-10-12 17:12         ` Vitaly Wool
2006-10-12 17:23           ` Pavel Machek
2006-10-09 18:21   ` Mark Gross
2006-10-26  3:06     ` Dominik Brodowski
2006-10-12 22:43   ` Eugeny S. Mints
2006-10-13 10:55     ` Pavel Machek
2006-10-16 21:44       ` Mark Gross
2006-10-17  8:26         ` Pavel Machek
2006-10-26  3:05     ` Dominik Brodowski
2007-03-13  0:57   ` Alternative Concept Matthew Locke
2007-03-13 11:08     ` Pavel Machek
2007-03-13 20:34       ` Mark Gross
2007-03-14  2:30         ` Ikhwan Lee
2007-03-14 10:43           ` Eugeny S. Mints
2007-03-14 17:19             ` David Brownell
2007-03-14 18:12               ` Igor Stoppa
2007-03-14 18:45                 ` David Brownell
2007-03-15  9:53               ` Eugeny S. Mints
2007-03-15 13:04                 ` Igor Stoppa
2007-03-16  2:21                   ` David Brownell
2007-03-16  3:56                     ` Ikhwan Lee
2007-03-16  6:17                       ` David Brownell
2007-03-19  2:27                         ` Ikhwan Lee
2007-03-19  6:07                           ` David Brownell
2007-03-16 13:06                     ` Dmitry Krivoschekov
2007-03-16 18:03                       ` David Brownell
2007-03-18 20:25                         ` Dmitry Krivoschekov
2007-03-19  4:04                           ` David Brownell
2007-03-20  0:03                             ` Dmitry Krivoschekov
2007-03-20  8:07                               ` David Brownell
2007-03-20  9:45                                 ` Dmitry Krivoschekov
2007-03-20 10:30                                   ` Igor Stoppa
2007-03-20 12:13                                     ` Eugeny S. Mints
2007-03-20 12:39                                       ` Igor Stoppa
2007-03-20 13:44                                         ` Dmitry Krivoschekov
2007-03-20 21:03                                         ` David Brownell [this message]
2007-03-20 13:07                                     ` Dmitry Krivoschekov
2007-03-20 13:52                                       ` Igor Stoppa
2007-03-20 14:58                                         ` Dmitry Krivoschekov
2007-03-20 15:36                                           ` Pavel Machek
2007-03-20 19:16                                             ` Dmitry Krivoschekov
2007-03-20 20:45                                               ` Pavel Machek
2007-03-20 22:04                                                 ` David Brownell
2007-03-20 22:06                                                   ` Pavel Machek
2007-03-20 23:29                                                     ` David Brownell
2007-03-20 15:36                                           ` Igor Stoppa
2007-03-20 19:17                                             ` Dmitry Krivoschekov
2007-03-20 20:17                                             ` David Brownell
2007-03-20 20:21                                       ` David Brownell
2007-03-20 19:58                                   ` David Brownell
2007-03-24  0:47                                     ` charging batteries from USB [was: Re: Alternative Concept] Dmitry Krivoschekov
2007-03-24  1:17                                       ` David Brownell
2007-03-24  1:48                                         ` Dmitry Krivoschekov
2007-03-24  2:35                                           ` David Brownell
2007-03-24 10:20                                             ` Oliver Neukum
2007-03-24  8:36                                       ` Oliver Neukum
2007-03-14  3:19       ` Alternative Concept Dominik Brodowski
  -- strict thread matches above, loose matches on Subject: below --
2007-03-14 22:08 Scott E. Preece
2007-03-14 23:23 ` David Brownell
2007-03-15  7:25   ` Ikhwan Lee
2007-03-15  8:14     ` Amit Kucheria
2007-03-15 10:55       ` Eugeny S. Mints
2007-03-15 10:46     ` Eugeny S. Mints
2007-03-15 10:33   ` Eugeny S. Mints
2007-03-15 13:21 Scott E. Preece
2007-03-15 13:29 Scott E. Preece
2007-03-15 23:07 ` David Brownell
2007-03-15 14:00 Scott E. Preece
2007-03-15 14:38 ` Eugeny S. Mints
2007-03-15 17:33 ` Woodruff, Richard
2007-03-19 14:12 Scott E. Preece
2007-03-20  7:56 ` David Brownell
2007-03-20 14:26   ` Amit Kucheria
2007-03-20 15:08     ` Dmitry Krivoschekov
2007-03-20 17:04       ` 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=200703201403.11846.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=igor.stoppa@nokia.com \
    --cc=linux-pm@lists.osdl.org \
    --cc=linux@dominikbrodowski.net \
    --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