summaryrefslogtreecommitdiff
path: root/chip/mt8192_scp/ipi.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/mt8192_scp/ipi.c')
-rw-r--r--chip/mt8192_scp/ipi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/chip/mt8192_scp/ipi.c b/chip/mt8192_scp/ipi.c
index 39fcc09809..76af0af838 100644
--- a/chip/mt8192_scp/ipi.c
+++ b/chip/mt8192_scp/ipi.c
@@ -4,6 +4,7 @@
*/
#include "atomic.h"
+#include "cache.h"
#include "common.h"
#include "console.h"
#include "hooks.h"
@@ -97,6 +98,10 @@ int ipi_send(int32_t id, const void *buf, uint32_t len, int wait)
ipi_send_buf->len = len;
memcpy(ipi_send_buf->buffer, buf, len);
+ /* flush memory cache (if any) */
+ cache_flush_dcache_range((uintptr_t)ipi_send_buf,
+ sizeof(*ipi_send_buf));
+
/* interrupt AP to handle the message */
ipi_wake_ap(id);
SCP_SCP2APMCU_IPC_SET = IPC_SCP2HOST;