![]() |
![]() |
DMAN3 Interface Definitions - 3rd Generation DMA Manager. Application interface to the DMA Manager. Grants DMA resources to xDAIS algorithms.
#include <ti/xdais/ialg.h>#include <ti/xdais/idma3.h>
Go to the source code of this file.
Data Structures | |
| struct | DMAN3_Params |
| The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment. More... | |
Defines | |
| #define | DMAN3_GTNAME "ti.sdo.fc.dman3" |
| #define | DMAN3_MAXGROUPS 20 |
Defines: DMAN3 Status Codes | |
| #define | DMAN3_SOK 0 |
| #define | DMAN3_EOUTOFMEMORY -1 |
| #define | DMAN3_EFAIL -2 |
| #define | DMAN3_EFREE -3 |
| #define | DMAN3_EOUTOFTCCS -4 |
| #define | DMAN3_EOUTOFPARAMS -5 |
| #define | DMAN3_ETCCCONFIG -6 |
| #define | DMAN3_EPARAMCONFIG -7 |
Typedefs | |
| typedef Bool(* | DMAN3_ScratchAllocFxn )(IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs) |
| Function prototype for allocating IDMA3 Object's env from shared scratch memory. Algorithms might specify a particular IDMA3 protocol that provides custom DMA services. This protocol might require extra memory for the IDMA3 object's environment. DMAN3_ScratchAllocFxn might be used to allocate this memory. If this is NULL, then the env will be allocated from persistent memory. | |
| typedef Void(* | DMAN3_ScratchFreeFxn )(Int mutexId, Void *addr, Uns size) |
| Function prototype for freeing IDMA3 Object's env from shared scratch memory. If this is NULL then env will be freed from persistent memory. | |
Functions | |
| Int | DMAN3_grantDmaChannels (Int groupId, IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs) |
| Add one or several algorithms to the DMA Manager. The DMA Manager will grant DMA resources to the algorithms as a result. This function is called when initializing XDAIS algorithm instances. | |
| Void | DMAN3_exit (Void) |
| Finalization method of the DMAN module. | |
| Int | DMAN3_createChannels (Int groupId, IDMA3_ChannelRec dmaTab[], Int numChans) |
| Allocate and initialize memory for one or several channel handles. | |
| Void | DMAN3_init (Void) |
| Initialization method of the DMAN3 module. DMAN3_init() uses externally configured and provided DMAN3_PARAMS to initialize DMAN3 resources (QDMA channel map, memory heap...). | |
| Int | DMAN3_releaseDmaChannels (IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs) |
| Remove logical channel resources from one or several algorithm instances. | |
| Int | DMAN3_freeChannels (IDMA3_Handle channelTab[], Int numChans) |
| Free memory for array of channel handles. | |
Variables | |
| DMAN3_Params | DMAN3_PARAMS |
| Default module configuration structure (defined in dman3.c). | |
| Uns | ti_sdo_fc_dman3_DMAN3_numQdmaGroup [20+1] |
| Array containing the number of Qdma channels that will be assigned to the algorithm groups for sharing. | |