Re: [patch 2.6.29] usb: ehci-sched.c: EHCI SITD scheduling bugfix (resend)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 14 Apr 2009, Alan Stern wrote:

> Why?  This follows from the constraint (implicit in the USB spec and
> stated explicitly in the EHCI spec) that in any uframe, CSPLITs must be
> sent in the same order as their corresponding SSPLITs.

Oops, I got the references reversed.  It's stated less clearly in the
EHCI spec, in sections 4.12.2.3 and 4.12.3.2, where the paragraphs
about C-prog-mask say:

	Due to the nature of the Transaction Translator periodic 
	pipeline, the complete-splits need to be executed in-order.

The USB-2.0 spec is more explicit; in section 11.18.8 it mentions:

	A host must issue complete-split transactions in a microframe 
	for a set of full-/low-speed endpoints in the same relative
	order as the start-splits were issued in a microframe for this
	TT.

Incidentally, the same principle applies to pairs of interrupt
transfers.  If interrupt transfer A's SSPLIT occurs in uframe i and
interrupt transfer B's SSPLIT occurs in uframe j, and if A's period is 
higher than B's period, then we must not have i = j+1 or i = j+2.  
Again, this is because the chain of QHs is traversed starting with the 
highest-period entries.

Alan Stern

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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux