Re: xHCI ShortPacket Correct Behaviour

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

 



If the xHCI spec is contradictory, please contact xhcisupport@xxxxxxxxx.

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 majordomo@xxxxxxxxxxxxxxx
> 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 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