One I2C read transaction (for example) via my device requires BULK_OUT - 1ms BULK_IN - 1ms ... And I can't force the system make a number of BULK transactions in one frame. The windows implementation of driver for my device has asynchronous request ( from user level ) and this let me make BULK_IN,BULK_OUT requests posted. This cause the host controller pack the request in one frame.
Synchronous requests can be any size, but they do have a minimum elapsed time of about one frame in common cases. Linux certainly handles multiple transactions per frame, like reading 1 Kbyte of data in 16 bulk packets.
Your basic delay would seem to come from issuing the request as a bulk OUT and then handling a data stage transfer as an IN ... which requires the OUT to complete, giving you a minimum latency.
On the other hand, since you're rolling your own usb-to-i2c adapter using an EZ-USB chip, you might be able to wrap your i2c messages in custom control requests.
- Dave
------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
