If the xHCI spec is contradictory, please contact xhcisupp...@intel.com.

Sarah Sharp

On Mon, Apr 01, 2013 at 10:48:35AM +0000, Ankit wrote:
> With respect to latest xHCI spec : 
> Revision 1.0
> with errata to 8/14/12
> 
> Page 114:
> Note: Consider the case where there are multiple TDs posted for pipe for a 
> single data transfer and a
> Short Packet or other condition on one TD means that the data transfer is 
> terminated,
> and that the subsequent TDs associated with the data transfer are now 
> invalid. 
> The xHC may have
> read ahead on the Transfer Ring and cached the subsequent TDs. To ensure that 
> xHC frees any
> cached information associated with a pipe in a timely manner (so that it can 
> reuse the cache space
> for other pipes), software shall issue a Set TR Dequeue Pointer Command for 
> the 
> pipe when the
> data transfer is terminated, vs. waiting for the next data transfer to be 
> ready 
> before issuing the
> command.
> Note: If software issues a Set TR Dequeue Pointer Command that points to a 
> TRB 
> that had previously
> been partially completed TD, the xHC shall treat that TRB as the first TRB of 
> the TD. i.e. any prior
> state associated with a partially completed TRB is lost.
> 
> Looking at this description, I interpret that when the ShortPacket is 
> received, 
> xHC should stop executing the transfer and should wait for the driver for 
> next 
> command or doorbell.
> 
> Page 130:
> Note: If the xHC receives a short packetShort Packet from a device, then it 
> shall retire the current TD. If
> another TD is defined on the Transfer Ring, the xHC shall advance to it and 
> begin IN transactions.
> 
> Looking at this description, I interpret that when the ShortPacket is 
> received, 
> xHC should discard the current TD and start executing the next TD if 
> available.
> 
> Page 172:
> If a Short Packet is detected during the execution of a multi-TRB TD, the xHC 
> shall advance to the first
> TRB of the next TD or the Enqueue Pointer (i.e.Cycle bit transition), 
> whichever 
> is encountered first.
> 
> Looking at this description, I interpret that when the ShortPacket is 
> received, 
> xHC should discard the current TD and start executing the next TD if 
> available.
> 
> These descriptions are contradictory.
> 
> Which is the correct xHCI behavior when ShortPacket is received?
> -Ankit
> 
> --
> 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
--
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