On Thu, Aug 01, 2013 at 12:14:18PM -0300, Fabio Estevam wrote: > Hi Nate, > > On Tue, Jul 30, 2013 at 6:33 PM, Stoddard, Nate (GE Healthcare) > <Nate.Stoddard@xxxxxxxxxx> wrote: > > > So you would expect a temporary CPU increase when a device is connected or reset since the scheduler will need to set up when the packets will be transferred. Once this is complete, the CPU should return to a lower amount as > > The reset function at drivers/usb/chipidea/core.c has the following: > > int hw_device_reset(struct ci_hdrc *ci, u32 mode) > { > /* should flush & stop before reset */ > hw_write(ci, OP_ENDPTFLUSH, ~0, ~0); > hw_write(ci, OP_USBCMD, USBCMD_RS, 0); > > hw_write(ci, OP_USBCMD, USBCMD_RST, USBCMD_RST); > while (hw_read(ci, OP_USBCMD, USBCMD_RST)) > udelay(10); /* not RTOS friendly */ > > Maybe this udelay is impacting your performance? > > It seems that this should be rewritten to avoid the busy loop. > No, it is not related to this problem, this function is only called at device mode. All EHCI related is controlled by EHCI core. Currently, we still not override anything for host. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html