diff options
author | Alexey Brodkin <Alexey.Brodkin@synopsys.com> | 2015-05-18 16:56:26 +0300 |
---|---|---|
committer | Alexey Brodkin <abrodkin@synopsys.com> | 2015-07-01 17:17:27 +0300 |
commit | ef639e6f7076c19959f40f367cead5108d099592 (patch) | |
tree | cea7b5dba213bd2a88041cca9485e19a75d0e3df /arch/arc/lib/init_helpers.c | |
parent | 8b2eb776b13055e71f94367c06a26c5e3a902f16 (diff) | |
download | u-boot-imx-ef639e6f7076c19959f40f367cead5108d099592.zip u-boot-imx-ef639e6f7076c19959f40f367cead5108d099592.tar.gz u-boot-imx-ef639e6f7076c19959f40f367cead5108d099592.tar.bz2 |
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.c | 10 |
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; } |