On Wed, May 12, 2010 at 10:54:23AM -0400, Alan Stern wrote:
On Tue, 11 May 2010, Sarah Sharp wrote:
Are there any drivers in the kernel that set urb->start_frame on every URB?
Could those drivers handle it if only the first URB they submitted to the host controller was scheduled for that frame ID, and all the rest of the URBs were scheduled ASAP?
BTW, urb->start_frame generally is ignored as an input parameter. Many host controller drivers pay no attention to it. Unless someone has a real reason, I think we are better off not using it.
Oh good. In theory, the xHCI driver is supposed to be able to set the starting frame ID of an isoc transfer (although the current patches for isoc don't do that). The xHCI spec writers were looking at limiting software to only being able to set the frame ID on the very first transfer you enqueue to the endpoint, to limit the complexity of the hardware scheduler. It looks like they won't have an issue with legacy drivers if they do.
Sarah Sharp