Functions | Defines | Data Structures | Typedefs | Variables

dman3.h File Reference


Detailed Description

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>
Include dependency graph for dman3.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.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated