On Mon, Nov 17, 2014 at 10:11:38AM +0800, Peter Chen wrote: > On Fri, Nov 14, 2014 at 09:05:16AM -0600, Felipe Balbi wrote: > > Hi, > > > > On Fri, Nov 14, 2014 at 03:40:55PM +0800, Peter Chen wrote: > > > > > @@ -1660,7 +1660,7 @@ static int ci_udc_start(struct usb_gadget *gadget, > > > > > pm_runtime_get_sync(&ci->gadget.dev); > > > > > if (ci->vbus_active) { > > > > > spin_lock_irqsave(&ci->lock, flags); > > > > > - hw_device_reset(ci, USBMODE_CM_DC); > > > > > + hw_device_reset(ci); > > > > > > > > wow, you guys reset this IP all the time... that's scary, could be > > > > hiding bugs easily. > > > > > > > > > > In current chipidea design, it indeed resets controller often, it > > > resets controller when the usb cable connects to pc and the gadget > > > driver is there, something like which we do for RUN/STOP bit. > > > > RUN/STOP on dwc3 is not an IP reset though. Neither it is on XHCI/EHCI. > > > > Of cos, I mean the situation which the chipidea does reset controller > is not necessary sometimes, it can control RUN/STOP bit instead of it. got it now, that would be a very welcome optimization. -- balbi
Attachment:
signature.asc
Description: Digital signature