aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi Doyu <hdoyu@nvidia.com>2013-01-15 03:13:12 -0500
committerStephen Warren <swarren@nvidia.com>2013-01-28 12:40:52 -0500
commita8a6930157e0e4a2d57abefee487fc4ceba4d53e (patch)
treefc8313340fea9735e0dac2e3292f823f8bf6ac09
parent7d19a34a89b8c5401bfa56c96fe05c644ecaeafe (diff)
ARM: tegra: Use DT /cpu node to detect number of CPU core
SCU based detection only works with Cortex-A9 MP and it doesn't support ones with multiple clusters. The only way to detect number of CPU core correctly is with DT /cpu node. Tegra SoCs decided to use DT detection as the only way and to not use SCU based detection at all. Even if DT /cpu node based detection fails, it continues with a single core Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/platsmp.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
index 1b926df99c4b..79fa7857d68d 100644
--- a/arch/arm/mach-tegra/platsmp.c
+++ b/arch/arm/mach-tegra/platsmp.c
@@ -143,23 +143,8 @@ done:
143 return status; 143 return status;
144} 144}
145 145
146/*
147 * Initialise the CPU possible map early - this describes the CPUs
148 * which may be present or become present in the system.
149 */
150static void __init tegra_smp_init_cpus(void) 146static void __init tegra_smp_init_cpus(void)
151{ 147{
152 unsigned int i, ncores = scu_get_core_count(scu_base);
153
154 if (ncores > nr_cpu_ids) {
155 pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
156 ncores, nr_cpu_ids);
157 ncores = nr_cpu_ids;
158 }
159
160 for (i = 0; i < ncores; i++)
161 set_cpu_possible(i, true);
162
163 set_smp_cross_call(gic_raise_softirq); 148 set_smp_cross_call(gic_raise_softirq);
164} 149}
165 150