All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jordan Crouse" <jordan.crouse@amd.com>
To: David Brownell <david-b@pacbell.net>
Cc: linux-acpi@vger.kernel.org, linux-pm@lists.linux-foundation.org,
	linux-pm@lists.osdl.org, devel@laptop.org
Subject: Re: Power Mangement Interfaces
Date: Sat, 31 Mar 2007 19:01:55 -0600	[thread overview]
Message-ID: <20070401010155.GA10151@cosmic.amd.com> (raw)
In-Reply-To: <200703311157.03975.david-b@pacbell.net>

On 31/03/07 11:57 -0700, David Brownell wrote:
> The other part is the platform code.  On embedded hardware that's usually
> just calling device_init_wakeup() before registering the platform devices,
> and supporting enable_irq_wake().  On x86 that gets messy; ACPI is there,
> and PCI initialization can't set device_init_wakeup() because of conflicts
> with how PPC initializes PCI.

enable_irq_wake() looks like it integrates very well with the AT91, since
it seems that there is a 1:1 mapping of interrupts to wakeup sources.  The
story is much more muddled for x86 - there is no direct mapping of interrupts
to wakeup sources, and the PIC has nothing to do with handling wake events.

On the Geode, we have 17 possible wake sources, all of which are ORed
together to form the SCI interrupt. Some of the events, like the RTC,
UART, and USB wakeup sources are associated with devices that have their
own interrupts, but there is no correlation between the RTC interrupt, 
for example, and enabling it as a wakeup source.  It seems overly complex
to try to map these to individual interrupts, and certainly seems wasteful
to get the PIC involved in something it just doesn't understand.

