summaryrefslogtreecommitdiff
path: root/arch/arc/lib/init_helpers.c
diff options
context:
space:
mode:
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>2015-05-18 13:56:26 (GMT)
committerAlexey Brodkin <abrodkin@synopsys.com>2015-07-01 14:17:27 (GMT)
commitef639e6f7076c19959f40f367cead5108d099592 (patch)
treecea7b5dba213bd2a88041cca9485e19a75d0e3df /arch/arc/lib/init_helpers.c
parent8b2eb776b13055e71f94367c06a26c5e3a902f16 (diff)
downloadu-boot-fsl-qoriq-ef639e6f7076c19959f40f367cead5108d099592.tar.xz
arc: significant cache rework
[1] Align cache management functions to those in Linux kernel. I.e.: a) Use the same functions for all cache ops (D$ Inv/Flush) b) Split cache ops in 3 sub-functions: "before", "lineloop" and "after". That way we may re-use "before" and "after" functions for region and full cache ops. [2] Implement full-functional L2 (SLC) management. Before SLC was simply disabled early on boot. It's also possible to enable or disable L2 cache from config utility. [3] Disable/enable corresponding caches early on boot. So if U-Boot is configured to use caches they will be used at all times (this is useful in partucular for speed-up of relocation). Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Diffstat (limited to 'arch/arc/lib/init_helpers.c')
-rw-r--r--arch/arc/lib/init_helpers.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/arc/lib/init_helpers.c b/arch/arc/lib/init_helpers.c
index 25690ee..dbc8d68 100644
--- a/arch/arc/lib/init_helpers.c
+++ b/arch/arc/lib/init_helpers.c
@@ -10,16 +10,8 @@ DECLARE_GLOBAL_DATA_PTR;
int init_cache_f_r(void)
{
-#ifndef CONFIG_SYS_ICACHE_OFF
- icache_enable();
- /* Make sure no stale entries persist from before we disabled cache */
- invalidate_icache_all();
-#endif
-
#ifndef CONFIG_SYS_DCACHE_OFF
- dcache_enable();
- /* Make sure no stale entries persist from before we disabled cache */
- invalidate_dcache_all();
+ flush_dcache_all();
#endif
return 0;
}