Rudolf Ladyzhenskii wrote:
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

Reply via email to