]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - mfp/fcdev.git/commitdiff
SDOCM00105754: EDMAMgr: Fix Local to Global addr 3.30.00.05_eng
authorJacob Stiffler <j-stiffler@ti.com>
Mon, 6 Jan 2014 14:24:33 +0000 (09:24 -0500)
committerChris Ring <cring@ti.com>
Tue, 7 Jan 2014 19:47:31 +0000 (11:47 -0800)
Local to Global address conversion is missing for copyFast &
linked_copyFast APIs.

Converting src and dst addresses with "EDMA_MGR_ADDR_LOC_TO_GLOB()" in
EdmaMgr_copyFast() and EdmaMgr_copyLinkedFast() APIs.

packages/ti/sdo/fc/edmamgr/edmamgr_xfer.h

index 9daad77fad5a8da06d341ccf982f2ff50768161e..5e5539743fa7fc85fac56c8007e8dca8bad3d634 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Texas Instruments Incorporated
+ * Copyright (c) 2013-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -659,8 +659,10 @@ int32_t EdmaMgr_copyFast
 {
   EdmaMgr_Channel *edmamgrChan = (EdmaMgr_Channel *)h;
 
-  ECPY_directConfigure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_SRCADDR, (uint32_t)src, 1);
-  ECPY_directConfigure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_DSTADDR, (uint32_t)dst, 1);
+  ECPY_directConfigure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_SRCADDR,
+          (uint32_t)EDMA_MGR_ADDR_LOC_TO_GLOB(src), 1);
+  ECPY_directConfigure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_DSTADDR,
+          (uint32_t)EDMA_MGR_ADDR_LOC_TO_GLOB(dst), 1);
 
   ECPY_directStartEdma(edmamgrChan->ecpyHandle);
 
@@ -687,8 +689,10 @@ int32_t EdmaMgr_copyLinkedFast
   for (i=0; i<num_transfers; i++)
   {
     j = i+1;
-    ECPY_configure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_SRCADDR, (uint32_t)src[i], j);
-    ECPY_configure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_DSTADDR, (uint32_t)dst[i], j);
+    ECPY_configure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_SRCADDR,
+            (uint32_t)EDMA_MGR_ADDR_LOC_TO_GLOB(src[i]), j);
+    ECPY_configure32(edmamgrChan->ecpyHandle, ECPY_PARAMFIELD_DSTADDR,
+            (uint32_t)EDMA_MGR_ADDR_LOC_TO_GLOB(dst[i]), j);
   }
   ECPY_start(edmamgrChan->ecpyHandle);