diff options
Diffstat (limited to 'arch/arm/mach-exynos/platsmp.c')
-rw-r--r-- | arch/arm/mach-exynos/platsmp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c index 683aec786b78..36c3984aaa47 100644 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c | |||
@@ -23,6 +23,7 @@ | |||
23 | 23 | ||
24 | #include <asm/cacheflush.h> | 24 | #include <asm/cacheflush.h> |
25 | #include <asm/hardware/gic.h> | 25 | #include <asm/hardware/gic.h> |
26 | #include <asm/smp_plat.h> | ||
26 | #include <asm/smp_scu.h> | 27 | #include <asm/smp_scu.h> |
27 | 28 | ||
28 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
@@ -165,7 +166,10 @@ void __init smp_init_cpus(void) | |||
165 | void __iomem *scu_base = scu_base_addr(); | 166 | void __iomem *scu_base = scu_base_addr(); |
166 | unsigned int i, ncores; | 167 | unsigned int i, ncores; |
167 | 168 | ||
168 | ncores = scu_base ? scu_get_core_count(scu_base) : 1; | 169 | if (soc_is_exynos5250()) |
170 | ncores = 2; | ||
171 | else | ||
172 | ncores = scu_base ? scu_get_core_count(scu_base) : 1; | ||
169 | 173 | ||
170 | /* sanity check */ | 174 | /* sanity check */ |
171 | if (ncores > nr_cpu_ids) { | 175 | if (ncores > nr_cpu_ids) { |
@@ -182,8 +186,8 @@ void __init smp_init_cpus(void) | |||
182 | 186 | ||
183 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 187 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) |
184 | { | 188 | { |
185 | 189 | if (!soc_is_exynos5250()) | |
186 | scu_enable(scu_base_addr()); | 190 | scu_enable(scu_base_addr()); |
187 | 191 | ||
188 | /* | 192 | /* |
189 | * Write the address of secondary startup into the | 193 | * Write the address of secondary startup into the |