This patch updates the topology initialization code to use the newly
defined accessors to retrieve the MPIDR affinity levels.

Signed-off-by: Lorenzo Pieralisi <[email protected]>
---
 arch/arm/kernel/topology.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index 4642c7d..cba99bd 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -262,19 +262,14 @@ void store_cpu_topology(unsigned int cpuid)
 
                if (mpidr & MPIDR_MT_BITMASK) {
                        /* core performance interdependency */
-                       cpuid_topo->thread_id = (mpidr >> MPIDR_LEVEL0_SHIFT)
-                               & MPIDR_LEVEL0_MASK;
-                       cpuid_topo->core_id = (mpidr >> MPIDR_LEVEL1_SHIFT)
-                               & MPIDR_LEVEL1_MASK;
-                       cpuid_topo->socket_id = (mpidr >> MPIDR_LEVEL2_SHIFT)
-                               & MPIDR_LEVEL2_MASK;
+                       cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+                       cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+                       cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 2);
                } else {
                        /* largely independent cores */
                        cpuid_topo->thread_id = -1;
-                       cpuid_topo->core_id = (mpidr >> MPIDR_LEVEL0_SHIFT)
-                               & MPIDR_LEVEL0_MASK;
-                       cpuid_topo->socket_id = (mpidr >> MPIDR_LEVEL1_SHIFT)
-                               & MPIDR_LEVEL1_MASK;
+                       cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+                       cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 1);
                }
        } else {
                /*
-- 
1.7.12


_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to