ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN protocol.
WARNING: THIS IS NOT THE FINAL REVISION OF ECPY INTERFACE. IT IS SUBJECT TO CHANGES PER REVIEW FEEDBACK. ADDITIONALLY, CURRENTLY IT IS AN API DEFINITION ONLY, IMPLEMENTATION AND COLLATERAL SUPPORT WILL BE ADDED IN FUTURE FC RELEASES.
#include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
Go to the source code of this file.
Functions | |
Void | ECPY_configure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo) |
Configure all DMA transfer settings for the logical channel. | |
Void | ECPY_directConfigure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo) |
Void | ECPY_configure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo) |
Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings. | |
Void | ECPY_directConfigure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo) |
Void | ECPY_configure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo) |
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings. | |
Void | ECPY_directConfigure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo) |
Void | ECPY_setFinal (ECPY_Handle handle, short transferNo) |
Indicate that a given transfer will be the last in a sequence of linked transfers. | |
Void | ECPY_directSetFinal (ECPY_Handle handle, short transferNo) |
Void | ECPY_setDestinationMemoryMode (ECPY_Handle handle, short mode) |
Indicate the memory space that DMA transfers submitted to the channel associated with the handle will modify. This information can be used for channel to TC Queue mapping for avoiding known Silicon GEM lockup issues or for performance improvements. | |
Void | ECPY_start (ECPY_Handle handle) |
Submit a single or linked transfer using the most recently configured transfer parameter settings. | |
Void | ECPY_directStartEdma (ECPY_Handle handle) |
Void | ECPY_directStartQdma (ECPY_Handle handle) |
Void | ECPY_wait (ECPY_Handle handle) |
Wait for all data transfers on a logical channel to complete. | |
Void | ECPY_directWait (ECPY_Handle handle) |
Wait for all EDMA data transfers submitted to the logical channel via ECPY_directStartEdma to complete. | |
Void | ECPY_activate (ECPY_Handle handle) |
Activate the given channel. | |
ECPY_Handle | ECPY_createHandle (IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg) |
Create an ECPY Handle using the supplied IRES_EDMA3CHAN handle. | |
Void | ECPY_deleteHandle (ECPY_Handle handle) |
Delete ECPY_Handle. | |
Void | ECPY_deactivate (ECPY_Handle handle) |
Deactivates the given channel. | |
Void | ECPY_init (Void) |
Initialize the ECPY module. Called by framework. | |
Void | ECPY_exit (Void) |
Finalization of the ECPY module. | |
Defines | |
#define | ti_sdo_fc_ires_NOPROTOCOLREV |
#define | ECPY_GTNAME "ti.sdo.fc.ecpy" |
#define | ECPY_MODNAME "ti.sdo.fc.ecpy" |
Name to pass to Diags_setMask() to enable logging for ECPY functions. For example, Diags_setMask(ECPY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect. | |
Data Structures | |
struct | ECPY_Obj |
ECPY_Obj defines the structure of the dma channel handle that is used to manage state about the EDMA3 channel. More... | |
struct | ECPY_Params |
DMA transfer specific parameters. Defines the configuration of a logical channel. More... | |
struct | ECPY_CfgParams |
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations. More... | |
Typedefs | |
typedef enum ECPY_ParamField16b | ECPY_ParamField16b |
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed. | |
typedef enum ECPY_ParamField32b | ECPY_ParamField32b |
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed. | |
typedef enum ECPY_TransferType | ECPY_TransferType |
ECPY DMA Transfer Types: | |
typedef struct ECPY_Obj | ECPY_Obj |
ECPY_Obj defines the structure of the dma channel handle that is used to manage state about the EDMA3 channel. | |
typedef struct ECPY_Obj * | ECPY_Handle |
Handle to "logical" ECPY Channel. | |
typedef struct ECPY_Params | ECPY_Params |
DMA transfer specific parameters. Defines the configuration of a logical channel. | |
typedef Bool( | ECPY_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs) |
Memory allocation function signature for module configuration. | |
typedef Void( | ECPY_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs) |
Memory deallocation function signature for module configuration. | |
typedef struct ECPY_CfgParams | ECPY_CfgParams |
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations. | |
Enumerations | |
enum | ECPY_ParamField16b { ECPY_PARAMFIELD_ELEMENTSIZE = 8, ECPY_PARAMFIELD_NUMELEMENTS = 10, ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16, ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18, ECPY_PARAMFIELD_FRAMEINDEX_SRC = 24, ECPY_PARAMFIELD_FRAMEINDEX_DST = 26, ECPY_PARAMFIELD_NUMFRAMES = 28 } |
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed. More... | |
enum | ECPY_ParamField32b { ECPY_PARAMFIELD_SRCADDR = 4, ECPY_PARAMFIELD_DSTADDR = 12, ECPY_PARAMFIELD_ELEMENTINDEXES = 16, ECPY_PARAMFIELD_FRAMEINDEXES = 24 } |
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed. More... | |
enum | ECPY_TransferType { ECPY_1D1D, ECPY_1D2D, ECPY_2D1D, ECPY_2D2D } |
ECPY DMA Transfer Types: More... | |
Variables | |
__FAR__ ECPY_CfgParams | ECPY_CFG_PARAMS |
Initialization parameters for the ECPY module. |