From: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
To: linux-pm-qjLDD68F18O7TbgM5vRIOg@public.gmane.org
Cc: Adam Belay <abelay-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Subject: Re: Ottawa
Date: Sun, 13 Mar 2005 20:28:49 -0800 [thread overview]
Message-ID: <200503132028.49339.david-b@pacbell.net> (raw)
In-Reply-To: <1110589712.12485.262.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2737 bytes --]
On Friday 11 March 2005 5:08 pm, Adam Belay wrote:
>
> Under the topic of dynamic power management, there are a few logical
> divisions of interest:
>
> 1.) Low-level - providing the bus support and facilities for higher
> level power management (ex. the current work I'm doing with the PCI bus
> driver). Also support for power domains might fall under this category.
>
> 2.) Driver state and driver relationships - logical vs. physical, driver
> API, threading power management to transition multiple devices at once,
> etc
Clock management. ARM (and other) SOC based boards commonly have
schemes to gate clocks off when the peripheral in question is unused,
thereby saving power. <asm-arm/hardware/clock.h> has an API used to
explicitly represent the clock tree.
So a common mode of operation with such systems will be to keep
the peripheral unclocked (saving power) until it's needed. I don't
actually see any reason to routinely plan policy options there,
that'd just be pointless extra work. clk_use() when the device
is active, clk_unuse() otherwise. And in some cases "suspended"
will mean "unused" for at least some clocks.
That's sort of a "low level" category ... except that it pops up to
higher level concerns. For example, clocks may be shared (which can
make the "low level" vs "driver state and relationships" distinctions
look nonexistent), and they may interact with system power transitions.
Plus there are interactions with external devices. For example, some
SOCs can enter various deep sleep states when USB is either suspended
(by the host) or disconnected ... but not all. (And some could do it
given external transceiver support...) So there may be a choice between
entering a deeper sleep, or discarding active device state...
> 3.) Power Management Policy - determining which behavior to take for
> various classes of devices, how to determine idleness etc., and how to
> control/monitor those devices.
The primary mechanism I've heard discussed is having devices monitor
when they haven't been used recently, and using that to enter some
suspend level. The "not even active" clock gating approach isn't
quite the same.
> 4.) Userspace - how to notify of power changes, how to allow the user to
> control power management.
>
> Anything else?
Oh, and wakeup event sources. ACPI has a very indirect approach,
which seems to underlay some assumptions on this list. There's a
similar thing going on with PCI. So for example when folk start
to assume that a "wakeup" event is for some reason distinct from
the device's normal IRQ, I must cringe ... anyone assuming that
device or system suspend involves turning off IRQs is erecting
roadblocks against most embedded hardware.
- Dave
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2005-03-14 4:28 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <F7DC2337C7631D4386A2DF6E8FB22B3002F2271A@hdsmsx401.amr.corp.intel.com>
[not found] ` <1110542934.5810.94.camel@gaston>
2005-03-11 21:06 ` Ottawa Patrick Mochel
[not found] ` <Pine.LNX.4.50.0503111258490.19793-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-11 21:34 ` Ottawa Nigel Cunningham
[not found] ` <1110576855.32510.20.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-11 21:44 ` Ottawa Patrick Mochel
[not found] ` <Pine.LNX.4.50.0503111342310.19793-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-12 5:48 ` Ottawa Nigel Cunningham
[not found] ` <1110606524.32510.30.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-14 18:05 ` Ottawa Patrick Mochel
[not found] ` <Pine.LNX.4.50.0503141000050.13647-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-14 20:30 ` Ottawa Nigel Cunningham
2005-03-11 23:54 ` Ottawa Benjamin Herrenschmidt
2005-03-12 0:08 ` Ottawa Jordan Crouse
[not found] ` <20050311170827.07daf488-aftB2sG12IhaqnLngUycEA@public.gmane.org>
2005-03-12 0:29 ` Ottawa Benjamin Herrenschmidt
2005-03-12 1:08 ` Ottawa Adam Belay
[not found] ` <1110589712.12485.262.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-03-14 4:28 ` David Brownell [this message]
[not found] ` <200503132028.49339.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-14 5:07 ` Ottawa Benjamin Herrenschmidt
2005-03-16 21:50 ` Ottawa [topics] David Brownell
[not found] ` <200503161350.02426.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-16 23:40 ` Benjamin Herrenschmidt
2005-03-17 17:26 ` David Brownell
2005-03-17 4:11 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0503162259320.7210-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2005-03-17 4:44 ` Nigel Cunningham
[not found] ` <1111034693.3240.92.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-17 5:58 ` David Brownell
2005-03-17 8:52 ` Pavel Machek
2005-03-17 14:55 ` Alan Stern
2005-03-18 20:16 ` Ottawa Patrick Mochel
[not found] ` <Pine.LNX.4.50.0503181214400.16627-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-19 6:13 ` Ottawa Greg KH
2005-03-11 23:05 Ottawa Brown, Len
-- strict thread matches above, loose matches on Subject: below --
2005-03-11 21:25 Ottawa Brown, Len
[not found] <Pine.LNX.4.50.0503090627400.9502-100000@monsoon.he.net>
[not found] ` <Pine.LNX.4.50.0503090627400.9502-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-11 20:42 ` Ottawa Nigel Cunningham
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=200503132028.49339.david-b@pacbell.net \
--to=david-b-ybekhbn/0ldr7s880joybq@public.gmane.org \
--cc=abelay-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org \
--cc=linux-pm-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
/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