/Linux-v4.19/arch/arm/common/ |
D | mcpm_platsmp.c | 25 unsigned int mpidr; in cpu_to_pcpu() local 27 mpidr = cpu_logical_map(cpu); in cpu_to_pcpu() 28 *pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in cpu_to_pcpu() 29 *pcluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in cpu_to_pcpu() 76 unsigned int mpidr, pcpu, pcluster; in mcpm_cpu_die() local 77 mpidr = read_cpuid_mpidr(); in mcpm_cpu_die() 78 pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_die() 79 pcluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_die()
|
D | mcpm_entry.c | 244 unsigned int mpidr, cpu, cluster; in mcpm_cpu_power_down() local 248 mpidr = read_cpuid_mpidr(); in mcpm_cpu_power_down() 249 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_power_down() 250 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_power_down() 333 unsigned int mpidr = read_cpuid_mpidr(); in mcpm_cpu_suspend() local 334 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_suspend() 335 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_suspend() 345 unsigned int mpidr, cpu, cluster; in mcpm_cpu_powered_up() local 352 mpidr = read_cpuid_mpidr(); in mcpm_cpu_powered_up() 353 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_powered_up() [all …]
|
D | bL_switcher.c | 127 unsigned int mpidr = read_mpidr(); in bL_switchpoint() local 128 unsigned int clusterid = MPIDR_AFFINITY_LEVEL(mpidr, 1); in bL_switchpoint() 152 unsigned int mpidr, this_cpu, that_cpu; in bL_switch_to() local 239 mpidr = read_mpidr(); in bL_switch_to() 240 pr_debug("after switch: CPU %d MPIDR %#x\n", this_cpu, mpidr); in bL_switch_to() 241 BUG_ON(mpidr != ib_mpidr); in bL_switch_to() 519 int bL_switcher_get_logical_index(u32 mpidr) in bL_switcher_get_logical_index() argument 526 mpidr &= MPIDR_HWID_BITMASK; in bL_switcher_get_logical_index() 531 if ((mpidr == cpu_logical_map(cpu)) || in bL_switcher_get_logical_index() 532 (mpidr == cpu_logical_map(pairing))) in bL_switcher_get_logical_index()
|
/Linux-v4.19/arch/arm/mach-hisi/ |
D | platmcpm.c | 103 unsigned int mpidr, cpu, cluster; in hip04_boot_secondary() local 107 mpidr = cpu_logical_map(l_cpu); in hip04_boot_secondary() 108 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in hip04_boot_secondary() 109 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hip04_boot_secondary() 158 unsigned int mpidr, cpu, cluster; in hip04_cpu_die() local 161 mpidr = cpu_logical_map(l_cpu); in hip04_cpu_die() 162 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in hip04_cpu_die() 163 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hip04_cpu_die() 196 unsigned int mpidr, cpu, cluster; in hip04_cpu_kill() local 199 mpidr = cpu_logical_map(l_cpu); in hip04_cpu_kill() [all …]
|
/Linux-v4.19/arch/arm/kernel/ |
D | topology.c | 240 unsigned int mpidr; in store_cpu_topology() local 246 mpidr = read_cpuid_mpidr(); in store_cpu_topology() 249 if ((mpidr & MPIDR_SMP_BITMASK) == MPIDR_SMP_VALUE) { in store_cpu_topology() 255 if (mpidr & MPIDR_MT_BITMASK) { in store_cpu_topology() 257 cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 258 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 259 cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); in store_cpu_topology() 263 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 264 cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 284 cpu_topology[cpuid].socket_id, mpidr); in store_cpu_topology()
|
D | sleep.S | 38 .macro compute_mpidr_hash dst, rs0, rs1, rs2, mpidr, mask 39 and \mpidr, \mpidr, \mask @ mask out MPIDR bits 40 and \dst, \mpidr, #0xff @ mask=aff0 43 and \mask, \mpidr, #0xff00 @ mask = aff1 47 and \mask, \mpidr, #0xff0000 @ mask = aff2 78 ldmia r0, {r1, r6-r8} @ r1 = mpidr mask (r6,r7,r8) = l[0,1,2] shifts 148 ldmia r2, { r3-r6 } @ r3 = mpidr mask (r4,r5,r6) = l[0,1,2] shifts
|
D | devtree.c | 81 u32 mpidr = is_smp() ? read_cpuid_mpidr() & MPIDR_HWID_BITMASK : 0; in arm_dt_init_cpu_maps() local 148 if (hwid == mpidr) { in arm_dt_init_cpu_maps()
|
/Linux-v4.19/arch/arm64/kernel/ |
D | topology.c | 264 u64 mpidr; in store_cpu_topology() local 269 mpidr = read_cpuid_mpidr(); in store_cpu_topology() 272 if (mpidr & MPIDR_UP_BITMASK) in store_cpu_topology() 276 if (mpidr & MPIDR_MT_BITMASK) { in store_cpu_topology() 278 cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 279 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 280 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) | in store_cpu_topology() 281 MPIDR_AFFINITY_LEVEL(mpidr, 3) << 8; in store_cpu_topology() 285 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 286 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 1) | in store_cpu_topology() [all …]
|
D | sleep.S | 38 .macro compute_mpidr_hash dst, rs0, rs1, rs2, rs3, mpidr, mask 39 and \mpidr, \mpidr, \mask // mask out MPIDR bits 40 and \dst, \mpidr, #0xff // mask=aff0 42 and \mask, \mpidr, #0xff00 // mask = aff1 45 and \mask, \mpidr, #0xff0000 // mask = aff2 48 and \mask, \mpidr, #0xff00000000 // mask = aff3
|
D | setup.c | 100 u64 mpidr = read_cpuid_mpidr() & MPIDR_HWID_BITMASK; in smp_setup_processor_id() local 101 cpu_logical_map(0) = mpidr; in smp_setup_processor_id() 110 (unsigned long)mpidr, read_cpuid_id()); in smp_setup_processor_id()
|
/Linux-v4.19/arch/arm/mach-exynos/ |
D | platsmp.c | 50 u32 mpidr = cpu_logical_map(cpu); in platform_do_lowpower() local 51 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in platform_do_lowpower() 312 u32 mpidr = cpu_logical_map(cpu); in exynos_boot_secondary() local 313 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_boot_secondary() 420 u32 mpidr; in exynos_smp_prepare_cpus() local 424 mpidr = cpu_logical_map(i); in exynos_smp_prepare_cpus() 425 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_smp_prepare_cpus() 443 u32 mpidr = cpu_logical_map(cpu); in exynos_cpu_die() local 444 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_cpu_die()
|
/Linux-v4.19/drivers/bus/ |
D | arm-cci.c | 117 u64 mpidr; member 132 static inline void init_cpu_port(struct cpu_port *port, u32 index, u64 mpidr) in init_cpu_port() argument 135 port->mpidr = mpidr; in init_cpu_port() 143 static inline bool cpu_port_match(struct cpu_port *port, u64 mpidr) in cpu_port_match() argument 145 return port->mpidr == (mpidr & MPIDR_HWID_BITMASK); in cpu_port_match() 265 int notrace cci_disable_port_by_cpu(u64 mpidr) in cci_disable_port_by_cpu() argument 271 if (is_valid && cpu_port_match(&cpu_port[cpu], mpidr)) { in cci_disable_port_by_cpu() 366 [offsetof_cpu_port_mpidr_lsb] "i" (offsetof(struct cpu_port, mpidr)), in cci_enable_port_for_self() 368 [offsetof_cpu_port_mpidr_lsb] "i" (offsetof(struct cpu_port, mpidr)+4), in cci_enable_port_for_self()
|
/Linux-v4.19/arch/arm/mach-sunxi/ |
D | mc_smp.c | 391 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_boot_secondary() local 393 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_boot_secondary() 394 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_boot_secondary() 395 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in sunxi_mc_smp_boot_secondary() 443 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_die() local 446 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_die() 447 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_cpu_die() 448 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in sunxi_mc_smp_cpu_die() 529 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_kill() local 534 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_kill() [all …]
|
/Linux-v4.19/drivers/irqchip/ |
D | irq-gic-v3.c | 69 #define MPIDR_RS(mpidr) (((mpidr) & 0xF0UL) >> 4) argument 335 static u64 gic_mpidr_to_affinity(unsigned long mpidr) in gic_mpidr_to_affinity() argument 339 aff = ((u64)MPIDR_AFFINITY_LEVEL(mpidr, 3) << 32 | in gic_mpidr_to_affinity() 340 MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 | in gic_mpidr_to_affinity() 341 MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8 | in gic_mpidr_to_affinity() 342 MPIDR_AFFINITY_LEVEL(mpidr, 0)); in gic_mpidr_to_affinity() 470 unsigned long mpidr = cpu_logical_map(smp_processor_id()); in __gic_populate_rdist() local 478 aff = (MPIDR_AFFINITY_LEVEL(mpidr, 3) << 24 | in __gic_populate_rdist() 479 MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 | in __gic_populate_rdist() 480 MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8 | in __gic_populate_rdist() [all …]
|
/Linux-v4.19/Documentation/virtual/kvm/devices/ |
D | arm-vgic-v3.txt | 71 values: | mpidr | offset | 81 specified by the mpidr. 92 The mpidr field is used to specify which 93 redistributor is accessed. The mpidr is ignored for the distributor. 95 The mpidr encoding is based on the affinity information in the 101 regardless of the mpidr used to access the register. 159 values: | mpidr | RES | instr | 161 The mpidr field encodes the CPU ID based on the affinity information in the 177 CPU specified by the mpidr field. 184 -EINVAL: Invalid mpidr or register value supplied [all …]
|
/Linux-v4.19/arch/arm64/include/asm/ |
D | smp_plat.h | 50 static inline int get_logical_index(u64 mpidr) in get_logical_index() argument 54 if (cpu_logical_map(cpu) == mpidr) in get_logical_index()
|
/Linux-v4.19/arch/arm/mach-vexpress/ |
D | tc2_pm.c | 207 unsigned int mpidr, cpu, cluster; in tc2_pm_init() local 247 mpidr = read_cpuid_mpidr(); in tc2_pm_init() 248 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in tc2_pm_init() 249 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tc2_pm_init()
|
/Linux-v4.19/drivers/cpuidle/ |
D | cpuidle-big_little.c | 106 unsigned int mpidr = read_cpuid_mpidr(); in bl_powerdown_finisher() local 107 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in bl_powerdown_finisher() 108 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in bl_powerdown_finisher()
|
/Linux-v4.19/arch/arm/include/asm/ |
D | bL_switcher.h | 58 int bL_switcher_get_logical_index(u32 mpidr); 74 static inline int bL_switcher_get_logical_index(u32 mpidr) { return -EUNATCH; } in bL_switcher_get_logical_index() argument
|
D | smp_plat.h | 80 static inline int get_logical_index(u32 mpidr) in get_logical_index() argument 84 if (cpu_logical_map(cpu) == mpidr) in get_logical_index()
|
D | cputype.h | 58 #define MPIDR_AFFINITY_LEVEL(mpidr, level) \ argument 59 ((mpidr >> (MPIDR_LEVEL_BITS * level)) & MPIDR_LEVEL_MASK)
|
/Linux-v4.19/include/linux/ |
D | arm-cci.h | 39 extern int cci_disable_port_by_cpu(u64 mpidr); 47 static inline int cci_disable_port_by_cpu(u64 mpidr) { return -ENODEV; } in cci_disable_port_by_cpu() argument
|
/Linux-v4.19/drivers/perf/hisilicon/ |
D | hisi_uncore_pmu.c | 359 u64 mpidr = read_cpuid_mpidr(); in hisi_read_sccl_and_ccl_id() local 361 if (mpidr & MPIDR_MT_BITMASK) { in hisi_read_sccl_and_ccl_id() 362 int aff2 = MPIDR_AFFINITY_LEVEL(mpidr, 2); in hisi_read_sccl_and_ccl_id() 370 *sccl_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); in hisi_read_sccl_and_ccl_id() 372 *ccl_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hisi_read_sccl_and_ccl_id()
|
/Linux-v4.19/include/ras/ |
D | ras_event.h | 178 __field(u64, mpidr) 191 __entry->mpidr = proc->mpidr; 193 __entry->mpidr = 0ULL; 206 __entry->affinity, __entry->mpidr, __entry->midr,
|
/Linux-v4.19/virt/kvm/arm/vgic/ |
D | vgic-mmio-v3.c | 149 ret = extract_bytes(READ_ONCE(irq->mpidr), addr & 7, len); in vgic_mmio_read_irouter() 175 irq->mpidr = val & GENMASK(23, 0); in vgic_mmio_write_irouter() 176 irq->target_vcpu = kvm_mpidr_to_vcpu(vcpu->kvm, irq->mpidr); in vgic_mmio_write_irouter() 210 unsigned long mpidr = kvm_vcpu_get_mpidr_aff(vcpu); in vgic_mmio_read_v3r_typer() local 218 value = (u64)(mpidr & GENMASK(23, 0)) << 32; in vgic_mmio_read_v3r_typer() 919 u64 mpidr; in vgic_v3_dispatch_sgi() local 928 mpidr = SGI_AFFINITY_LEVEL(reg, 3); in vgic_v3_dispatch_sgi() 929 mpidr |= SGI_AFFINITY_LEVEL(reg, 2); in vgic_v3_dispatch_sgi() 930 mpidr |= SGI_AFFINITY_LEVEL(reg, 1); in vgic_v3_dispatch_sgi() 952 level0 = match_mpidr(mpidr, target_cpus, c_vcpu); in vgic_v3_dispatch_sgi()
|