Re: USB Interrupt Transaction Scheduling

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

 



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




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

  Powered by Linux