English
Language : 

82801BA Datasheet, PDF (178/498 Pages) Intel Corporation – Intel 82801BA I/O Controller Hub 2 (ICH2) and Intel 82801BAM I/O Controller Hub 2 Mobile
Functional Description
Note that, if a NAK or STALL response is received from a SETUP transaction, a Time Out Error
will be reported. This causes the Error counter to decrement and the CRC/Time-out Error status bit
to be set within the TD Control and Status DWord during write back. If the Error counter changes
from 1 to 0, the Active bit is reset to 0 and Stalled bit to 1 as normal.
5.16.2.4 Transfer Queuing
Transfer Queues are used to implement a guaranteed data delivery stream to a USB Endpoint.
Transfer Queues are composed of two parts: a Queue Header (QH) and a linked list. The linked list
of TDs and QHs has an indeterminate length (0 to n).
The QH contains two link pointers and is organized as two contiguous DWords. The first DWord is
a horizontal pointer (Queue Head Link Pointer), used to link a single transfer queue with either
another transfer queue, or a TD (target data structure depends on Q bit). If the T bit is set, this QH
represents the last data structure in the current Frame. The T bit informs the ICH2 that no further
processing is required until the beginning of the next frame. The second DWord is a vertical pointer
(Queue Element Link Pointer) to the first data structure (TD or QH) being managed by this QH. If
the T bit is set, the queue is empty. This pointer may reference a TD or another QH.
Figure 5-17 illustrates four example queue conditions. The first QH (on far left) is an example of
an “empty” queue; the termination bit (T Bit), in the vertical link pointer field, is set to 1. The
horizontal link pointer references another QH. The next queue is the expected typical
configuration. The horizontal link pointer references another QH, and the vertical link pointer
references a valid TD.
Typically, the vertical pointer in a QH points to a TD. However, as shown in Figure 5-17 (third
example from left side of figure) the vertical pointer could point to another QH. When this occurs,
a new Q Context is entered and the Q Context just exited is NULL (ICH2 does not update the
vertical pointer field).
The far right QH is an example of a frame ‘termination’ node. Since its horizontal link pointer has
its termination bit set, the ICH2 assumes there is no more work to complete for the current Frame.
Figure 5-17. Example Queue Conditions
31
210
Frame List Pointer Q T
31
QH
210
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
31
QH
210
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
31
QH
210
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Indicates "Nil" Next Pointer
31
QH
210
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Indicates "Null" Queue Head
Link Pointer
TD
QT
Link Pointer
TD
QT
Notes:
1. Link Pointer (Horiz) = Queue Head Link Pointer
field in QH DWord 0
2. Link Pointer (Vert) = Queue Element Link Pointer
field in QH DWord 1
31
QH
210
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Link Pointer
TD
QT
Link Pointer
TD
QT
Indicates "Nil" Next Pointer
Link Pointer
TD
QT
EQ
d
5-116
82801BA ICH2 and 82801BAM ICH2-M Datasheet