MUSB double-buffered endpoints make isochronous transfers unreliable

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

 



Hi everybody,

I'm trying to maximize USB throughput when transferring data from an OMAP3430 
device (MUSB OTG controller) to an EHCI host using isochronous transfers.

Using a 1024 byte maximum packet size in single buffered mode, I can reach a 
bandwidth of around 4 MB/s. This is around half of the maximum theoretical 
bandwidth for high-speed, non high-bandwidth isochronous transfers, which 
sounds pretty normal in single buffered mode.

In order to raise the throughput I've configured the MUSB endpoint buffer in 
double buffered mode (BUF_DOUBLE). The throughput went up to nearly 7 MB/s, 
but transfers became much more unreliable. More packets are lost, and the 
transfer even freezes completely from time to time (although this is sometimes 
difficult to reproduce). I have no USB analyzer so I'm not sure what really 
happens on the bus.

Is there any known reliability issue with MUSB double buffered endpoints ?

-- 
Regards,

Laurent Pinchart
--
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