![Intel IXP45X Developer'S Manual Download Page 458](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092458.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
458
Order Number: 306262-004US
• SplitXState. This is a single bit residing in the Status field of a queue head (see
Table 158, “qTD Token (DWord 2)” on page 401
). This bit is used to track the
current state of the split transaction.
• Frame S-mask. This is a bit-field where-in system software sets a bit corresponding
to the micro-frame (within an H-Frame) that the host controller should execute a
start-split transaction. This is always qualified by the value of the SplitXState bit in
the Status field of the queue head. For example, referring to
Transaction, Interrupt Scheduling Boundary Conditions” on page 456
S-mask would have a value of 00000001b indicating that if the queue head is
traversed by the host controller, and the SplitXState indicates Do_Start, and the
current micro-frame as indicated by FRINDEX[2:0] is 0, then execute a start-split
transaction.
• Frame C-mask. This is a bit-field where system software sets one or more bits
corresponding to the micro-frames (within an H-Frame) that the host controller
should execute complete-split transactions. The interpretation of this field is always
qualified by the value of the SplitXState bit in the Status field of the queue head.
For example, referring to
Table 68, “Split Transaction, Interrupt Scheduling
Boundary Conditions” on page 456
, case one, the C-mask would have a value of
00011100b indicating that if the queue head is traversed by the host controller, and
the SplitXState indicates Do_Complete, and the current micro-frame as indicated
by FRINDEX[2:0] is 2, 3, or 4, then execute a complete-split transaction. It is
software's responsibility to ensure that the translation between H-Frames and B-
Frames is correctly performed when setting bits in S-mask and C-mask
9.14.12.2.2 Host Controller Operational Model for FSTNs
The FSTN data structure is used to manage Low/Full-speed interrupt queue heads that
need to be reached from consecutive frame list locations (i.e. boundary cases 2a
through 2c). An FSTN is essentially a back pointer, similar in intent to the back pointer
field in the siTD data structure (see
Section 9.13.4.5, “siTD Back Link Pointer” on
).
This feature provides software a simple primitive to save a schedule position, redirect
the host controller to traverse the necessary queue heads in the previous frame, then
restore the original schedule position and complete normal traversal.
There are four components to the use of FSTNs:
• FSTN data structure, defined in
“Periodic Frame Span Traversal Node (FSTN)” on
.
• A Save Place indicator. This is always an FSTN with its Back Path Link Pointer. T-bit
set to zero.
• A Restore indicator. This is always an FSTN with its Back Path Link Pointer.T-bit set
to a one.
• Host controller FSTN traversal rules.
Host Controller Operational Model for FSTNs
When the host controller encounters an FSTN during micro-frames 2 through 7 it
simply follows the node’s Normal Path Link Pointer to access the next schedule data
structure. Note that the FSTN’s Normal Path Link Pointer.T-bit may set to a one, which
the host controller must interpret as the end of periodic list mark.
When the host controller encounters a Save-Place FSTN in micro-frames 0 or 1, it will
save the value of the Normal Path Link Pointer and set an internal flag indicating that it
is executing in Recovery Path mode. Recovery Path mode modifies the host controller’s
rules for how it traverses the schedule and limits which data structures will be