Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c31bf048 authored by Mark Brown's avatar Mark Brown Committed by Catalin Marinas
Browse files

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: default avatarMark Brown <broonie@linaro.org>
Reviewed-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 5dd349ba
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -43,9 +43,6 @@ static void update_siblings_masks(unsigned int cpuid)
		 * reset it to default behaviour
		 * reset it to default behaviour
		 */
		 */
		pr_debug("CPU%u: No topology information configured\n", cpuid);
		pr_debug("CPU%u: No topology information configured\n", cpuid);
		cpuid_topo->core_id = 0;
		cpumask_set_cpu(cpuid, &cpuid_topo->core_sibling);
		cpumask_set_cpu(cpuid, &cpuid_topo->thread_sibling);
		return;
		return;
	}
	}


@@ -87,9 +84,12 @@ void __init init_cpu_topology(void)
		struct cpu_topology *cpu_topo = &cpu_topology[cpu];
		struct cpu_topology *cpu_topo = &cpu_topology[cpu];


		cpu_topo->thread_id = -1;
		cpu_topo->thread_id = -1;
		cpu_topo->core_id =  -1;
		cpu_topo->core_id = 0;
		cpu_topo->cluster_id = -1;
		cpu_topo->cluster_id = -1;

		cpumask_clear(&cpu_topo->core_sibling);
		cpumask_clear(&cpu_topo->core_sibling);
		cpumask_set_cpu(cpu, &cpu_topo->core_sibling);
		cpumask_clear(&cpu_topo->thread_sibling);
		cpumask_clear(&cpu_topo->thread_sibling);
		cpumask_set_cpu(cpu, &cpu_topo->thread_sibling);
	}
	}
}
}