[REPOST PATCH 3/3] USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled
Alan Stern
stern at rowland.harvard.edu
Tue Jul 7 07:28:34 PDT 2015
On Mon, 6 Jul 2015, Felipe Balbi wrote:
> > You know, this is the first time I've run across this optimization.
> >
> > In principle it applies to any USB host controller, not just to PHYs.
> > There's no reason to enable wakeup for a controller if none of the
> > attached devices can issue a wakeup request.
> >
> > I don't know if implementing this in other HCDs would save any power.
> > Any ideas?
>
> most likely it would. Enabling wakeup usually boils down to keeping a
> tiny part of the controller (or PHY) powered up. Sometimes that lies in
> an always-on power domain, so there would be no difference.
Doug, how would you feel about reworking the patch that exports
usb_wakeup_enabled_descendants()? Instead of doing it that way, create
and export a new subroutine in hcd.c called
usb_hcd_wakeup_not_needed(), or something similar.
The idea is that a host controller driver can do something like this:
do_wakeup = device_may_wakeup(...);
if (usb_hcd_wakeup_not_needed(hcd))
do_wakeup = false;
It encapsulates what you want in a form that can easily be used by
every HCD. We can then add this call into the HCDs, over time.
(Merging a change like this would be a challenge. I guess Felipe would
have to put it in a separate branch which Greg could pull, or vice
versa, so that the new routine would be available to patches submitted
to either maintainer.)
Alan Stern
More information about the Linux-rockchip
mailing list