DMAN3 Interface Definitions - 3rd Generation DMA Manager. Application interface to the DMA Manager. Grants DMA resources to xDAIS algorithms.
#include <xdc/std.h>
#include <xdc/runtime/IHeap.h>
#include <ti/xdais/ialg.h>
#include <ti/xdais/idma3.h>
Go to the source code of this file.
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. | |
Defines | |
#define | DMAN3_MODNAME "ti.sdo.fc.dman3" |
Name to pass to Diags_setMask() to enable logging for DMAN3 functions. For example, Diags_setMask(DMAN3_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect. | |
#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 |
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... | |
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. | |
typedef struct DMAN3_Params | 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. | |
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. | |
Bool | ti_sdo_fc_dman3_DMAN3_useCustomDma |
Flag indicating if custom DMA library is being used. |