xHCI ShortPacket Correct Behaviour

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

 



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




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

  Powered by Linux