Home
last modified time | relevance | path

Searched refs:mpidr (Results 1 – 25 of 44) sorted by relevance

12

/Linux-v5.4/arch/arm64/kernel/
Dtopology.c27 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 …]
Dsleep.S38 .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/
Dplatsmp.c25 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/
Dmcpm_platsmp.c22 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()
Dmcpm_entry.c241 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 …]
DbL_switcher.c124 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/
Dplatmcpm.c100 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/
Dtopology.c197 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()
Dsleep.S38 .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
Ddevtree.c77 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/
Darm-cci.c117 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/
Dmc_smp.c394 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/
Dplatsmp.c53 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()
Dsuspend.c267 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/
Dirq-gic-v3.c96 #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/
Darm-vgic-v3.txt71 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/
Dsmp_plat.h34 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/
Dtc2_pm.c204 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/
Dcpuidle-big_little.c103 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/
DbL_switcher.h55 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
Dsmp_plat.h80 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/
Darm-cci.h26 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/
Dhisi_uncore_pmu.c347 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/
Dras_event.h178 __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/
Dvgic-mmio-v3.c141 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()

12