summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/headsmp.S
diff options
context:
space:
mode:
authorGregory CLEMENT <gregory.clement@free-electrons.com>2014-04-14 17:10:08 +0200
committerJason Cooper <jason@lakedaemon.net>2014-05-08 18:18:54 +0200
commit2e8a5942f8751c03fdd50228a02909654d13f01d (patch)
treed69f5a3b881817c12064a52c11b9d39426d9f233 /arch/arm/mach-mvebu/headsmp.S
parentARM: mvebu: Remove the unused argument of set_cpu_coherent() (diff)
downloadlinux-2e8a5942f8751c03fdd50228a02909654d13f01d.tar.xz
linux-2e8a5942f8751c03fdd50228a02909654d13f01d.zip
ARM: mvebu: Split low level functions to manipulate HW coherency
Actually enabling coherency and adding a CPU on a SMP group are two different operations which can be done separately. This patch splits this in two functions. Moreover as they use common pattern, this patch also creates local low level functions (ll_get_coherency_base and ll_get_cpuid) to be used by the exposed functions (ll_add_cpu_to_smp_group and ll_enable_coherency) Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Link: https://lkml.kernel.org/r/1397488214-20685-6-git-send-email-gregory.clement@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-mvebu/headsmp.S')
-rw-r--r--arch/arm/mach-mvebu/headsmp.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-mvebu/headsmp.S b/arch/arm/mach-mvebu/headsmp.S
index cf7abe6554f7..2c4032e368ba 100644
--- a/arch/arm/mach-mvebu/headsmp.S
+++ b/arch/arm/mach-mvebu/headsmp.S
@@ -31,8 +31,10 @@
ENTRY(armada_xp_secondary_startup)
ARM_BE8(setend be ) @ go BE8 if entered LE
- /* Add CPU to coherency fabric */
- bl ll_set_cpu_coherent
+ bl ll_add_cpu_to_smp_group
+
+ bl ll_enable_coherency
+
b secondary_startup
ENDPROC(armada_xp_secondary_startup)