diff options
author | Arnd Bergmann <arnd@arndb.de> | 2015-11-25 17:32:18 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-12-15 09:41:34 +0100 |
commit | 2b749cb3a5153fc4c312e405ecca8a925e6632c8 (patch) | |
tree | fceffba126b41908a4a95ffeeb75c5d56b3afa00 /arch/arm/mach-realview/realview_pb11mp.c | |
parent | 38541bf48588d5350e45167510766f8bb6ba6582 (diff) |
ARM: realview: remove private barrier implementation
The realview barrier implementation tries to avoid calling outer_sync in order
to not lock up as a result of a bug in the l220 cache controller.
This gets in the way of the multiplatform support, but we can still remove
it if we make sure that the outer_sync function never gets called, by replacing
the function pointer with NULL, right after initialization.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[Fixed up header inclusions]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-realview/realview_pb11mp.c')
-rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 15c45e25095f..5bb460300b6a 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c @@ -42,6 +42,7 @@ #include <asm/mach/flash.h> #include <asm/mach/map.h> #include <asm/mach/time.h> +#include <asm/outercache.h> #include <mach/board-pb11mp.h> #include <mach/irqs.h> @@ -345,6 +346,11 @@ static void __init realview_pb11mp_init(void) * Bits: .... ...0 0111 1001 0000 .... .... .... */ l2x0_init(__io_address(REALVIEW_TC11MP_L220_BASE), 0x00790000, 0xfe000fff); + /* + * due to a bug in the l220 cache controller, we must not call + * the sync function. stub it out here instead! + */ + outer_cache.sync = NULL; #endif realview_flash_register(realview_pb11mp_flash_resource, |