> More importantly, the routine sets urb->start_frame to the current
> value of the frame counter.  This is completely wrong; urb->start_frame
> is supposed to be the (micro-)frame number for when the transfer
> begins, not when the transfer was submitted.
>
> As far as I can tell, the only way to do this correctly is to set the
> Frame ID field (with SIA = 0) in the first TD of an isochronous stream,
> and then set SIA = 1 in all the following TDs (see 4.11.2.5).  That
> way, xhci-hcd will know exactly when the stream begins, so it can keep
> track of the frame in which each URB starts.  Dealing with underruns is
> left as an exercise for the implementer...
>

Let me know if you want any changes tested using my DAC that reliably
shows the problem.

BR

Russel
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to