linux/arch/arm/mach-mvebu
Nadav Haklai b60b61d412 ARM: mvebu: Fix bug in coherency fabric low level init function
When adding CPU to the SMP group and enabling the coherency on this
CPU we must protect the register access.
The previous implementation claims to be atomic but doesn't provide
any protection against parallel access to the coherency fabric control
and configuration registers.

This patch fixes this by using the ldrex and strex mechanism.
This method should be used in all accesses to those registers.

[gregory.clement@free-electrons.com: fixed the commit's topic]
Signed-off-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-05-28 14:50:08 +00:00
..
include/mach Merge branch 'kirkwood/drivers' of git://git.infradead.org/users/jcooper/linux into late/kirkwood 2012-09-22 14:23:11 -07:00
Kconfig ARM: mvebu: select ARCH_REQUIRE_GPIOLIB for mvebu platform 2013-05-19 19:38:59 +00:00
Makefile ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
armada-370-xp.c ARM: Orion: Remove redundant init_dma_coherent_pool_size() 2013-05-13 19:32:14 +00:00
armada-370-xp.h ARM: mvebu: Align the internal registers virtual base to support LPAE 2013-04-15 14:06:59 +00:00
coherency.c arm: mvebu: Add hardware I/O Coherency support 2012-11-21 17:07:49 +01:00
coherency.h arm: mvebu: Add support for coherency fabric in mach-mvebu 2012-11-21 16:49:06 +01:00
coherency_ll.S ARM: mvebu: Fix bug in coherency fabric low level init function 2013-05-28 14:50:08 +00:00
common.h arm: mvebu: Add SMP support for Armada XP 2012-11-21 16:49:38 +01:00
headsmp.S arm: mvebu: Add SMP support for Armada XP 2012-11-21 16:49:38 +01:00
hotplug.c arm: mvebu: Add SMP support for Armada XP 2012-11-21 16:49:38 +01:00
platsmp.c arm: mach-mvebu: convert to use mvebu-mbus driver 2013-04-15 14:06:16 +00:00
pmsu.c arm: mvebu: Add initial support for power managmement service unit 2012-11-21 16:49:36 +01:00
pmsu.h arm: mvebu: Add initial support for power managmement service unit 2012-11-21 16:49:36 +01:00
system-controller.c