EDMA3_DRV_InstanceInitConfig Struct Reference
[EDMA3 Driver Data Structures]

Init-time Region Specific Configuration structure for EDMA3 Driver, to provide region specific Information. More...

#include <edma3_drv.h>

Data Fields

uint32_t ownPaRAMSets [EDMA3_MAX_PARAM_DWRDS]
uint32_t ownDmaChannels [EDMA3_MAX_DMA_CHAN_DWRDS]
uint32_t ownQdmaChannels [EDMA3_MAX_QDMA_CHAN_DWRDS]
uint32_t ownTccs [EDMA3_MAX_TCC_DWRDS]
uint32_t resvdPaRAMSets [EDMA3_MAX_PARAM_DWRDS]
 Reserved PaRAM Sets.
uint32_t resvdDmaChannels [EDMA3_MAX_DMA_CHAN_DWRDS]
 Reserved DMA channels.
uint32_t resvdQdmaChannels [EDMA3_MAX_QDMA_CHAN_DWRDS]
 Reserved QDMA channels.
uint32_t resvdTccs [EDMA3_MAX_TCC_DWRDS]
 Reserved TCCs.

Detailed Description

Init-time Region Specific Configuration structure for EDMA3 Driver, to provide region specific Information.

This configuration structure is used to specify which EDMA3 resources are owned and reserved by the EDMA3 Driver instance. This configuration structure is shadow region specific and will be provided by the user at run-time while calling EDMA3_DRV_open ().

Owned resources: ****************

EDMA3 Driver Instances are tied to different shadow regions and hence different masters. Regions could be:

a) ARM, b) DSP, c) IMCOP (Imaging Co-processor) etc.

User can assign each EDMA3 resource to a shadow region using this structure. In this way, user specifies which resources are owned by the specific EDMA3 DRV Instance. This assignment should also ensure that the same resource is not assigned to more than one shadow regions (unless desired in that way). Any assignment not following the above mentioned approach may have catastrophic consequences.

Reserved resources: *******************

During EDMA3 DRV initialization, user can reserve some of the EDMA3 resources for future use, by specifying which resources to reserve in the configuration data structure. These (critical) resources are reserved in advance so that they should not be allocated to someone else and thus could be used in future for some specific purpose.

User can request different EDMA3 resources using two methods: a) By passing the resource type and the actual resource id, b) By passing the resource type and ANY as resource id

For e.g. to request DMA channel 31, user will pass 31 as the resource id. But to request ANY available DMA channel (mainly used for memory-to-memory data transfer operations), user will pass EDMA3_DRV_DMA_CHANNEL_ANY as the resource id.

During initialization, user may have reserved some of the DMA channels for some specific purpose (mainly for peripherals using EDMA). These reserved DMA channels then will not be returned when user requests ANY as the resource id.

Same logic applies for QDMA channels and TCCs.

For PaRAM Set, there is one difference. If the DMA channels are one-to-one tied to their respective PaRAM Sets (i.e. user cannot 'choose' the PaRAM Set for a particular DMA channel), EDMA3 Driver automatically reserves all those PaRAM Sets which are tied to the DMA channels. Then those PaRAM Sets would not be returned when user requests for ANY PaRAM Set (specifically for linking purpose). This is done in order to avoid allocating the PaRAM Set, tied to a particular DMA channel, for linking purpose. If this constraint is not there, that DMA channel thus could not be used at all, because of the unavailability of the desired PaRAM Set.


Field Documentation

uint32_t EDMA3_DRV_InstanceInitConfig::ownPaRAMSets[EDMA3_MAX_PARAM_DWRDS]

PaRAM Sets owned by the EDMA3 Driver Instance.

uint32_t EDMA3_DRV_InstanceInitConfig::ownDmaChannels[EDMA3_MAX_DMA_CHAN_DWRDS]

DMA Channels owned by the EDMA3 Driver Instance.

uint32_t EDMA3_DRV_InstanceInitConfig::ownQdmaChannels[EDMA3_MAX_QDMA_CHAN_DWRDS]

QDMA Channels owned by the EDMA3 Driver Instance.

uint32_t EDMA3_DRV_InstanceInitConfig::ownTccs[EDMA3_MAX_TCC_DWRDS]

TCCs owned by the EDMA3 Driver Instance.

uint32_t EDMA3_DRV_InstanceInitConfig::resvdPaRAMSets[EDMA3_MAX_PARAM_DWRDS]

Reserved PaRAM Sets.

PaRAM Sets reserved during initialization for future use. These will not be given when user requests for ANY available PaRAM Set for linking using 'EDMA3_DRV_LINK_CHANNEL' as channel id.

uint32_t EDMA3_DRV_InstanceInitConfig::resvdDmaChannels[EDMA3_MAX_DMA_CHAN_DWRDS]

Reserved DMA channels.

DMA channels reserved during initialization for future use. These will not be given when user requests for ANY available DMA channel using 'EDMA3_DRV_DMA_CHANNEL_ANY' as channel id.

uint32_t EDMA3_DRV_InstanceInitConfig::resvdQdmaChannels[EDMA3_MAX_QDMA_CHAN_DWRDS]

Reserved QDMA channels.

QDMA channels reserved during initialization for future use. These will not be given when user requests for ANY available QDMA channel using 'EDMA3_DRV_QDMA_CHANNEL_ANY' as channel id.

uint32_t EDMA3_DRV_InstanceInitConfig::resvdTccs[EDMA3_MAX_TCC_DWRDS]

Reserved TCCs.

TCCs reserved during initialization for future use. These will not be given when user requests for ANY available TCC using 'EDMA3_DRV_TCC_ANY' as resource id.


The documentation for this struct was generated from the following file:

Generated on Mon Feb 14 18:34:01 2011 for EDMA3 Driver by  doxygen 1.6.1