Re: Re: Re: 3.0 device attached to USB 3.0 hub port doesn't respond address device command after resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 05, 2012 at 02:23:30PM -0700, Sarah Sharp wrote:
> On Tue, Aug 21, 2012 at 08:16:10PM +0800, Andiry Xu wrote:
> > Just have one question -  how do you add suspend/resume support for
> > DWC USB 3 controller? Where can I find the source code?
> >
> > Is it reusing the suspend/resume code of xhci.c?
> 
> If you look in drivers/usb/host/xhci-plat.c, you'll see that the xHCI
> platform driver reuses the standard xHCI bus suspend/resume hooks.  So
> the DWC3 host should have USB device and USB bus suspend.
> 
> If you're asking about host controller suspend, that would be specific
> to whatever bus the DWC3 host is attached to.  If the DWC3 host is
> connected via PCI, then it will just use the standard xHCI PCI suspend
> hooks.   I'm not sure if there's suspend support for other host buses.
> Felipe should be able to answer that question.

Yeah, we didn't go as far as PM yet. We want to make sure everything is
stable before breaking it with PM :-)

There's still a whole bunch of other details which need to be stabilized
before even thinking about PM, just take a look at the errata list for
this IP (if you have access to it) and you'll see what I'm talking
about.

I don't think it'd be wise to push any PM support to mainline now! We
need to be very, very careful regarding xhci-plat.c and
drivers/usb/dwc3/ because it's re-used by many different platforms, all
with different PM requirements, so we better make sure the driver is
really stable before we start fiddling with something as complex as
adding proper suspend/resume hooks which will work on all
implementations.

cheers

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux