Intel® IXP400 Software
Access-Layer Components: Queue Manager (IxQMgr) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
274 Document Number: 252539, Revision: 007
Set the callback type for the HSS queue to periodic and the Eth Rx queue to sporadic using the
ixQMgrCallbackTypeSet() function.
Note: All other queues (Tx queues, RxFree queues and TxDone queues) will have the callback type set to
the default callback type of IX_QMGR_TYPE_REALTIME_OTHER.
Start the dispatcher by calling the ixQMgrDispatcherLoop function.
On completion of the periodic task, make a call to the ixQMgrPeriodicDone() function to
enable the sporadic task.
18.11 Threading
The IxQMgr does not perform any locking on accesses to the IxQMgr registers and queues. If
multiple threads access the IxQMgr, the following IxQMgr functions need to be protected by
locking during concurrent access to the same queue:
ixQMgrQWrite()
ixQMgQRead()
ixQMgrQReadWithChecks()
ixQMgrQWriteWithChecks()
ixMgrQBurstRead()
ixQMgrQBurstWrite()
ixQMgrQReadMWordsMinus1()
ixQMgrQPeek()
ixQMgrQPoke()
ixQMgrQNotificationtEnable()
ixQMgrQNotificationDisable()
ixQMgrQStatusGet()
ixQMgrQWatermarkSet()
ixQMgrDispatcherLoopRunA0/B0/B0LLP()()
All IxQMgr functions can be called from any thread, with the exception of ixQMgrInit(), which
should be called only once — before any other call.
18.12 Dependencies
The IxQMgr component is dependent on the OSAL and Feature Control components. IxQMgr uses
OSAL to register AQM ISRs. IxQMgr also uses IxFeatureCtrl to determine the processor type and
stepping to select which dispatchers may be supported.