[U-Boot] [PATCH v2] arm1136: Fix enable_caches()
Albert ARIBAUD
albert.u.boot at aribaud.net
Fri Oct 5 20:23:14 CEST 2012
Benoît,
On Thu, 4 Oct 2012 22:04:02 +0200 (CEST), Benoît Thébaudeau
<benoit.thebaudeau at advansee.com> wrote:
> enable_caches() did not enable icache if CONFIG_SYS_ICACHE_OFF was not defined
> but CONFIG_SYS_DCACHE_OFF was.
>
> Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> ---
> This patch supersedes http://patchwork.ozlabs.org/patch/177263/ .
>
> Changes for v2:
> - Move enable_caches() outside of the main #if in order to fix this icache
> issue rather than doing only #if cosmetic cleanup.
>
> .../arch/arm/cpu/arm1136/cpu.c | 22 +++++++++++---------
> 1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git u-boot-arm-1dfc916.orig/arch/arm/cpu/arm1136/cpu.c u-boot-arm-1dfc916/arch/arm/cpu/arm1136/cpu.c
> index b98e3d9..32a4c24 100644
> --- u-boot-arm-1dfc916.orig/arch/arm/cpu/arm1136/cpu.c
> +++ u-boot-arm-1dfc916/arch/arm/cpu/arm1136/cpu.c
> @@ -141,16 +141,6 @@ void flush_cache(unsigned long start, unsigned long size)
> flush_dcache_range(start, start + size);
> }
>
> -void enable_caches(void)
> -{
> -#ifndef CONFIG_SYS_ICACHE_OFF
> - icache_enable();
> -#endif
> -#ifndef CONFIG_SYS_DCACHE_OFF
> - dcache_enable();
> -#endif
> -}
> -
> #else /* #ifndef CONFIG_SYS_DCACHE_OFF */
> void invalidate_dcache_all(void)
> {
> @@ -172,3 +162,15 @@ void flush_cache(unsigned long start, unsigned long size)
> {
> }
> #endif /* #ifndef CONFIG_SYS_DCACHE_OFF */
> +
> +#if !defined(CONFIG_SYS_ICACHE_OFF) || !defined(CONFIG_SYS_DCACHE_OFF)
> +void enable_caches(void)
> +{
> +#ifndef CONFIG_SYS_ICACHE_OFF
> + icache_enable();
> +#endif
> +#ifndef CONFIG_SYS_DCACHE_OFF
> + dcache_enable();
> +#endif
> +}
> +#endif
>
Applied to u-boot-arm/next, thanks!
Amicalement,
--
Albert.
More information about the U-Boot
mailing list