diff options
Diffstat (limited to 'arch/arm/mach-ux500/platsmp.c')
-rw-r--r-- | arch/arm/mach-ux500/platsmp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c index 8dfe7ca245d8..438ef16aec90 100644 --- a/arch/arm/mach-ux500/platsmp.c +++ b/arch/arm/mach-ux500/platsmp.c | |||
@@ -30,7 +30,7 @@ volatile int __cpuinitdata pen_release = -1; | |||
30 | 30 | ||
31 | static unsigned int __init get_core_count(void) | 31 | static unsigned int __init get_core_count(void) |
32 | { | 32 | { |
33 | return scu_get_core_count(__io_address(U8500_SCU_BASE)); | 33 | return scu_get_core_count(__io_address(UX500_SCU_BASE)); |
34 | } | 34 | } |
35 | 35 | ||
36 | static DEFINE_SPINLOCK(boot_lock); | 36 | static DEFINE_SPINLOCK(boot_lock); |
@@ -44,7 +44,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
44 | * core (e.g. timer irq), then they will not have been enabled | 44 | * core (e.g. timer irq), then they will not have been enabled |
45 | * for us: do so | 45 | * for us: do so |
46 | */ | 46 | */ |
47 | gic_cpu_init(0, __io_address(U8500_GIC_CPU_BASE)); | 47 | gic_cpu_init(0, __io_address(UX500_GIC_CPU_BASE)); |
48 | 48 | ||
49 | /* | 49 | /* |
50 | * let the primary processor know we're out of the | 50 | * let the primary processor know we're out of the |
@@ -75,7 +75,8 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
75 | * that it has been released by resetting pen_release. | 75 | * that it has been released by resetting pen_release. |
76 | */ | 76 | */ |
77 | pen_release = cpu; | 77 | pen_release = cpu; |
78 | flush_cache_all(); | 78 | __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); |
79 | outer_clean_range(__pa(&pen_release), __pa(&pen_release) + 1); | ||
79 | 80 | ||
80 | timeout = jiffies + (1 * HZ); | 81 | timeout = jiffies + (1 * HZ); |
81 | while (time_before(jiffies, timeout)) { | 82 | while (time_before(jiffies, timeout)) { |
@@ -105,12 +106,12 @@ static void __init wakeup_secondary(void) | |||
105 | */ | 106 | */ |
106 | #define U8500_CPU1_JUMPADDR_OFFSET 0x1FF4 | 107 | #define U8500_CPU1_JUMPADDR_OFFSET 0x1FF4 |
107 | __raw_writel(virt_to_phys(u8500_secondary_startup), | 108 | __raw_writel(virt_to_phys(u8500_secondary_startup), |
108 | (void __iomem *)IO_ADDRESS(U8500_BACKUPRAM0_BASE) + | 109 | __io_address(UX500_BACKUPRAM0_BASE) + |
109 | U8500_CPU1_JUMPADDR_OFFSET); | 110 | U8500_CPU1_JUMPADDR_OFFSET); |
110 | 111 | ||
111 | #define U8500_CPU1_WAKEMAGIC_OFFSET 0x1FF0 | 112 | #define U8500_CPU1_WAKEMAGIC_OFFSET 0x1FF0 |
112 | __raw_writel(0xA1FEED01, | 113 | __raw_writel(0xA1FEED01, |
113 | (void __iomem *)IO_ADDRESS(U8500_BACKUPRAM0_BASE) + | 114 | __io_address(UX500_BACKUPRAM0_BASE) + |
114 | U8500_CPU1_WAKEMAGIC_OFFSET); | 115 | U8500_CPU1_WAKEMAGIC_OFFSET); |
115 | 116 | ||
116 | /* make sure write buffer is drained */ | 117 | /* make sure write buffer is drained */ |
@@ -171,7 +172,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
171 | * boot CPU, but only if we have more than one CPU. | 172 | * boot CPU, but only if we have more than one CPU. |
172 | */ | 173 | */ |
173 | percpu_timer_setup(); | 174 | percpu_timer_setup(); |
174 | scu_enable(__io_address(U8500_SCU_BASE)); | 175 | scu_enable(__io_address(UX500_SCU_BASE)); |
175 | wakeup_secondary(); | 176 | wakeup_secondary(); |
176 | } | 177 | } |
177 | } | 178 | } |