Operational Model For Nak Counter; Nakcnt Field Adjustment Rules - Intel IXP45X Developer's Manual

Network processors
Table of Contents

Advertisement

USB 2.0 Host Controller—Intel
9.14.9

Operational Model for Nak Counter

This section describes the operational model for the NakCnt field defined in a queue
head (see
feature for interrupt queue heads. This rule is not required to be enforced by the host
controller.
USB protocol has built-in flow control via the Nak response by a device. There are
several scenarios, beyond the Ping feature, where an endpoint may naturally Nak or
Nyet the majority of the time. An example is the host controller management of the
split transaction protocol for control and bulk endpoints. All bulk endpoints (High- or
Full-speed) are serviced via the same asynchronous schedule. The time between the
Start-split transaction and the first Complete-split transaction could be very short (i.e.
like when the endpoint is the only one in the asynchronous schedule). The hub NYETs
(effectively Naks) the Complete-split transaction until the classic transaction is
complete. This could result in the host controller thrashing memory, repeatedly fetching
the queue head and executing the transaction to the hub, which will not complete until
after the transaction on the classic bus completes.
There are two component fields in a queue head to support the throttling feature: a
counter field (NakCnt), and a counter reload field (RL). NakCnt is used by the host
controller as one of the criteria to determine whether or not to execute a transaction to
the endpoint. There are two operational modes associated with this counter:
• Not Used. This mode is set when the RL field is zero. The host controller ignores
the NakCnt field for any execution of transactions through a queue head with an RL
field of zero. Software must use this selection for interrupt endpoints.
• Nak Throttle Mode. This mode is selected when the RL field is non-zero. In this
mode, the value in the NakCnt field represents the maximum number of Nak or
Nyet responses the host controller will tolerate on each endpoint. In this mode, the
HC will decrement the NakCnt field based on the token/handshake criteria listed in
Table 175, "NakCnt Field Adjustment Rules" on page
reload NakCnt when the endpoint successfully moves data (e.g. policy to reward
device for moving data).
Table 175.

NakCnt Field Adjustment Rules

IN/PING
OUT
Split
Complete Split
Notes:
1.
Recommended behavior on this response is to reload NakCnt.
In summary, system software enables the counter by setting the reload field (RL) to a
non-zero value. The host controller may execute a transaction if NakCnt is non-zero.
The host controller will not execute a transaction if NakCnt is zero. The reload
mechanism is described in detail in
on page
Note that when all queue heads in the Asynchronous Schedule either exhausts all
transfers or all NakCnt's go to zero, then the host controller will detect an empty
Asynchronous Schedule and idle schedule traversal (see
Asynchronous Schedule Detection" on page
August 2006
Order Number: 306262--, Revision: 004US
®
®
IXP45X and Intel
IXP46X Product Line of Network Processors
Section 9.13.6, "Queue Head" on page
Token
decrement NakCnt
decrement NakCnt
decrement NakCnt
No Action
440.
404). Software should not use this
Handshake
Handshake NAK
N/A (protocol error)
No Action
N/A (protocol error)
Decrement NakCnt
Section 9.14.9.1, "Nak Count Reload Control"
435).
®
®
Intel
IXP45X and Intel
IXP46X Product Line of Network Processors
439. The host controller must
NYET
1
Start
Section 9.14.8.3, "Empty
Developer's Manual
439

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ixp46x

Table of Contents