From: David Brownell <david-b@pacbell.net>
To: jg@laptop.org
Cc: ben@simtec.co.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: Sun, 25 Mar 2007 09:55:04 -0700 [thread overview]
Message-ID: <200703250955.04947.david-b@pacbell.net> (raw)
In-Reply-To: <1174839814.5695.5.camel@localhost>
On Sunday 25 March 2007 9:23 am, Jim Gettys wrote:
> Just to prove that all generalizations have exceptions:
>
> On the OLPC system, we want the wireless (which, unfortunately, is USB
> based), to be able to wake the system from suspend to RAM.
>
> Of course, we have arranged there be an out of band signal from the USB
> wireless to wake up the system. So we don't use USB wakeup for that.
That would be a case of a USB _peripheral_ waking the system,
albeit through agency of the host controller.
You imply that on OLPC, USB remote wakeup doesn't work from
STR ... which isn't the most common setup, though I've seen
it on systems that are particularly aggressive about power
savings. Turning off VBUS power on USB ports shrinks the
power budget by at least the 0.5 mA per port most suspended
devices may draw, on top of whatever the transceivers draw
and whatever the system needs to monitor the relevant
transceiver state change events ... GPIOs might suffice.
Doesn't seem like much of an exception to me. The USB stack
still follows USB rules. The driver for that WLAN adapter can
have platform-specific extensions, no problem; if that's the
usual sort of wakeup irq signal, it's just a case of that
suspend() method having a bit more work to do.
And of course, it's not running on an AT91 system, so those
AT91-specific rules couldn't apply in any case! :)
- Dave
> - Jim
>
> On Sun, 2007-03-25 at 08:20 -0700, David Brownell wrote:
> >
> > If userspace wants the USB host to be able to wake the
> > system from sleep, then the simple rule is: don't use
> > the suspend-to-RAM mode. Nothing software does can ever
> > change that restriction; "slow clock mode" doesn't run
> > the 48 MHz clock, wakeup doesn't work without that clock.
That was with reference to the at91_udc driver, although the
same rule also applies to its USB host (OHCI) too.
Most x86 systems don't have a USB peripheral mode, so they
couldn't be woken up by an external USB host in any case.
The x86 systems generally have a USB host controller, and
it's usually wired so it can be used as a wakeup source by
an external USB peripheral.
> > By forcing the system into suspend-to-RAM mode, rather
> > than using runtime PM to minimize power usage, userspace
> > has already said that being fully functional isn't the
> > top issue just then.
> >
> > Keep in mind that most users are already trained in that
> > model. Even if it didn't already make sense, that's what
> > MS-Windows has done forever. Those little checkboxes in
> > each driver's GUI properties, saying "let it wake up the
> > system"? They're boolean, and only reflect the details
> > of the ACPI tables in so far not having the checkbox if
> > that device is known to ACPI and isn't in that table.
> > It's a simple model, easily understood and generalized.
> >
> > - Dave
> > _______________________________________________
> > linux-pm mailing list
> > linux-pm@lists.linux-foundation.org
> > https://lists.linux-foundation.org/mailman/listinfo/linux-pm
> --
> Jim Gettys
> One Laptop Per Child
>
>
next prev parent reply other threads:[~2007-03-25 16:55 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
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 [this message]
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=200703250955.04947.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=ben@simtec.co.uk \
--cc=dirk.behme@de.bosch.com \
--cc=g.liakhovetski@gmx.de \
--cc=jg@laptop.org \
--cc=johannes@sipsolutions.net \
--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