Example State Machine For Managing Asynchronous Schedule Traversal - Intel IXP45X Developer's Manual

Network processors
Table of Contents

Advertisement

Intel
asynchronous schedule traversal is because of empty list detection, it is mandatory the
host controller implement a 'waking' method to resume traversal of the asynchronous
schedule. An example method is described below.
9.14.8.4.1
Example Method for Restarting Asynchronous Schedule Traversal
The reason for idling the host controller when the list is empty is to keep the host
controller from unnecessarily occupying too much memory bandwidth. The question is:
how long should the host controller stay idle before restarting?
The answer in this example is based on deriving a manifest constant, which is the
amount of time the host controller will stay idle before restarting traversal. In this
example, the manifest constant is called AsyncSchedSleepTime, and has a value of
10μsec. The value is derived based on the analysis in
AsyncSchedSleepTime" on page 437
• Traverse the Asynchronous schedule until the either an End-Of-micro-Frame event
occurs, or an empty list is detected. If the event is an End-of-micro-Frame, go
attempt to traverse the Periodic schedule. If the event is an empty list, then set a
sleep timer and go to a schedule sleep state.
• When the sleep timer expires, set working context to the Asynchronous Schedule
start condition and go to schedule active state. The start context allows the HC to
reload Nakcnt fields, etc. so the HC has a chance to run for more than one iteration
through the schedule.
This process simply repeats itself each micro-frame.
state machine to manage the active and sleep states of the Asynchronous Schedule
traversal policy. There are three states: Actively traversing the Asynchronous schedule,
Sleeping, and Not Active. The last two are similar in terms of interaction with the
Asynchronous schedule, but the Not Active state means that the host controller is busy
with the Periodic schedule or the Asynchronous schedule is not enabled. The Sleeping
state is specifically a special state where the host controller is just waiting for a period
of time before resuming execution of the Asynchronous schedule.
Figure 63.

Example State Machine for Managing Asynchronous Schedule Traversal

(Periodic Schedule Complete
Async Schedule Enabled)
<label> Denotes an action is
triggered by this event. Action is
described where <label> is
defined.
The actions referred to in
®
®
Intel
IXP45X and Intel
IXP46X Product Line of Network Processors
Developer's Manual
436
®
®
IXP45X and Intel
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
.AND.
Figure 63
"Example Derivation for
The traversal algorithm is simple:
Figure 63
Sleep Timer Expires
Empty List
Asynch Sched
Active
End of Micro-Frame
Asynch Sched
Not Active
are defined in
Table
illustrates a sample
B
A
Asynch Sched
Sleeping
End of Micro-Frame
B4506-01
173.
August 2006
Order Number: 306262-004US
C

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ixp46x

Table of Contents