> As in "echo enabled > /sys/devices/.../power/wakeup" (to get the default),
> or "echo disabled > ..." to disable it.  For PCs, with ACPI, that involves
> two patches I just posted to the RTC list (and CC'd Len on), and replacing
> the ancient/legacy/ACPI-only /proc/acpi/alarm interface.

The link is here for the interested:

http://groups.google.com/group/rtc-linux/browse_thread/thread/ae7fe3436e01e7fa

This looks very good, and is pretty close to what I was proposing.  
Replace the acpi_*_event() calls with a generic pm_ infrastructure, and
add hooks to the pm_ops for each individual PM system to handle the wakeups
in whatever way they see fit, and we're there.  It would be slightly more
complex for AT91 and friends to match this (since they have the advantage
of a 1:1 mapping right now), but in the long run, I think everybody would
benefit.

The only other issue then, is how we could define and manage wakeup events
for events that aren't associated with specific devices, like power button
and lid events.  We'll need some way to control those somewhere in sysfs -
if not in /sys/power/wakeup like I had proposed, then somewhere under the
platform or system hierarchy .

Jordan
-- 
Jordan Crouse
Senior Linux Engineer
Advanced Micro Devices, Inc.
<www.amd.com/embeddedprocessors>

  reply	other threads:[~2007-04-01  1:01 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-30 23:57 Power Mangement Interfaces Jordan Crouse
2007-03-31  0:18 ` Johannes Berg
2007-03-31  0:21   ` Johannes Berg
2007-03-31  4:33     ` [linux-pm] " Gopi P.M.
2007-03-31 15:20     ` Jordan Crouse
2007-03-31 16:12     ` David Brownell
2007-03-31 15:16   ` Jordan Crouse
2007-04-02  7:38     ` [linux-pm] " Pavel Machek
2007-03-31 16:57   ` David Brownell
2007-04-04 16:15     ` Johannes Berg
2007-04-04 18:44       ` David Brownell
2007-04-04 21:49         ` Johannes Berg
2007-04-05  5:05           ` David Brownell
2007-04-05  8:02             ` Johannes Berg
2007-04-05  8:32         ` Zhang Rui
2007-03-31 16:52 ` David Brownell
2007-03-31 18:16   ` Jordan Crouse
2007-03-31 18:57     ` David Brownell
2007-04-01  1:01       ` Jordan Crouse [this message]
2007-04-01  3:01         ` David Brownell
2007-04-01  3:01         ` David Brownell
2007-04-01 16:56           ` Jordan Crouse
2007-04-01 16:56           ` Jordan Crouse
2007-04-02  0:28             ` David Brownell
2007-04-02  0:28             ` David Brownell
2007-04-02 16:55               ` Jordan Crouse
2007-04-02 16:55               ` Jordan Crouse
2007-04-02 17:53                 ` David Brownell
2007-04-02 17:53                 ` David Brownell
2007-07-08  3:46                 ` rtc-cmos not supporting RTC_AIE? Marcelo Tosatti
2007-07-08  3:46                 ` Marcelo Tosatti
2007-07-08  5:26                   ` David Brownell
2007-07-08  5:26                   ` David Brownell
2007-07-08 19:03                     ` Marcelo Tosatti
2007-07-08 19:03                     ` Marcelo Tosatti
2007-07-08 19:17                       ` David Brownell
2007-07-08 19:17                       ` David Brownell
2007-07-08 19:31                         ` Richard Hughes
2007-07-08 20:15                           ` Hibernate after alarm wakes from STR David Brownell
2007-07-08 20:15                           ` David Brownell
2007-07-08 22:31                             ` Marcelo Tosatti
2007-07-09  2:44                               ` David Brownell
2007-07-09  2:44                               ` David Brownell
2007-07-09  8:34                                 ` Richard Hughes
2007-07-09  8:34                                 ` Richard Hughes
2007-07-09 15:40                                 ` Marcelo Tosatti
2007-07-09 15:40                                 ` Marcelo Tosatti
2007-07-09 16:26                                   ` David Brownell
2007-07-09 16:26                                   ` David Brownell
2007-07-10  2:45                                     ` Nigel Cunningham
2007-07-10  2:45                                     ` [linux-pm] " Nigel Cunningham
2007-07-10 16:51                                       ` David Brownell
2007-07-10 16:51                                       ` [linux-pm] " David Brownell
2007-07-10 22:16                                         ` Nigel Cunningham
2007-07-10 22:16                                         ` [linux-pm] " Nigel Cunningham
2007-07-11  0:45                                           ` Matthew Garrett
2007-07-11  0:53                                             ` Nigel Cunningham
2007-07-11  1:23                                               ` Matthew Garrett
2007-07-11  1:39                                                 ` Nigel Cunningham
2007-07-11  1:39                                                 ` [linux-pm] " Nigel Cunningham
2007-07-11  1:59                                                   ` Matthew Garrett
2007-07-11  1:59                                                   ` [linux-pm] " Matthew Garrett
2007-07-11  3:14                                                     ` Nigel Cunningham
2007-07-11 10:09                                                       ` Rafael J. Wysocki
2007-07-11 10:09                                                       ` [linux-pm] " Rafael J. Wysocki
2007-07-11 10:14                                                         ` Nigel Cunningham
2007-07-11 10:14                                                         ` [linux-pm] " Nigel Cunningham
2007-07-11 10:31                                                           ` Rafael J. Wysocki
2007-07-11 10:31                                                           ` Rafael J. Wysocki
2007-07-11  3:14                                                     ` Nigel Cunningham
2007-07-11  1:23                                               ` Matthew Garrett
2007-07-11  0:53                                             ` Nigel Cunningham
2007-07-11  0:45                                           ` Matthew Garrett
2007-07-11 16:04                                           ` [linux-pm] " David Brownell
2007-07-11 22:48                                             ` Nigel Cunningham
2007-07-11 22:48                                             ` [linux-pm] " Nigel Cunningham
2007-07-11 16:04                                           ` David Brownell
2007-07-08 22:31                             ` Marcelo Tosatti
2007-07-08 19:31                         ` rtc-cmos not supporting RTC_AIE? Richard Hughes
2007-07-08  3:49                 ` [PATCH] rtc-cmos: use cmos_rtc_board_info to determine wake_on callback Marcelo Tosatti
2007-07-08  3:49                 ` Marcelo Tosatti
2007-07-08  5:06                   ` David Brownell
2007-07-08  5:06                   ` David Brownell
2007-07-08  3:55                 ` [PATCH] OLPC rtc-cmos support Marcelo Tosatti
2007-07-08  5:13                   ` David Brownell
2007-07-08 18:40                     ` Marcelo Tosatti
2007-07-08 19:10                       ` David Brownell
2007-07-08 19:10                       ` David Brownell
2007-07-08 20:17                         ` Marcelo Tosatti
2007-07-08 20:17                         ` Marcelo Tosatti
2007-07-08 20:47                           ` David Brownell
2007-07-08 20:47                           ` David Brownell
2007-07-08 18:40                     ` Marcelo Tosatti
2007-07-08  5:13                   ` David Brownell
2007-07-08  3:55                 ` Marcelo Tosatti
2007-06-19 17:00               ` Power Mangement Interfaces Marcelo Tosatti
2007-06-19 17:00               ` Marcelo Tosatti
2007-06-19 19:17                 ` Jens Axboe
2007-06-19 19:17                 ` Jens Axboe
2007-06-19 19:41                 ` Woodruff, Richard
2007-06-21  1:30                 ` David Brownell
2007-06-21  1:30                 ` David Brownell
2007-07-08 22:10                   ` [PATCH] add powerbutton and lid platform devices Marcelo Tosatti
2007-07-09 15:05                     ` Jordan Crouse
2007-07-09 16:30                       ` David Brownell
2007-07-09 16:30                       ` David Brownell
2007-07-09 16:36                         ` Jordan Crouse
2007-07-09 16:36                         ` Jordan Crouse
2007-07-16  8:51                         ` Richard Hughes
2007-07-16  8:51                         ` Richard Hughes
2007-07-16 17:11                       ` C. Scott Ananian
2007-07-16 17:11                       ` C. Scott Ananian
2007-07-09 15:05                     ` Jordan Crouse
2007-07-08 22:10                   ` [PATCH] " Marcelo Tosatti
2007-04-02 10:23           ` Power Mangement Interfaces Zhang Rui
2007-04-02 18:24             ` David Brownell
2007-04-02 19:40               ` Matthew Garrett
2007-04-02 21:31                 ` David Brownell
2007-04-02 21:31                 ` David Brownell
2007-04-02 19:40               ` Matthew Garrett
2007-04-05  8:20               ` Zhang Rui
2007-04-05  8:20               ` Zhang Rui
2007-04-02 18:24             ` David Brownell
2007-04-02 10:07       ` Zhang Rui
2007-03-31 19:14     ` Jim Gettys
2007-04-02  9:36 ` Zhang Rui

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=20070401010155.GA10151@cosmic.amd.com \
    --to=jordan.crouse@amd.com \
    --cc=david-b@pacbell.net \
    --cc=devel@laptop.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=linux-pm@lists.osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.