Re: [linux-pm] [RFC] usb: Add support for runtime power managementof the hcd

From: Matthew Garrett
Date: Thu Aug 13 2009 - 08:30:50 EST


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@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/