![Intel IXP45X Developer'S Manual Download Page 466](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092466.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
466
Order Number: 306262-004US
update any transfer state (except for C-prog-mask and FrameTag) and stay in this
state. The host controller must not adjust CErr on this response.
• Transaction Error (XactErr). Timeout, data CRC failure, etc. The CErr field is
decremented and the XactErr bit in the Status field is set to a one. The complete
split transaction is immediately retried (if Cerr is non-zero).If there is not enough
time in the micro-frame to complete the retry and the endpoint is an IN, or CErr is
decremented to a zero from a one, the queue is halted. If there is not enough time
in the micro-frame to complete the retry and the endpoint is an OUT and CErr is not
zero, then this state is exited (i.e. return to Do Start Split). This results in a retry
of the entire OUT split transaction, at the next poll period. Refer to Chapter 11
Hubs (specifically the section full- and low-speed Interrupts) in the USB
Specification Revision 2.0 for detailed requirements on why these errors must be
immediately retried.
• ACK. This can only occur if the target endpoint is an OUT. The target endpoint
ACK'd the data and this response is a propagation of the endpoint ACK up to the
host controller. The host controller must advance the state of the transfer. The
Current Offset field is incremented by Maximum Packet Length or Bytes to Transfer,
whichever is less. The field Bytes To Transfer is decremented by the same amount.
And the data toggle bit (dt) is toggled. The host controller will then exit this state
for this queue head. The host controller must reload CErr with maximum value on
this response. Advancing the transfer state may cause other process events such
as retirement of the qTD and advancement of the queue (see
“Managing Control/Bulk/Interrupt Transfers via Queue Heads” on page 441
• MDATA. This response will only occur for an IN endpoint. The transaction translator
responded with zero or more bytes of data and an MDATA PID. The incremental
number of bytes received is accumulated in QH.S-bytes. The host controller must
not adjust CErr on this response.
• DATA0/1. This response may only occur for an IN endpoint. The number of bytes
received is added to the accumulated byte count in QH.S-bytes. The state of the
transfer is advanced by the result and the host controller will exit this state for this
queue head.
Advancing the transfer state may cause other processing events such as retirement of
the qTD and advancement of the queue (see
Section 9.14.10, “Managing Control/Bulk/
Interrupt Transfers via Queue Heads” on page 441
If the data sequence PID does not match the expected, the entirety of the data
received in this split transaction is ignored, the transfer state is not advanced and this
state is exited.
• NAK. The target endpoint Nak'd the full- or low-speed transaction. The state of the
transfer is not advanced, and this state is exited. The host controller must reload
CErr with maximum value on this response.
• ERR. There was an error during the full- or low-speed transaction. The ERR status
bit is set to a one, Cerr is decremented, the state of the transfer is not advanced,
and this state is exited.
• STALL. The queue is halted (an exit condition of the Execute Transaction state).
The status field bits: Active bit is set to zero and the Halted bit is set to a one and
the qTD is retired. Responses which are not enumerated in the list or which are
received out of sequence are illegal and may result in undefined host controller
behavior. The other possible combinations of tests A, B, C, and D may indicate that
data or response was lost.
lists the possible combinations and the
appropriate action.