Hi, all
I am reading through OHCI spec and I am a bit lost.
When an ISO URB is sent to the host controller driver, should it send it out once only or should it keep sending every 1ms until cancelled?
Well, the OHCI spec doesn't talk about URBs so it's understandable why you'd be lost!
An ISO URB can be issued with any legal period. So at full speed periods of 1ms, 2ms, 4ms, 8ms and so on are just fine values to have in urb->interval. (Modulo bugs in 2.2/2.4 kernels where that value is often ignored.) URbs cover urb->number_of_packets periods ... one packet every period, updating urb->iso_frame_desc[] (which handles microframes at high speed).
When it completes, your driver will normally re-initialize the URB then re-submit it -- to go after the other URBs queued. (You don't want the iso queue to _ever_ be empty, that could skip frames.)
Older kernels support an obsolete "urb->next" mechanism used in some automagic modes. Don't try to use that in new code. Just set urb->next to null (if you have it).
- Dave
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
