We don't want to invalidate SLC in invalidate_icache_all as we
can lose some data from SLC (especially if L1 D$ is disabled)
because SLC is shared for data and instructions.

Signed-off-by: Eugeniy Paltsev <eugeniy.palt...@synopsys.com>
---
 arch/arc/lib/cache.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arc/lib/cache.c b/arch/arc/lib/cache.c
index 4e93ab9..907e9e3 100644
--- a/arch/arc/lib/cache.c
+++ b/arch/arc/lib/cache.c
@@ -326,8 +326,11 @@ void invalidate_icache_all(void)
 {
        __ic_entire_invalidate();
 
-       if (is_isa_arcv2())
-               __slc_entire_op(OP_INV);
+       /*
+        * We don't to invalidate SLC here as we can lose some data from
+        * SLC (especially if L1 D$ is disabled) because SLC is shared for
+        * data and instructions.
+        */
 }
 
 int dcache_status(void)
-- 
2.9.3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to