Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: DMA Access Driver (IxDmaAcc) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
126 Document Number: 252539, Revision: 007
0. Client needs to initialize and configure the hardware for the DMA transfer to ensure that the
devices are set up properly and ready for DMA transfer.
1. Client requests the DMA transfer by calling ixDmaAccDmaTransfer function.
2. Internally, ixDmaAccDmaTransfer function calls ixDmaAccValidateParams function to
validate the client’s input parameters.
3. If the client input parameters are valid, the ixDmaAccDmaTransfer function gets a descriptor
entry from the descriptor manager.
The descriptor pool needs to be guarded by mutual exclusion because there are two contexts
that access the pool descriptor buffer. The ixDmaAcc component will get the pool entry and
the AQM will free the entry pool (via callback).
4. The ixDmaAccDmaTransfer function composes the descriptor — based on the client’s
parameters — and calls ixQMgrQWrite to queue the descriptor to AQM.
5. ixDmaAccDmaTransfer returns and gets ready to process the new DMA transfer request.
6. The NPE reads the queue manager and does the DMA transfers. Upon completion of the DMA
transfer, the NPE writes to AQM’s done queue. The AQM dispatcher calls the IxDmaAcc’s
registered callback function.
7. IxDmaAccCallback calls ixQMgrQRead to read the result and that result is stored in the third
descriptor. If the third word of the descriptor is zero, an AHB error is asserted by a peripheral
having been accessed.
Figure 47. DMA Transfer Operation
Client IxDmaAcc
IxQMgr
4. ixQMgrQWrite
IX_DMA_SUCCESS
6. ixQMgrCallback
9. ClientCallback
NPE
7. ixQMgrQRead
IxDmaAccDesMgr*
IX_STATUS
IX_STATUS
HWAccixOsal
1. ixDmaAccDmaTransfer
2. ixDmaAccValidateParams
0. Init and config
3.1 ixOsalMutexLock
3.2 ixDmaAccDescriptorGet
3.3 ixOsalMutexUnlock
5.1 ReadRequestQueue
5.2 WriteDoneQueue
8.1 ixOsalMutexLock
8.3 ixOsalMutexUnlock
8.2 ixDmaAccDescriptorFree
10. Release Resources
B2361-02