The following passages are from linux/Documentation/usb/URB.txt.

"After completing one URB, the next one can be
automatically submitted. This is especially useful for ISO transfers:
You only have read/write the data from/to the buffers in the completion 
handler, the continuous streaming itself is transparently done by the 
URB-machinery."

Ok, it *can* be automatically resubmitted, but how?

"Usually, to reduce restart time, the completion handler is called
AFTER the URB re-submission."

Ok, but under what circumstances is it resubmitted?

"For ISO there are two startup behaviors: Specified start_frame or ASAP.
For ASAP set USB_ISO_ASAP in transfer_flags."

Ok -- seems to say that ASAP will send the urb at the first opportunity
and ~ASAP will try to send the urb in the frame specified by the
start_frame field. Make sense.

"For isochronous endpoints, subsequent submitting of URBs to the same
endpoint with the ASAP flag result in a seamless ISO streaming."

What does 'seamless streaming' mean? Does this mean urbs with the ASAP
flag are automatically resubmitted? Not clear.

"Exception: The execution cannot be scheduled later than 900 frames from
the 'now'-time. The same applies to INT transfers, but here the seamless
continuation is independent of the transfer flags (implicitly ASAP)."

Lost me here. If the ASAP flag is set then I'm not using scheduling,
right? This 900 frame limit must apply to urbs where ASAP is *not* set
and I'm using the start_frame field, right?


Regards,

--gmcnutt


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to