XDAIS  dais-x04
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields
IDMA3_ProtocolObj Struct Reference

These functions are used to determine memory requirements for and initialize the IDMA3 protocol's environment that will be allocated by the DMA manager. More...

#include <idma3.h>

Collaboration diagram for IDMA3_ProtocolObj:
Collaboration graph

Data Fields

String name
Void(* getEnvMemRec )(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec)
Bool(* initHandle )(IDMA3_Handle handle)
Bool(* deInitHandle )(IDMA3_Handle handle)

Detailed Description

These functions are used to determine memory requirements for and initialize the IDMA3 protocol's environment that will be allocated by the DMA manager.

Remarks:
These fxns are implemented by the IDMA3 protocol that is used for a given channel (e.g, ACPY3), and are passed in the IDMA3_ChannelRec structure to request a logical DMA channel. If the IDMA3 protocol does not require any particular one of these functions, it may be set to NULL.
getEnvMemRec() - Called by the DMA manager when creating a logical DMA channel, to query the IDMA3 protocol's memory requirements for its environment.
initHandle() - Called by the DMA manager after allocation the environment, to allow the IDMA3 protocol to do any initialization of its environment.
deInitHandle() - Called by the DMA manager when a channel is freed, so that the IDMA3 protocol can do any required de-initialization or freeing any memory that may have been allocated in initHandle().

Field Documentation

String IDMA3_ProtocolObj::name

Name of the protocol

Void(* IDMA3_ProtocolObj::getEnvMemRec)(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec)

Fill in the IDMA3_MemRec with the memory attributes needed for allocation of the IDMA3 protocol's environment buffer.

Bool(* IDMA3_ProtocolObj::initHandle)(IDMA3_Handle handle)

Initialize the env stored in the IDMA3 channel handle. Return TRUE on success, FALSE otherwise. If FALSE is returned channel creation will fail.

When (and if) the framework/resource manager allocates requested internal 'env' memory as 'scratch', the 'env' pointer passed in the IDMA3_Handle points to a persistent, private memory which contains the address of the 'scratch' allocated 'internal' 'env' memory in the first word of the 'persistent' 'env' pointer. If the first word of the env memory is NULL, then no separate 'scratch' memory has been allocated and 'env' memory itself is 'persistent'.

Bool(* IDMA3_ProtocolObj::deInitHandle)(IDMA3_Handle handle)

De-Initialize the env stored in the IDMA3 channel handle, before it is freed by the DMA manager.


The documentation for this struct was generated from the following file:
Copyright 2013, Texas Instruments Incorporated