summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Nelson <sam.nelson@ti.com>2018-03-27 08:43:34 -0400
committerSam Nelson <sam.nelson@ti.com>2018-08-09 16:01:32 -0400
commite8c3e35a110bca6fd4ba03dd3553953fffc8e540 (patch)
treeb1d3699f9a1841357f0796578ea36962cbfbe295
parent67e9c143d14dfd50ce18dc07d700bc71a6583500 (diff)
downloadipc-e8c3e35a110bca6fd4ba03dd3553953fffc8e540.tar.gz
TMP: listMP: Add Cache operation for v8A
Ideally with the coherence working between A53 and R5F, there is no cache operations required from A53 side. But the coherence operations requires the ISC registers configured for R5F transactions to be non- secure. Adding this as temporary workaround. Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r--packages/ti/sdo/ipc/ListMP.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/ti/sdo/ipc/ListMP.c b/packages/ti/sdo/ipc/ListMP.c
index 659757b..2f2bdb1 100644
--- a/packages/ti/sdo/ipc/ListMP.c
+++ b/packages/ti/sdo/ipc/ListMP.c
@@ -282,7 +282,7 @@ Bool ListMP_empty(ListMP_Handle handle)
/* prevent another thread or processor from modifying the ListMP */
key = GateMP_enter((GateMP_Handle)obj->gate);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL, TRUE);
@@ -340,7 +340,7 @@ Ptr ListMP_getHead(ListMP_Handle handle)
/* prevent another thread or processor from modifying the ListMP */
key = GateMP_enter((GateMP_Handle)obj->gate);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL, TRUE);
@@ -423,7 +423,7 @@ Ptr ListMP_getTail(ListMP_Handle handle)
/* prevent another thread or processor from modifying the ListMP */
key = GateMP_enter((GateMP_Handle)obj->gate);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL, TRUE);
@@ -655,7 +655,7 @@ Int ListMP_putHead(ListMP_Handle handle, ListMP_Elem *elem)
/* prevent another thread or processor from modifying the ListMP */
key = GateMP_enter((GateMP_Handle)obj->gate);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL, TRUE);
@@ -726,7 +726,7 @@ Int ListMP_putTail(ListMP_Handle handle, ListMP_Elem *elem)
/* prevent another thread or processor from modifying the ListMP */
key = GateMP_enter((GateMP_Handle)obj->gate);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL, TRUE);
@@ -859,7 +859,7 @@ Int ti_sdo_ipc_ListMP_Instance_init(ti_sdo_ipc_ListMP_Object *obj,
obj->cacheEnabled = SharedRegion_isCacheEnabled(obj->regionId);
obj->cacheLineSize = SharedRegion_getCacheLineSize(obj->regionId);
-#ifdef xdc_target__isaCompatible_v7A
+#if defined(xdc_target__isaCompatible_v7A) || defined(xdc_target__isaCompatible_v8A)
/* ARM speculative execution might have pulled attrs into cache */
if (obj->cacheEnabled) {
Cache_inv(obj->attrs, sizeof(ti_sdo_ipc_ListMP_Attrs), Cache_Type_ALL,