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 <ti/xdais/ialg.h>
#include <ti/xdais/idma3.h>
Include dependency graph for dman3.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).

Copyright 2009, Texas Instruments Incorporated