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>
This commit is contained in:
parent
7d19a34a89
commit
a8a6930157
@ -143,23 +143,8 @@ done:
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Initialise the CPU possible map early - this describes the CPUs
|
|
||||||
* which may be present or become present in the system.
|
|
||||||
*/
|
|
||||||
static void __init tegra_smp_init_cpus(void)
|
static void __init tegra_smp_init_cpus(void)
|
||||||
{
|
{
|
||||||
unsigned int i, ncores = scu_get_core_count(scu_base);
|
|
||||||
|
|
||||||
if (ncores > nr_cpu_ids) {
|
|
||||||
pr_warn("SMP: %u cores greater than maximum (%u), clipping\n",
|
|
||||||
ncores, nr_cpu_ids);
|
|
||||||
ncores = nr_cpu_ids;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < ncores; i++)
|
|
||||||
set_cpu_possible(i, true);
|
|
||||||
|
|
||||||
set_smp_cross_call(gic_raise_softirq);
|
set_smp_cross_call(gic_raise_softirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user