EDMA3 Resource Manager Initialization APIs
[EDMA3 Resource Manager APIs]

Functions

EDMA3_RM_Result EDMA3_RM_create (uint32_t phyCtrllerInstId, const EDMA3_RM_GblConfigParams *gblCfgParams, const void *miscParam)
 Create EDMA3 Resource Manager Object.
EDMA3_RM_Result EDMA3_RM_delete (uint32_t phyCtrllerInstId, const void *param)
 Delete EDMA3 Resource Manager Object.
EDMA3_RM_Handle EDMA3_RM_open (uint32_t phyCtrllerInstId, const EDMA3_RM_Param *initParam, EDMA3_RM_Result *errorCode)
 Open EDMA3 Resource Manager Instance.
EDMA3_RM_Result EDMA3_RM_close (EDMA3_RM_Handle hEdmaResMgr, const void *param)
 Close EDMA3 Resource Manager Instance.

Function Documentation

EDMA3_RM_Result EDMA3_RM_create ( uint32_t  phyCtrllerInstId,
const EDMA3_RM_GblConfigParams gblCfgParams,
const void *  miscParam 
)

Create EDMA3 Resource Manager Object.

This API is used to create the EDMA3 Resource Manager Object. It should be called only ONCE for each EDMA3 hardware instance.

Init-time Configuration structure for EDMA3 hardware is provided to pass the SoC specific information. This configuration information could be provided by the user at init-time. In case user doesn't provide it, this information could be taken from the SoC specific configuration file edma3_<SOC_NAME>_cfg.c, in case it is available.

This API clears the error specific registers (EMCR/EMCRh, QEMCR, CCERRCLR) and sets the TCs priorities and Event Queues' watermark levels, if the 'miscParam' argument is NULL. User can avoid these registers' programming (in some specific use cases) by SETTING the 'isSlave' field of 'EDMA3_RM_MiscParam' configuration structure and passing this structure as the third argument (miscParam).

After successful completion of this API, Resource Manager Object's state changes to EDMA3_RM_CREATED from EDMA3_RM_DELETED.

Parameters:
phyCtrllerInstId [IN] EDMA3 Controller Instance Id (Hardware instance id, starting from 0).
gblCfgParams [IN] SoC specific configuration structure for the EDMA3 Hardware.
miscParam [IN] Misc configuration options provided in the structure 'EDMA3_RM_MiscParam'. For default options, user can pass NULL in this argument.
Returns:
EDMA3_RM_SOK or EDMA3_RM Error Code
EDMA3_RM_Result EDMA3_RM_delete ( uint32_t  phyCtrllerInstId,
const void *  param 
)

Delete EDMA3 Resource Manager Object.

This API is used to delete the EDMA3 RM Object. It should be called once for each EDMA3 hardware instance, ONLY after closing all the previously opened EDMA3 RM Instances.

After successful completion of this API, Resource Manager Object's state changes to EDMA3_RM_DELETED.

Parameters:
phyCtrllerInstId [IN] EDMA3 Phy Controller Instance Id (Hardware instance id, starting from 0).
param [IN] For possible future use.
Returns:
EDMA3_RM_SOK or EDMA3_RM Error Code
EDMA3_RM_Handle EDMA3_RM_open ( uint32_t  phyCtrllerInstId,
const EDMA3_RM_Param initParam,
EDMA3_RM_Result *  errorCode 
)

Open EDMA3 Resource Manager Instance.

This API is used to open an EDMA3 Resource Manager Instance. It could be called multiple times, for each possible EDMA3 shadow region. Maximum EDMA3_MAX_RM_INSTANCES instances are allowed for each EDMA3 hardware instance.

Also, only ONE Master Resource Manager Instance is permitted. This master instance (and hence the region to which it belongs) will only receive the EDMA3 interrupts, if enabled.

User could pass the instance specific configuration structure (initParam->rmInstInitConfig) as a part of the 'initParam' structure, during init-time. In case user doesn't provide it, this information could be taken from the SoC specific configuration file edma3_<SOC_NAME>_cfg.c, in case it is available.

By default, this Resource Manager instance will clear the PaRAM Sets while allocating them. To change the default behavior, user should use the IOCTL interface appropriately.

Parameters:
phyCtrllerInstId [IN] EDMA3 Controller Instance Id (Hardware instance id, starting from 0).
initParam [IN] Used to Initialize the Resource Manager Instance (Master or Slave).
errorCode [OUT] Error code while opening RM instance.
Returns:
Handle to the opened Resource Manager instance Or NULL in case of error.
Note:
This function disables the global interrupts (by calling API edma3OsProtectEntry with protection level EDMA3_OS_PROTECT_INTERRUPT) while modifying the global RM data structures, to make it re-entrant.
EDMA3_RM_Result EDMA3_RM_close ( EDMA3_RM_Handle  hEdmaResMgr,
const void *  param 
)

Close EDMA3 Resource Manager Instance.

This API is used to close a previously opened EDMA3 RM Instance.

Parameters:
hEdmaResMgr [IN] Handle to the previously opened Resource Manager Instance.
param [IN] For possible future use.
Returns:
EDMA3_RM_SOK or EDMA3_RM Error Code
Note:
This function disables the global interrupts (by calling API edma3OsProtectEntry with protection level EDMA3_OS_PROTECT_INTERRUPT) while modifying the global RM data structures, to make it re-entrant.

Generated on Mon Feb 14 18:31:17 2011 for EDMA3 Resource Manager by  doxygen 1.6.1