![Intel IXP45X Developer'S Manual Download Page 447](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092447.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
447
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
9.14.10.3.1 Halting a Queue Head
A halted endpoint is defined only for the transfer types that are managed via queue
heads (control, bulk and interrupt). The following events indicate that the endpoint has
reached a condition where no more activity can occur without intervention from the
driver:
• An endpoint may return a STALL handshake during a transaction,
• A transaction had three consecutive error conditions, or
• A Packet Babble error occurs on the endpoint.
When any of these events occur (for a queue head) the Host Controller halts the queue
head and set the USBERRINT status bit in the USBSTS register to a one. To halt the
queue head, the Active bit is set to a zero and the Halted bit is set to a one. There may
be other error status bits that are set when a queue is halted. The host controller
always writes back the overlay area to the source qTD when the transfer is complete,
regardless of the reason (normal completion, short packet or halt). The host controller
will not advance the transfer state on a transaction that results in a Halt condition (e.g.
no updates necessary for Total Bytes to Transfer, C_Page, Current Offset, and dt). The
host controller must update CErr as appropriate. When a queue head is halted, the USB
Error Interrupt bit in the USBSTS register is set to a one. If the USB Error Interrupt
Enable bit in the USBINTR register is set to a one, a hardware interrupt is generated at
the next interrupt threshold.
9.14.10.3.2 Asynchronous Schedule Park Mode
Asynchronous Schedule Park mode is a special execution mode that can be enabled by
system software, where the host controller is permitted to execute more than one bus
transaction from a high-speed queue head in the Asynchronous schedule before
continuing horizontal traversal of the Asynchronous schedule. This feature has no effect
on queue heads or other data structures in the Periodic schedule. This feature is similar
in intent as the Mult feature that is used in the Periodic schedule. Where-as the Mult
feature is a characteristic that is tunable for each endpoint; park-mode is a policy that
is applied to all high-speed queue heads in the asynchronous schedule. It is essentially
the specification of an iterator for consecutive bus transactions to the same endpoint.
All of the rules for managing bus transactions and the results of those as defined in
Section 9.14.10.3, “Execute Transaction” on page 444
apply. This feature merely
specifies how many consecutive times the host controller is permitted to execute from
the same queue head before moving to the next queue head in the Asynchronous List.
This feature should allow the host controller to attain better bus utilization for those
devices that are capable of moving data at maximum rate, while at the same time
providing a fair service to all endpoints.
A host controller exports its capability to support this feature to system software by
setting the Asynchronous Schedule Park Capability bit in the HCCPARAMs register to a
one. This information keys system software that the Asynchronous Schedule Park Mode
Enable and Asynchronous Schedule Park Mode Count fields in the USBCMD register are
modifiable. System software enables the feature by writing a one to the Asynchronous
Schedule Park Mode Enable bit.
When park-mode is not enabled (e.g. Asynchronous Schedule Park Mode Enable bit in
the USBCMD register is a zero), the host controller must not execute more than one
bus transaction per high-speed queue head, per traversal of the asynchronous
schedule. When park-mode is enabled, the host controller must not apply the feature to
a queue head whose EPS field indicates a Low/Full-speed device (i.e. only one bus
transaction is allowed from each Low/Full-speed queue head per traversal of the
asynchronous schedule). Park-mode may only be applied to queue heads in the
Asynchronous schedule whose EPS field indicates that it is a high-speed device.