Messages in this thread | | | Date | Thu, 13 Aug 2009 13:30:34 +0100 | From | Matthew Garrett <> | Subject | Re: [linux-pm] [RFC] usb: Add support for runtime power management of the hcd |
| |
On Thu, Aug 13, 2009 at 02:16:41PM +0200, Oliver Neukum wrote: > Am Donnerstag, 13. August 2009 02:35:44 schrieb Matthew Garrett: > > > The power savings from this are measurable but not huge - it still seems > > How large?
About 0.2W on an ich9 system.
> > like a decent optimisation. The main problem is that BIOS bugs on some > > Dell laptops will kill USB if this is used, so we either default to off > > or add some quirks to handle that case (I have some ideas in that > > respect). > > Your earlier failures don't look promising regarding BIOSes. > What do you have in mind?
They range from pragmatic to ugly. We could blacklist all Dells, though I'm trying to find out if there's a BIOS date that guarantees the system is fixed. Alternatively, it's a single-line bug in the DSDT - we could implement some kind of fixup in the ACPI parsing code. I find the latter interesting but possibly too hideous to live :)
> > @@ -1968,6 +1972,9 @@ struct usb_hcd *usb_create_hcd (const struct > > hc_driver *driver, INIT_WORK(&hcd->wakeup_work, hcd_resume_work); > > #endif > > > > + pm_runtime_enable(dev); > > So you don't get a reference from that?
No, but...
> > + pm_runtime_get(dev); > > What happens if you get a runtime suspend request in between? Is this a flaw > of the API?
I suspect that just swapping the order of those two lines would be fine.
-- Matthew Garrett | mjg59@srcf.ucam.org
| |