summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 74c58de)
raw | patch | inline | side by side (parent: 74c58de)
author | Prasad Konnur <prasadkonnur@ti.com> | |
Tue, 16 Jul 2013 12:07:55 +0000 (17:37 +0530) | ||
committer | Prasad Konnur <prasadkonnur@ti.com> | |
Wed, 17 Jul 2013 08:47:16 +0000 (14:17 +0530) |
Global and static variables are placed in .fardata:.edma3Globals section
This change is only for the libs compiled with C6000 compiler
makefile variable -DBUILD_C6XDSP defined in rules.mk files
for 66, 64t, 64p, 674 which used C6000 Compiler.
Signed-off-by: Prasad Konnur <prasadkonnur@ti.com>
This change is only for the libs compiled with C6000 compiler
makefile variable -DBUILD_C6XDSP defined in rules.mk files
for 66, 64t, 64p, 674 which used C6000 Compiler.
Signed-off-by: Prasad Konnur <prasadkonnur@ti.com>
diff --git a/makerules/rules_64p.mk b/makerules/rules_64p.mk
index a0631f17ed9a15b1bedec3d476f5d2f4960f536b..97a041e526c767533921b862737462c2f6dfea8e 100755 (executable)
--- a/makerules/rules_64p.mk
+++ b/makerules/rules_64p.mk
endif\r
\r
# Internal CFLAGS - normally doesn't change\r
-CFLAGS_INTERNAL = -c -qq -pdsw225 -mv64p $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT)\r
+CFLAGS_INTERNAL = -c -qq -pdsw225 -mv64p $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT) -DBUILD_C6XDSP\r
CFLAGS_DIROPTS = -fr=$(OBJDIR) -fs=$(OBJDIR)\r
\r
# CFLAGS based on profile selected\r
$(AR) $(ARFLAGS) $@ $(OBJ_PATHS)\r
\r
# Linker options and rules\r
-LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c \r
+LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c\r
\r
# Assemble Linker flags from all other LNKFLAGS definitions\r
_LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE)) \r
diff --git a/makerules/rules_64t.mk b/makerules/rules_64t.mk
index 0de5baf3d9ad57edc723d05791118e10e9aa2cdc..215e51f713b6150ade7b73ee8107e95438befa85 100644 (file)
--- a/makerules/rules_64t.mk
+++ b/makerules/rules_64t.mk
endif
# Internal CFLAGS - normally doesn't change
-CFLAGS_INTERNAL = -c -qq -pdsw225 -mvtesla $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT)
+CFLAGS_INTERNAL = -c -qq -pdsw225 -mvtesla $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT) -DBUILD_C6XDSP
CFLAGS_DIROPTS = -fr=$(OBJDIR) -fs=$(OBJDIR)
# CFLAGS based on profile selected
$(AR) $(ARFLAGS) $@ $(OBJ_PATHS)
# Linker options and rules
-LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c
+LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c
# Assemble Linker flags from all other LNKFLAGS definitions
_LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE))
diff --git a/makerules/rules_66.mk b/makerules/rules_66.mk
index c4a58b49a7d5522bcd2342a9223f5f6dff815a62..df37a5b6c3c49b9489ed754af6f9b9a0647edb03 100644 (file)
--- a/makerules/rules_66.mk
+++ b/makerules/rules_66.mk
endif
# Internal CFLAGS - normally doesn't change
-CFLAGS_INTERNAL = -c -qq -pdsw225 -mv6600 $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT)
+CFLAGS_INTERNAL = -c -qq -pdsw225 -mv6600 $(CSWITCH_FORMAT) $(CSWITCH_ENDIAN) -mo -eo.$(OBJEXT) -ea.$(ASMEXT) -DBUILD_C6XDSP
CFLAGS_DIROPTS = -fr=$(OBJDIR) -fs=$(OBJDIR)
# CFLAGS based on profile selected
$(AR) $(ARFLAGS) $@ $(OBJ_PATHS)
# Linker options and rules
-LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c
+LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=64+ -c
# Assemble Linker flags from all other LNKFLAGS definitions
_LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE))
diff --git a/makerules/rules_674.mk b/makerules/rules_674.mk
index 380a035fa56754730e7887f163873180acccdf3e..721c426bc4dda5c23e984990b9c384347ee73ff4 100755 (executable)
--- a/makerules/rules_674.mk
+++ b/makerules/rules_674.mk
endif\r
\r
# Internal CFLAGS - normally doesn't change\r
-CFLAGS_INTERNAL = -c -qq -pdsw225 -mv6740 $(CSWITCH_FORMAT) -mo -eo.$(OBJEXT) -ea.$(ASMEXT)\r
+CFLAGS_INTERNAL = -c -qq -pdsw225 -mv6740 $(CSWITCH_FORMAT) -mo -eo.$(OBJEXT) -ea.$(ASMEXT) -DBUILD_C6XDSP\r
CFLAGS_DIROPTS = -fr=$(OBJDIR) -fs=$(OBJDIR)\r
\r
# CFLAGS based on profile selected\r
$(AR) $(ARFLAGS) $@ $(OBJ_PATHS)\r
\r
# Linker options and rules\r
-LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=6740 -c \r
+LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=6740 -c\r
\r
# Assemble Linker flags from all other LNKFLAGS definitions\r
_LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE)) \r
diff --git a/packages/ti/sdo/edma3/drv/src/edma3_drv_adv.c b/packages/ti/sdo/edma3/drv/src/edma3_drv_adv.c
index 7892fab8abff27de098e863e0c57e4d3db795a47..5abb7ac4e35dc86c784d06474f2c87126a07dfd6 100755 (executable)
* this info will be taken from the config file "edma3_<PLATFORM_NAME>_cfg.c",
* for the specified platform.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
+#else
extern EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
+#endif
/**
* There could be a maximum of EDMA3_MAX_RM_INSTANCES instances per
* EDMA3 HW.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_Instance *ptrRMIArray;
+#else
extern EDMA3_RM_Instance *ptrRMIArray;
+#endif
/** Local MemZero function */
extern void edma3MemZero(void *dst, uint32_t len);
diff --git a/packages/ti/sdo/edma3/drv/src/edma3_drv_basic.c b/packages/ti/sdo/edma3/drv/src/edma3_drv_basic.c
index 4468f67d98fc778fdd2b57fee58b3503a2b81fb2..0bfbef571e334bbebad1094ce4f5ed17be194b82 100755 (executable)
* this info will be taken from the config file "edma3_<PLATFORM_NAME>_cfg.c",
* for the specified platform.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
+#else
extern EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
-
+#endif
/**
* Handles of EDMA3 Resource Manager Instances.
* There could be a maximum of EDMA3_MAX_RM_INSTANCES instances per
* EDMA3 HW.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_Instance *ptrRMIArray;
+#else
extern EDMA3_RM_Instance *ptrRMIArray;
+#endif
/** Local MemSet function */
extern void edma3MemZero(void *dst, uint32_t len);
diff --git a/packages/ti/sdo/edma3/drv/src/edma3_drv_init.c b/packages/ti/sdo/edma3/drv/src/edma3_drv_init.c
index 2f687f4ea85208c68833cbb40c48f333f2bb988d..f5f6203e3fe083928ca8f305a732b63a5f9a2a03 100755 (executable)
* this info will be taken from the config file "edma3_<PLATFORM_NAME>_cfg.c",
* for the specified platform.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
+#else
extern EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
-
+#endif
/**
* Handles of EDMA3 Resource Manager Instances.
* There could be a maximum of EDMA3_MAX_RM_INSTANCES instances per
* EDMA3 HW.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_Instance *ptrRMIArray;
+#else
extern EDMA3_RM_Instance *ptrRMIArray;
-
+#endif
/** Local MemZero function */
extern void edma3MemZero(void *dst, uint32_t len);
/** Local MemCpy function */
* Typically one object will cater to one EDMA3 HW controller
* and will have all regions' (ARM, DSP etc) specific config information.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(drvObj, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(drvObj, ".fardata:.edma3Globals");
#endif
EDMA3_DRV_Object drvObj [EDMA3_MAX_EDMA3_INSTANCES];
* regions. Multiple EDMA3 Driver instances on the same shadow
* region are NOT allowed.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(drvInstance, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(drvInstance, ".fardata:.edma3Globals");
#endif
EDMA3_DRV_Instance drvInstance [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_REGIONS];
* responsibility of the driver to free up the channel-associated resources
* from the Resource Manager layer).
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3DrvChBoundRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3DrvChBoundRes, ".fardata:.edma3Globals");
#endif
EDMA3_DRV_ChBoundResources edma3DrvChBoundRes [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_LOGICAL_CH];
@@ -153,8 +159,8 @@ EDMA3_DRV_ChBoundResources edma3DrvChBoundRes [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_
*
*/
#ifdef EDMA3_PROGRAM_QUEUE_NUM_REGISTER_INIT_TIME
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3DmaQdmaQueueNumConfig, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3DmaQdmaQueueNumConfig, ".fardata:.edma3Globals");
#endif
EDMA3_DRV_DmaQdmaQueueNum edma3DmaQdmaQueueNumConfig = {
{
};
#endif
+/**
+ * Used to reset the Internal EDMA3 Driver Data Structures for the first time.
+ */
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(drvInitDone, ".fardata:.edma3Globals");
+#endif
+static uint16_t drvInitDone = FALSE;
/* Local functions prototypes */
/*---------------------------------------------------------------------------*/
uint32_t count = 0;
EDMA3_DRV_Result result = EDMA3_DRV_SOK;
EDMA3_RM_GblConfigParams rmGblCfgParams;
- /**
- * Used to reset the Internal EDMA3 Driver Data Structures for the first time.
- */
- static uint16_t drvInitDone = FALSE;
/**
* We are NOT checking 'gblCfgParams' for NULL. Whatever user has passed
index db3a8979ca6b689dcfd14e9ea5f76ff0d5f4b4ca..9c8a5551afcef700f5e6a727bf2c81054a3a02b8 100755 (executable)
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
+
+ var makeFar = (((Program.build.target.isa.match(/66/)) || (Program.build.target.isa.match(/64t/)) || (Program.build.target.isa.match(/64p/)) || (Program.build.target.isa.match(/674/))) ? true : false);
+
%%}
/* Resource Manager Internal Header Files */
/* This const is required to access this constant in other header files */
const unsigned int EDMA3_MAX_RM_INSTANCES = `max_rm_instances`;
+/*
+% print("********** GUNP Program.build.target.isa " + Program.build.target.isa);
+*/
EDMA3_RM_InstanceInitConfig userInstInitConfigArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
EDMA3_RM_Instance resMgrInstanceArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
+% if (makeFar) {
+/* These pointers will be used to refer the above mentioned arrays. */
+far EDMA3_RM_Instance *resMgrInstance = (EDMA3_RM_Instance *)resMgrInstanceArray;
+far EDMA3_RM_InstanceInitConfig *userInitConfig = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
+
+/* Pointer to the above mentioned 2-D arrays, used for address calculation purpose */
+far EDMA3_RM_Instance *ptrRMIArray = (EDMA3_RM_Instance *)resMgrInstanceArray;
+far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
+
+% }
+% else {
/* These pointers will be used to refer the above mentioned arrays. */
EDMA3_RM_Instance *resMgrInstance = (EDMA3_RM_Instance *)resMgrInstanceArray;
EDMA3_RM_InstanceInitConfig *userInitConfig = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
EDMA3_RM_Instance *ptrRMIArray = (EDMA3_RM_Instance *)resMgrInstanceArray;
EDMA3_RM_InstanceInitConfig *ptrInitCfgArray = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
-
-
-
+% }
diff --git a/packages/ti/sdo/edma3/rm/src/edma3_rm_gbl_data.c b/packages/ti/sdo/edma3/rm/src/edma3_rm_gbl_data.c
index 5905cb299a7edcfc7bb902d5542786ccb8469335..c74562e47ab415eb580e471116921e8fd836e357 100755 (executable)
* this info will be taken from the config file "edma3_<PLATFORM_NAME>_cfg.c",
* for the specified platform.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(userInstInitConfigArray, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(userInstInitConfigArray, ".fardata:.edma3Globals");
#endif
EDMA3_RM_InstanceInitConfig userInstInitConfigArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
@@ -71,14 +71,23 @@ EDMA3_RM_InstanceInitConfig userInstInitConfigArray[EDMA3_MAX_EDMA3_INSTANCES][M
* There could be a maximum of EDMA3_MAX_RM_INSTANCES instances per
* EDMA3 HW.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(resMgrInstanceArray, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(resMgrInstanceArray, ".fardata:.edma3Globals");
#endif
EDMA3_RM_Instance resMgrInstanceArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
+
/* These pointers will be used to refer the above mentioned arrays. */
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(resMgrInstance, ".fardata:.edma3Globals");
+#pragma DATA_SECTION(userInitConfig, ".fardata:.edma3Globals");
+#endif
EDMA3_RM_Instance *resMgrInstance = (EDMA3_RM_Instance *)resMgrInstanceArray;
EDMA3_RM_InstanceInitConfig *userInitConfig = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
/* Pointer to the above mentioned 2-D arrays, used for address calculation purpose */
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(ptrRMIArray, ".fardata:.edma3Globals");
+#pragma DATA_SECTION(ptrInitCfgArray, ".fardata:.edma3Globals");
+#endif
EDMA3_RM_Instance *ptrRMIArray = (EDMA3_RM_Instance *)resMgrInstanceArray;
EDMA3_RM_InstanceInitConfig *ptrInitCfgArray = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
diff --git a/packages/ti/sdo/edma3/rm/src/edma3resmgr.c b/packages/ti/sdo/edma3/rm/src/edma3resmgr.c
index 7abd99de1c0ba834ecd65cfbc4b4659b87bda260..c8a61e04ce86f77bc1530525d59c1580fdf2f480 100755 (executable)
@@ -124,9 +124,13 @@ extern EDMA3_RM_InstanceInitConfig defInstInitConfig [EDMA3_MAX_EDMA3_INSTANCES]
* this info will be taken from the config file "edma3_<PLATFORM_NAME>_cfg.c",
* for the specified platform.
*/
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_InstanceInitConfig *userInitConfig;
+extern far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
+#else
extern EDMA3_RM_InstanceInitConfig *userInitConfig;
extern EDMA3_RM_InstanceInitConfig *ptrInitCfgArray;
-
+#endif
/**
* Handles of EDMA3 Resource Manager Instances.
* There could be a maximum of EDMA3_MAX_RM_INSTANCES instances per
* EDMA3 HW.
*/
-extern EDMA3_RM_Instance *resMgrInstance;
+#ifdef BUILD_C6XDSP
+extern far EDMA3_RM_Instance *resMgrInstance;
+extern far EDMA3_RM_Instance *ptrRMIArray;
+#else
extern EDMA3_RM_Instance *ptrRMIArray;
+extern EDMA3_RM_Instance *resMgrInstance;
+#endif
/** Max of DMA Channels */
uint32_t edma3_dma_ch_max_val[EDMA3_MAX_EDMA3_INSTANCES];
/** Min of Link Channels */
* Typically one RM object will cater to one EDMA3 HW controller
* and will have all the global config information.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(resMgrObj, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(resMgrObj, ".fardata:.edma3Globals");
#endif
EDMA3_RM_Obj resMgrObj[EDMA3_MAX_EDMA3_INSTANCES];
* scenario, this DMA channel <-> TCC mapping will be used to point to
* the correct callback function.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3DmaChTccMapping, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3DmaChTccMapping, ".fardata:.edma3Globals");
#endif
static uint32_t edma3DmaChTccMapping [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_DMA_CH];
@@ -190,8 +199,8 @@ static uint32_t edma3DmaChTccMapping [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_DMA_C
* scenario, this QDMA channel <-> TCC mapping will be used to point to
* the correct callback function.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3QdmaChTccMapping, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3QdmaChTccMapping, ".fardata:.edma3Globals");
#endif
static uint32_t edma3QdmaChTccMapping [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_QDMA_CH];
@@ -201,8 +210,8 @@ static uint32_t edma3QdmaChTccMapping [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_QDMA
* against a particular TCC. Used to call the callback
* functions linked to the particular channel.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3IntrParams, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3IntrParams, ".fardata:.edma3Globals");
#endif
static EDMA3_RM_TccCallbackParams edma3IntrParams [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_TCC];
@@ -214,8 +223,8 @@ static EDMA3_RM_TccCallbackParams edma3IntrParams [EDMA3_MAX_EDMA3_INSTANCES][ED
* which shadow region registers to access. All other interrupts coming
* from other shadow regions will not be handled.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3RegionId, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3RegionId, ".fardata:.edma3Globals");
#endif
static EDMA3_RM_RegionId edma3RegionId = EDMA3_MAX_REGIONS;
* masterExists[] is per EDMA3 hardware, hence it is created
* as an array.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(masterExists, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(masterExists, ".fardata:.edma3Globals");
#endif
static uint32_t masterExists [EDMA3_MAX_EDMA3_INSTANCES] = {FALSE,FALSE,FALSE};
* Number of PaRAM Sets actually present on the SoC. This will be updated
* while creating the Resource Manager Object.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3NumPaRAMSets, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3NumPaRAMSets, ".fardata:.edma3Globals");
#endif
uint32_t edma3NumPaRAMSets = EDMA3_MAX_PARAM_SETS;
* The list of Interrupt Channels which get allocated while requesting the
* TCC. It will be used while checking the IPR/IPRH bits in the RM ISR.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(allocatedTCCs, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(allocatedTCCs, ".fardata:.edma3Globals");
#endif
static uint32_t allocatedTCCs[EDMA3_MAX_EDMA3_INSTANCES][2u] =
{
* and stored in this array. It will be referenced in
* EDMA3_RM_allocContiguousResource () to look for contiguous resources.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(contiguousDmaRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(contiguousDmaRes, ".fardata:.edma3Globals");
#endif
static uint32_t contiguousDmaRes[EDMA3_MAX_DMA_CHAN_DWRDS] = {0x0u, 0x0u};
* and stored in this array. It will be referenced in
* EDMA3_RM_allocContiguousResource () to look for contiguous resources.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(contiguousQdmaRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(contiguousQdmaRes, ".fardata:.edma3Globals");
#endif
static uint32_t contiguousQdmaRes[EDMA3_MAX_QDMA_CHAN_DWRDS] = {0x0u};
* and stored in this array. It will be referenced in
* EDMA3_RM_allocContiguousResource () to look for contiguous resources.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(contiguousTccRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(contiguousTccRes, ".fardata:.edma3Globals");
#endif
static uint32_t contiguousTccRes[EDMA3_MAX_TCC_DWRDS] = {0x0u, 0x0u};
* and stored in this array. It will be referenced in
* EDMA3_RM_allocContiguousResource () to look for contiguous resources.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(contiguousParamRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(contiguousParamRes, ".fardata:.edma3Globals");
#endif
static uint32_t contiguousParamRes[EDMA3_MAX_PARAM_DWRDS];
* resource manager, when a request is made to free the channel,
* to free up the channel-associated resources.
*/
-#ifndef BUILD_TDA2XX_MPU
-#pragma DATA_SECTION(edma3RmChBoundRes, ".far");
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(edma3RmChBoundRes, ".fardata:.edma3Globals");
#endif
static EDMA3_RM_ChBoundResources edma3RmChBoundRes [EDMA3_MAX_EDMA3_INSTANCES][EDMA3_MAX_LOGICAL_CH];
-
+/**
+ * Used to reset the Internal EDMA3 Resource Manager Data Structures for the first time.
+ */
+#ifdef BUILD_C6XDSP
+#pragma DATA_SECTION(rmInitDone, ".fardata:.edma3Globals");
+#endif
+ static unsigned short rmInitDone = FALSE;
/*---------------------------------------------------------------------------*/
{
uint32_t count = 0u;
EDMA3_RM_Result result = EDMA3_RM_SOK;
- /**
- * Used to reset the Internal EDMA3 Resource Manager Data Structures for the first time.
- */
- static unsigned short rmInitDone = FALSE;
const EDMA3_RM_MiscParam *miscOpt = (const EDMA3_RM_MiscParam *)miscParam;
#ifdef GENERIC