IDMA3_Obj holds the private state associated with each logical DMA channel. More...
#include <idma3.h>
Data Fields | |
unsigned short | numTccs |
unsigned short | numPaRams |
unsigned char * | tccTable |
Uns * | paRamAddr |
unsigned short | qdmaChan |
Bool | transferPending |
Void * | env |
IDMA3_ProtocolHandle | protocol |
Bool | persistent |
IDMA3_Obj holds the private state associated with each logical DMA channel.
unsigned short IDMA3_Obj::numTccs |
The number of TCCs allocated to this channel.
unsigned short IDMA3_Obj::numPaRams |
The number of PaRam entries allocated to this channel.
unsigned char* IDMA3_Obj::tccTable |
TCCs assigned to channel
Uns* IDMA3_Obj::paRamAddr |
PaRAMs assigned to channel
unsigned short IDMA3_Obj::qdmaChan |
Physical QDMA Channel assigned to handle
Set to true when a new transfer is started on this channel. Set to false when a wait/sync operation is performed on this channel.
Void* IDMA3_Obj::env |
IDMA3_ProtocolHandle ('protocol') dependent private channel memory. The memory for the 'env' is allocated and reclaimed by the framework when this IDMA3 channel has been requested with a non-NULL 'protocol'.
The size, type and alignment of the allocated 'env' memory is obtained by calling the channel's 'protocol'->getEnvMemRec() function.
During channel creation, the 'env' pointer must always be created as a private & persistent memory assigned to the IDMA3 channel object. However, the framework/resource manager is also allowed to allocate requested internal 'env' memory as 'scratch' memory which can only be used when the channel is in active state. In the 'scratch' allocation case, the framework/resource manager must still allocate the 'env' as 'persistent', possibly in external memory, and must pass the address of the 'scratch' 'internal' 'env' memory in the first word of the 'env' memory.
If the channel 'env' memory is created as 'persistent' with no 'scratch' shadow, then the first word of the env memory must be set to NULL.
The channel protocol functions used by the DMA manager to determine memory requirements for the 'env'
Indicates if the channel has been allocated with persistent property.