diff options
author | Mark Brown <broonie@linaro.org> | 2014-05-02 16:38:28 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2014-05-16 12:12:16 -0400 |
commit | c31bf0488d67737668b7401fac4b7ed550eaad76 (patch) | |
tree | c8eaaa0a58125249f6ecda89d28767756f8d924b /arch/arm64 | |
parent | 5dd349bab5c0126824b60810c80689980a041296 (diff) |
arm64: topology: Initialise default topology state immediately
As a legacy of the way 32 bit ARM did things the topology code uses a null
topology map by default and then overwrites it by mapping cores with no
information to a cluster by themselves later. In order to make it simpler
to reset things as part of recovering from parse failures in firmware
information directly set this configuration on init. A core will always be
its own sibling so there should be no risk of confusion with firmware
provided information.
Signed-off-by: Mark Brown <broonie@linaro.org>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/kernel/topology.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c index 3e06b0be4ec8..ff662b23af5f 100644 --- a/arch/arm64/kernel/topology.c +++ b/arch/arm64/kernel/topology.c | |||
@@ -43,9 +43,6 @@ static void update_siblings_masks(unsigned int cpuid) | |||
43 | * reset it to default behaviour | 43 | * reset it to default behaviour |
44 | */ | 44 | */ |
45 | pr_debug("CPU%u: No topology information configured\n", cpuid); | 45 | pr_debug("CPU%u: No topology information configured\n", cpuid); |
46 | cpuid_topo->core_id = 0; | ||
47 | cpumask_set_cpu(cpuid, &cpuid_topo->core_sibling); | ||
48 | cpumask_set_cpu(cpuid, &cpuid_topo->thread_sibling); | ||
49 | return; | 46 | return; |
50 | } | 47 | } |
51 | 48 | ||
@@ -87,9 +84,12 @@ void __init init_cpu_topology(void) | |||
87 | struct cpu_topology *cpu_topo = &cpu_topology[cpu]; | 84 | struct cpu_topology *cpu_topo = &cpu_topology[cpu]; |
88 | 85 | ||
89 | cpu_topo->thread_id = -1; | 86 | cpu_topo->thread_id = -1; |
90 | cpu_topo->core_id = -1; | 87 | cpu_topo->core_id = 0; |
91 | cpu_topo->cluster_id = -1; | 88 | cpu_topo->cluster_id = -1; |
89 | |||
92 | cpumask_clear(&cpu_topo->core_sibling); | 90 | cpumask_clear(&cpu_topo->core_sibling); |
91 | cpumask_set_cpu(cpu, &cpu_topo->core_sibling); | ||
93 | cpumask_clear(&cpu_topo->thread_sibling); | 92 | cpumask_clear(&cpu_topo->thread_sibling); |
93 | cpumask_set_cpu(cpu, &cpu_topo->thread_sibling); | ||
94 | } | 94 | } |
95 | } | 95 | } |