| /Linux-v5.4/arch/arm64/kernel/ |
| D | topology.c | 27 u64 mpidr; in store_cpu_topology() local 32 mpidr = read_cpuid_mpidr(); in store_cpu_topology() 35 if (mpidr & MPIDR_UP_BITMASK) in store_cpu_topology() 39 if (mpidr & MPIDR_MT_BITMASK) { in store_cpu_topology() 41 cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 42 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 43 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) | in store_cpu_topology() 44 MPIDR_AFFINITY_LEVEL(mpidr, 3) << 8; in store_cpu_topology() 48 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 49 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
|
| /Linux-v5.4/arch/arm/mach-milbeaut/ |
| D | platsmp.c | 25 unsigned int mpidr, cpu, cluster; in m10v_boot_secondary() local 30 mpidr = cpu_logical_map(l_cpu); in m10v_boot_secondary() 31 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in m10v_boot_secondary() 32 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in m10v_boot_secondary() 48 unsigned int mpidr, cpu, cluster; in m10v_smp_init() local 59 mpidr = read_cpuid_mpidr(); in m10v_smp_init() 60 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in m10v_smp_init() 61 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in m10v_smp_init() 78 unsigned int mpidr, cpu; in m10v_cpu_kill() local 80 mpidr = cpu_logical_map(l_cpu); in m10v_cpu_kill() [all …]
|
| /Linux-v5.4/arch/arm/common/ |
| D | mcpm_platsmp.c | 22 unsigned int mpidr; in cpu_to_pcpu() local 24 mpidr = cpu_logical_map(cpu); in cpu_to_pcpu() 25 *pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in cpu_to_pcpu() 26 *pcluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in cpu_to_pcpu() 73 unsigned int mpidr, pcpu, pcluster; in mcpm_cpu_die() local 74 mpidr = read_cpuid_mpidr(); in mcpm_cpu_die() 75 pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_die() 76 pcluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_die()
|
| D | mcpm_entry.c | 241 unsigned int mpidr, cpu, cluster; in mcpm_cpu_power_down() local 245 mpidr = read_cpuid_mpidr(); in mcpm_cpu_power_down() 246 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_power_down() 247 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_power_down() 330 unsigned int mpidr = read_cpuid_mpidr(); in mcpm_cpu_suspend() local 331 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_suspend() 332 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in mcpm_cpu_suspend() 342 unsigned int mpidr, cpu, cluster; in mcpm_cpu_powered_up() local 349 mpidr = read_cpuid_mpidr(); in mcpm_cpu_powered_up() 350 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in mcpm_cpu_powered_up() [all …]
|
| D | bL_switcher.c | 124 unsigned int mpidr = read_mpidr(); in bL_switchpoint() local 125 unsigned int clusterid = MPIDR_AFFINITY_LEVEL(mpidr, 1); in bL_switchpoint() 149 unsigned int mpidr, this_cpu, that_cpu; in bL_switch_to() local 236 mpidr = read_mpidr(); in bL_switch_to() 237 pr_debug("after switch: CPU %d MPIDR %#x\n", this_cpu, mpidr); in bL_switch_to() 238 BUG_ON(mpidr != ib_mpidr); in bL_switch_to() 516 int bL_switcher_get_logical_index(u32 mpidr) in bL_switcher_get_logical_index() argument 523 mpidr &= MPIDR_HWID_BITMASK; in bL_switcher_get_logical_index() 528 if ((mpidr == cpu_logical_map(cpu)) || in bL_switcher_get_logical_index() 529 (mpidr == cpu_logical_map(pairing))) in bL_switcher_get_logical_index()
|
| /Linux-v5.4/arch/arm/mach-hisi/ |
| D | platmcpm.c | 100 unsigned int mpidr, cpu, cluster; in hip04_boot_secondary() local 104 mpidr = cpu_logical_map(l_cpu); in hip04_boot_secondary() 105 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in hip04_boot_secondary() 106 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hip04_boot_secondary() 155 unsigned int mpidr, cpu, cluster; in hip04_cpu_die() local 158 mpidr = cpu_logical_map(l_cpu); in hip04_cpu_die() 159 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in hip04_cpu_die() 160 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hip04_cpu_die() 193 unsigned int mpidr, cpu, cluster; in hip04_cpu_kill() local 196 mpidr = cpu_logical_map(l_cpu); in hip04_cpu_kill() [all …]
|
| /Linux-v5.4/arch/arm/kernel/ |
| D | topology.c | 197 unsigned int mpidr; in store_cpu_topology() local 203 mpidr = read_cpuid_mpidr(); in store_cpu_topology() 206 if ((mpidr & MPIDR_SMP_BITMASK) == MPIDR_SMP_VALUE) { in store_cpu_topology() 212 if (mpidr & MPIDR_MT_BITMASK) { in store_cpu_topology() 214 cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 215 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 216 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); in store_cpu_topology() 220 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 221 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 241 cpu_topology[cpuid].package_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 157 ldmia r2, { r3-r6 } @ r3 = mpidr mask (r4,r5,r6) = l[0,1,2] shifts
|
| D | devtree.c | 77 u32 mpidr = is_smp() ? read_cpuid_mpidr() & MPIDR_HWID_BITMASK : 0; in arm_dt_init_cpu_maps() local 141 if (hwid == mpidr) { in arm_dt_init_cpu_maps()
|
| /Linux-v5.4/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-v5.4/arch/arm/mach-sunxi/ |
| D | mc_smp.c | 394 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_boot_secondary() local 396 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_boot_secondary() 397 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_boot_secondary() 398 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in sunxi_mc_smp_boot_secondary() 446 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_die() local 449 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_die() 450 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_cpu_die() 451 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in sunxi_mc_smp_cpu_die() 536 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_kill() local 541 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_kill() [all …]
|
| /Linux-v5.4/arch/arm/mach-exynos/ |
| D | platsmp.c | 53 u32 mpidr = cpu_logical_map(cpu); in platform_do_lowpower() local 54 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in platform_do_lowpower() 324 u32 mpidr = cpu_logical_map(cpu); in exynos_boot_secondary() local 325 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_boot_secondary() 429 u32 mpidr = cpu_logical_map(cpu); in exynos_cpu_die() local 430 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_cpu_die()
|
| D | suspend.c | 267 unsigned int mpidr = read_cpuid_mpidr(); in exynos5420_cpu_suspend() local 268 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in exynos5420_cpu_suspend() 269 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos5420_cpu_suspend() 453 unsigned int mpidr, cluster; in exynos5420_prepare_pm_resume() local 455 mpidr = read_cpuid_mpidr(); in exynos5420_prepare_pm_resume() 456 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in exynos5420_prepare_pm_resume()
|
| /Linux-v5.4/drivers/irqchip/ |
| D | irq-gic-v3.c | 96 #define MPIDR_RS(mpidr) (((mpidr) & 0xF0UL) >> 4) argument 572 static u64 gic_mpidr_to_affinity(unsigned long mpidr) in gic_mpidr_to_affinity() argument 576 aff = ((u64)MPIDR_AFFINITY_LEVEL(mpidr, 3) << 32 | in gic_mpidr_to_affinity() 577 MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 | in gic_mpidr_to_affinity() 578 MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8 | in gic_mpidr_to_affinity() 579 MPIDR_AFFINITY_LEVEL(mpidr, 0)); in gic_mpidr_to_affinity() 806 unsigned long mpidr = cpu_logical_map(smp_processor_id()); in __gic_populate_rdist() local 814 aff = (MPIDR_AFFINITY_LEVEL(mpidr, 3) << 24 | in __gic_populate_rdist() 815 MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 | in __gic_populate_rdist() 816 MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8 | in __gic_populate_rdist() [all …]
|
| /Linux-v5.4/Documentation/virt/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-v5.4/arch/arm64/include/asm/ |
| D | smp_plat.h | 34 static inline int get_logical_index(u64 mpidr) in get_logical_index() argument 38 if (cpu_logical_map(cpu) == mpidr) in get_logical_index()
|
| /Linux-v5.4/arch/arm/mach-vexpress/ |
| D | tc2_pm.c | 204 unsigned int mpidr, cpu, cluster; in tc2_pm_init() local 244 mpidr = read_cpuid_mpidr(); in tc2_pm_init() 245 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in tc2_pm_init() 246 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tc2_pm_init()
|
| /Linux-v5.4/drivers/cpuidle/ |
| D | cpuidle-big_little.c | 103 unsigned int mpidr = read_cpuid_mpidr(); in bl_powerdown_finisher() local 104 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in bl_powerdown_finisher() 105 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in bl_powerdown_finisher()
|
| /Linux-v5.4/arch/arm/include/asm/ |
| D | bL_switcher.h | 55 int bL_switcher_get_logical_index(u32 mpidr); 71 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()
|
| /Linux-v5.4/include/linux/ |
| D | arm-cci.h | 26 extern int cci_disable_port_by_cpu(u64 mpidr); 34 static inline int cci_disable_port_by_cpu(u64 mpidr) { return -ENODEV; } in cci_disable_port_by_cpu() argument
|
| /Linux-v5.4/drivers/perf/hisilicon/ |
| D | hisi_uncore_pmu.c | 347 u64 mpidr = read_cpuid_mpidr(); in hisi_read_sccl_and_ccl_id() local 349 if (mpidr & MPIDR_MT_BITMASK) { in hisi_read_sccl_and_ccl_id() 350 int aff2 = MPIDR_AFFINITY_LEVEL(mpidr, 2); in hisi_read_sccl_and_ccl_id() 358 *sccl_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); in hisi_read_sccl_and_ccl_id() 360 *ccl_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hisi_read_sccl_and_ccl_id()
|
| /Linux-v5.4/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-v5.4/virt/kvm/arm/vgic/ |
| D | vgic-mmio-v3.c | 141 ret = extract_bytes(READ_ONCE(irq->mpidr), addr & 7, len); in vgic_mmio_read_irouter() 167 irq->mpidr = val & GENMASK(23, 0); in vgic_mmio_write_irouter() 168 irq->target_vcpu = kvm_mpidr_to_vcpu(vcpu->kvm, irq->mpidr); in vgic_mmio_write_irouter() 207 unsigned long mpidr = kvm_vcpu_get_mpidr_aff(vcpu); in vgic_mmio_read_v3r_typer() local 215 value = (u64)(mpidr & GENMASK(23, 0)) << 32; in vgic_mmio_read_v3r_typer() 891 u64 mpidr; in vgic_v3_dispatch_sgi() local 900 mpidr = SGI_AFFINITY_LEVEL(reg, 3); in vgic_v3_dispatch_sgi() 901 mpidr |= SGI_AFFINITY_LEVEL(reg, 2); in vgic_v3_dispatch_sgi() 902 mpidr |= SGI_AFFINITY_LEVEL(reg, 1); in vgic_v3_dispatch_sgi() 924 level0 = match_mpidr(mpidr, target_cpus, c_vcpu); in vgic_v3_dispatch_sgi()
|