Hi Nate,

On Tue, Jul 30, 2013 at 6:33 PM, Stoddard, Nate (GE Healthcare)
<nate.stodd...@med.ge.com> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to