Signed-off-by: Yuan Zhao <[email protected]>
---
 ...ondition-during-DSP-firmware-booting.patch | 38 +++++++++++++++++++
 .../recipes-ti/ocl/opencl-monitor_git.bb      |  3 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 
meta-arago-extras/recipes-ti/ocl/files/0002-Fix-K2x-race-condition-during-DSP-firmware-booting.patch

diff --git 
a/meta-arago-extras/recipes-ti/ocl/files/0002-Fix-K2x-race-condition-during-DSP-firmware-booting.patch
 
b/meta-arago-extras/recipes-ti/ocl/files/0002-Fix-K2x-race-condition-during-DSP-firmware-booting.patch
new file mode 100644
index 00000000..807639da
--- /dev/null
+++ 
b/meta-arago-extras/recipes-ti/ocl/files/0002-Fix-K2x-race-condition-during-DSP-firmware-booting.patch
@@ -0,0 +1,38 @@
+ocl: Fix K2x race condition during DSP firmware booting
+
+- Race condition during booting of K2x DSP monitor firmware, causes
+  some DSPs not able to create RPMessage object that communicates with
+  the host (Arm A15).
+- The root cause is that one global data in ipc/RPMessage,
+  "RPMessage_module", is placed in global DDR section shared by all cores.
+- The fix is to place "ipc/RPMessage" global data into core-private memory.
+- MCT-1279
+
+Upstream-Status: Submitted
+
+Signed-off-by: Yuan Zhao <[email protected]>
+---
+ monitor/cmds/monitor.cmd | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/monitor/cmds/monitor.cmd b/monitor/cmds/monitor.cmd
+index a6a9fb9..6ec4151 100644
+--- a/monitor/cmds/monitor.cmd
++++ b/monitor/cmds/monitor.cmd
+@@ -164,6 +164,13 @@ SECTIONS
+     } run=DDR3_VIRT, load=DDR3_PER_CORE
+      */
+ 
++    /* ipc (e.g. RPMessage_module) need to be private for each core */
++    .otherlocalfar :
++    {
++                "*.ae66"            (.fardata)
++                "*.ae66"            (.far)
++    } run=DDR3_VIRT, load=DDR3_PER_CORE
++
+     .localddr: run=DDR3_VIRT, load=DDR3_PER_CORE
+     .ctools_core_private: run=DDR3_VIRT, load=DDR3_PER_CORE
+ 
+-- 
+2.17.1
+
diff --git a/meta-arago-extras/recipes-ti/ocl/opencl-monitor_git.bb 
b/meta-arago-extras/recipes-ti/ocl/opencl-monitor_git.bb
index 6689f94b..d2d09bb1 100644
--- a/meta-arago-extras/recipes-ti/ocl/opencl-monitor_git.bb
+++ b/meta-arago-extras/recipes-ti/ocl/opencl-monitor_git.bb
@@ -5,8 +5,9 @@ LICENSE = "BSD"
 include ocl.inc
 require recipes-ti/includes/arago-paths.inc
 
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
 SRC_URI += 
"file://0001-Update-VRING-in-resource-table-for-new-Linux-kernel.patch;patchdir=.."
+SRC_URI += 
"file://0002-Fix-K2x-race-condition-during-DSP-firmware-booting.patch;patchdir=.."
 
 inherit update-alternatives
 
-- 
2.24.1

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to