[U-Boot] [RFC PATCH] arm: arm926ejs: flush cache before disable it
Albert ARIBAUD
albert.u.boot at aribaud.net
Fri Jul 5 23:02:00 CEST 2013
Hi Bo,
On Tue, 2 Jul 2013 12:35:54 +0000, Bo Shen <voice.shen at gmail.com>
wrote:
> flush cache before disable it
>
> Signed-off-by: Bo Shen <voice.shen at gmail.com>
> ---
> arch/arm/cpu/arm926ejs/cpu.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/cpu.c b/arch/arm/cpu/arm926ejs/cpu.c
> index 626384c..10aa165 100644
> --- a/arch/arm/cpu/arm926ejs/cpu.c
> +++ b/arch/arm/cpu/arm926ejs/cpu.c
> @@ -46,15 +46,14 @@ int cleanup_before_linux (void)
>
> disable_interrupts ();
>
> + /* flush I/D-cache */
> + cache_flush();
>
> /* turn off I/D-cache */
> icache_disable();
> dcache_disable();
> l2_cache_disable();
>
> - /* flush I/D-cache */
> - cache_flush();
> -
> return 0;
> }
What is this change supposed to fix? There is no need to flush before
disabling, and actually, flushing before disabling runs the risk that
between the two, some cache lines be dirtied again so that cache and
memory won't be coherent any more.
Amicalement,
--
Albert.
More information about the U-Boot
mailing list