/linux/arch/arm/mach-milbeaut/ |
H A 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/arch/arm/kernel/ |
H A D | topology.c | 188 unsigned int mpidr; in store_cpu_topology() local 193 mpidr = read_cpuid_mpidr(); in store_cpu_topology() 196 if ((mpidr & MPIDR_SMP_BITMASK) == MPIDR_SMP_VALUE) { in store_cpu_topology() 202 if (mpidr & MPIDR_MT_BITMASK) { in store_cpu_topology() 204 cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 205 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 206 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); in store_cpu_topology() 210 cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in store_cpu_topology() 211 cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); in store_cpu_topology() 229 cpu_topology[cpuid].package_id, mpidr); in store_cpu_topology()
|
H A 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 85 ldmia r0, {r1, r6-r8} @ r1 = mpidr mask (r6,r7,r8) = l[0,1,2] shifts
|
/linux/arch/arm/common/ |
H A 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()
|
H A 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 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() 376 unsigned int mpidr = read_cpuid_mpidr(); in nocache_trampoline() local 426 unsigned int i, j, mpidr, this_cluster; in mcpm_sync_init() local [all …]
|
H A 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() 515 int bL_switcher_get_logical_index(u32 mpidr) in bL_switcher_get_logical_index() argument 522 mpidr &= MPIDR_HWID_BITMASK; in bL_switcher_get_logical_index() 527 if ((mpidr == cpu_logical_map(cpu)) || in bL_switcher_get_logical_index() 528 (mpidr == cpu_logical_map(pairing))) in bL_switcher_get_logical_index()
|
/linux/arch/arm/mach-hisi/ |
H A 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() 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() 193 unsigned int mpidr, cpu, cluster; in hip04_cpu_kill() local 196 mpidr = cpu_logical_map(l_cpu); in hip04_cpu_kill() 197 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in hip04_cpu_kill() 249 unsigned int mpidr, cpu, cluster; in hip04_cpu_table_init() local [all …]
|
/linux/drivers/bus/ |
H A 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/arch/arm64/kernel/ |
H A D | sleep.S | 39 .macro compute_mpidr_hash dst, rs0, rs1, rs2, rs3, mpidr, mask 40 and \mpidr, \mpidr, \mask // mask out MPIDR bits 41 and \dst, \mpidr, #0xff // mask=aff0 43 and \mask, \mpidr, #0xff00 // mask = aff1 46 and \mask, \mpidr, #0xff0000 // mask = aff2 49 and \mask, \mpidr, #0xff00000000 // mask = aff3
|
/linux/arch/arm/mach-sunxi/ |
H A D | mc_smp.c | 393 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_boot_secondary() local 395 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_boot_secondary() 396 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_boot_secondary() 445 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_die() local 448 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_die() 449 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_cpu_die() 535 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_kill() local 540 mpidr = cpu_logical_map(l_cpu); in sunxi_mc_smp_cpu_kill() 541 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in sunxi_mc_smp_cpu_kill() 630 unsigned int mpidr, cpu, cluster; in sunxi_mc_smp_cpu_table_init() local [all …]
|
/linux/arch/arm/mach-exynos/ |
H A D | platsmp.c | 51 u32 mpidr = cpu_logical_map(cpu); in platform_do_lowpower() local 52 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in platform_do_lowpower() 320 u32 mpidr = cpu_logical_map(cpu); in exynos_boot_secondary() local 321 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_boot_secondary() 425 u32 mpidr = cpu_logical_map(cpu); in exynos_cpu_die() local 426 u32 core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos_cpu_die()
|
H A D | suspend.c | 268 unsigned int mpidr = read_cpuid_mpidr(); in exynos5420_cpu_suspend() local 269 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in exynos5420_cpu_suspend() 270 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in exynos5420_cpu_suspend() 454 unsigned int mpidr, cluster; in exynos5420_prepare_pm_resume() local 456 mpidr = read_cpuid_mpidr(); in exynos5420_prepare_pm_resume() 457 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in exynos5420_prepare_pm_resume()
|
/linux/arch/arm64/kvm/hyp/nvhe/ |
H A D | psci-relay.c | 78 static unsigned int find_cpu_id(u64 mpidr) in find_cpu_id() argument 83 if (mpidr & ~MPIDR_HWID_BITMASK) in find_cpu_id() 87 if (cpu_logical_map(i) == mpidr) in find_cpu_id() 109 DECLARE_REG(u64, mpidr, host_ctxt, 1); in psci_cpu_on() 125 cpu_id = find_cpu_id(mpidr); in psci_cpu_on() 140 ret = psci_call(func_id, mpidr, in psci_cpu_on()
|
/linux/drivers/irqchip/ |
H A D | irq-gic-v3.c | 213 #define MPIDR_RS(mpidr) (((mpidr) & 0xF0UL) >> 4) argument 769 u64 mpidr = cpu_logical_map(cpu); in gic_cpu_to_affinity() local 774 mpidr = (MPIDR_AFFINITY_LEVEL(mpidr, 1) | in gic_cpu_to_affinity() 1043 unsigned long mpidr; in __gic_populate_rdist() local 1066 smp_processor_id(), mpidr, in __gic_populate_rdist() 1175 u64 need_rss = MPIDR_RS(mpidr); in gic_cpu_sys_reg_init() 1262 cpu, (unsigned long)mpidr, in gic_cpu_sys_reg_init() 1323 #define MPIDR_TO_SGI_RS(mpidr) (MPIDR_RS(mpidr) << ICC_SGI1R_RS_SHIFT) argument 1324 #define MPIDR_TO_SGI_CLUSTER_ID(mpidr) ((mpidr) & ~0xFUL) argument 1353 unsigned long mpidr; in gic_compute_target_list() local [all …]
|
/linux/arch/arm/mach-versatile/ |
H A D | tc2_pm.c | 202 unsigned int mpidr, cpu, cluster; in tc2_pm_init() local 242 mpidr = read_cpuid_mpidr(); in tc2_pm_init() 243 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in tc2_pm_init() 244 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tc2_pm_init()
|
/linux/arch/arm64/include/asm/ |
H A D | smp_plat.h | 35 static inline int get_logical_index(u64 mpidr) in get_logical_index() argument 39 if (cpu_logical_map(cpu) == mpidr) in get_logical_index()
|
/linux/Documentation/virt/kvm/devices/ |
H A D | arm-vgic-v3.rst | 90 values: | mpidr | offset | 100 specified by the mpidr. 111 The mpidr field is used to specify which 112 redistributor is accessed. The mpidr is ignored for the distributor. 114 The mpidr encoding is based on the affinity information in the 121 regardless of the mpidr used to access the register. 184 values: | mpidr | RES | instr | 203 CPU specified by the mpidr field. 213 -EINVAL Invalid mpidr or register value supplied 262 values: | mpidr | info | vINTID | [all …]
|
/linux/drivers/cpuidle/ |
H A D | cpuidle-big_little.c | 105 unsigned int mpidr = read_cpuid_mpidr(); in bl_powerdown_finisher() local 106 unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in bl_powerdown_finisher() 107 unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in bl_powerdown_finisher()
|
/linux/arch/arm/include/asm/ |
H A 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
|
H A 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/drivers/cpufreq/ |
H A D | tegra194-cpufreq.c | 107 static void tegra_get_cpu_mpidr(void *mpidr) in tegra_get_cpu_mpidr() argument 109 *((u64 *)mpidr) = read_cpuid_mpidr() & MPIDR_HWID_BITMASK; in tegra_get_cpu_mpidr() 114 u64 mpidr; in tegra234_get_cpu_cluster_id() local 116 smp_call_function_single(cpu, tegra_get_cpu_mpidr, &mpidr, true); in tegra234_get_cpu_cluster_id() 119 *cpuid = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tegra234_get_cpu_cluster_id() 121 *clusterid = MPIDR_AFFINITY_LEVEL(mpidr, 2); in tegra234_get_cpu_cluster_id() 209 u64 mpidr; in tegra194_get_cpu_cluster_id() local 211 smp_call_function_single(cpu, tegra_get_cpu_mpidr, &mpidr, true); in tegra194_get_cpu_cluster_id() 214 *cpuid = MPIDR_AFFINITY_LEVEL(mpidr, 0); in tegra194_get_cpu_cluster_id() 216 *clusterid = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tegra194_get_cpu_cluster_id()
|
/linux/include/linux/ |
H A 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/include/ras/ |
H A 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/drivers/perf/hisilicon/ |
H A D | hisi_uncore_pmu.c | 418 u64 mpidr = read_cpuid_mpidr(); in hisi_read_sccl_and_ccl_id() local 419 int aff3 = MPIDR_AFFINITY_LEVEL(mpidr, 3); in hisi_read_sccl_and_ccl_id() 420 int aff2 = MPIDR_AFFINITY_LEVEL(mpidr, 2); in hisi_read_sccl_and_ccl_id() 421 int aff1 = MPIDR_AFFINITY_LEVEL(mpidr, 1); in hisi_read_sccl_and_ccl_id() 422 bool mt = mpidr & MPIDR_MT_BITMASK; in hisi_read_sccl_and_ccl_id()
|
/linux/arch/arm64/kvm/vgic/ |
H A D | vgic-mmio-v3.c | 205 ret = extract_bytes(READ_ONCE(irq->mpidr), addr & 7, len); in vgic_mmio_read_irouter() 231 irq->mpidr = val & GENMASK(23, 0); in vgic_mmio_write_irouter() 232 irq->target_vcpu = kvm_mpidr_to_vcpu(vcpu->kvm, irq->mpidr); in vgic_mmio_write_irouter() 322 unsigned long mpidr = kvm_vcpu_get_mpidr_aff(vcpu); in vgic_mmio_read_v3r_typer() local 326 value = (u64)(mpidr & GENMASK(23, 0)) << 32; in vgic_mmio_read_v3r_typer() 1074 u64 mpidr; in vgic_v3_dispatch_sgi() local 1094 mpidr = SGI_AFFINITY_LEVEL(reg, 3); in vgic_v3_dispatch_sgi() 1095 mpidr |= SGI_AFFINITY_LEVEL(reg, 2); in vgic_v3_dispatch_sgi() 1096 mpidr |= SGI_AFFINITY_LEVEL(reg, 1); in vgic_v3_dispatch_sgi() 1100 c_vcpu = kvm_mpidr_to_vcpu(kvm, mpidr | aff0); in vgic_v3_dispatch_sgi()
|