Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: DMA Access Driver (IxDmaAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 125
1. Client calls ixDmaAccInit to initialize the IxDmaAcc component with an NPE ID as a
parameter. The NPE ID indicates which NPE is been used to provide the DMA functionality.
2. ixDmaAccInit checks if ixQmgr and the OSAL components have been initialized.
3. ixDmaAccInit calls ixDmaAccDescriptorPoolInit to allocate and initialize an array of
descriptor data structures to store the DMA request and client’s callback function.
(See the ixDmaAccDescriptorManager description.)
4. ixDmaAccInit calls ixQmgrConfig to configure the DMA request queue and the DMA done
queue.
The queue ID depends on which NPE the DMA component will be loaded. The selection of
which NPE to run is made during run time by the client code.
The client also need to initialize AQM (the Queue Manager).
5. ixDmaAccInit calls ixQMgrNotificationCallbackSet to register the callback function for the
DMA-done queue.
6. ixDmaAccInit calls ixOsal to initialize mutex.
The mutex ID will be used to access queue descriptor entry pool.
ixDmaAccInit returns IX_DMA_SUCCESS upon completion of the DMA initialization.
8.9.2 DMA Configuration and Data Transfer
Figure 47 describes the configuration and DMA data transfer between a client and an NPE.
Figure 46. IxDMAcc Initialization
Client IxDmaAcc
IxQMg
1. ixDmaAccInit
4. ixQMgrConfig
5. IxQMgrNotificationCallbackSet
IX_DMA_SUCCESS
IxDmaAccDescriptorManager
2. Init Config
IX_SUCCESS
ixOsal
6. ixOsalMutexInit
3. ixDmaAccDescriptorPoolInit
B2360-02