]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 8482/1: l2x0: make it possible to disable outer sync from DT
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 15 Dec 2015 14:56:47 +0000 (15:56 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 22 Dec 2015 12:15:53 +0000 (12:15 +0000)
commit2145f28a3df8020dcd60d81896511f963d97feb6
tree26d739960f1b31e1055e88510ac36a49c61c2963
parentb55aee4e7ca94ccdd493dab743b8869717348be0
ARM: 8482/1: l2x0: make it possible to disable outer sync from DT

According to commit bbaf765128478eb5feb715af6d6f40cfa80052b6
"ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore
boards with L220" Some PB11MPCore RealView core tiles have broken
outer_sync.

We got rid of the custom barriers from the machine by disabling
outer sync, but that was just for the boardfile case. We have
to be able to do the same in the device tree case.

Since __l2c_init() is cloning and copying the L2C vtable,
we pass an argument to this function to optionally numb
the outer sync operation if desired, before initializing
the cache.

After this we can set up the cache correctly on the RealView
PB11MPCore. This was tested on a PB11MPCore known to have the
issue. Before this, spurious crashes would occur if we try to
set up the cache properly, after this it boots rock solid.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Documentation/devicetree/bindings/arm/l2cc.txt
arch/arm/mm/cache-l2x0.c