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

Reply via email to