/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/pmu/sampling_tests/ |
H A D | misc.h | 180 static inline int get_mmcra_thd_cmp(u64 mmcra, int pmc) in get_mmcra_thd_cmp() argument 183 return ((mmcra >> 45) & 0x7ff); in get_mmcra_thd_cmp() 184 return ((mmcra >> 45) & 0x3ff); in get_mmcra_thd_cmp() 187 static inline int get_mmcra_sm(u64 mmcra, int pmc) in get_mmcra_sm() argument 189 return ((mmcra >> 42) & 0x3); in get_mmcra_sm() 192 static inline u64 get_mmcra_bhrb_disable(u64 mmcra, int pmc) in get_mmcra_bhrb_disable() argument 195 return mmcra & BHRB_DISABLE; in get_mmcra_bhrb_disable() 199 static inline int get_mmcra_ifm(u64 mmcra, int pmc) in get_mmcra_ifm() argument 201 return ((mmcra >> 30) & 0x3); in get_mmcra_ifm() 204 static inline int get_mmcra_thd_sel(u64 mmcra, in argument 209 get_mmcra_thd_start(u64 mmcra, int pmc) get_mmcra_thd_start() argument 214 get_mmcra_thd_stop(u64 mmcra, int pmc) get_mmcra_thd_stop() argument 219 get_mmcra_rand_samp_elig(u64 mmcra, int pmc) get_mmcra_rand_samp_elig() argument 224 get_mmcra_sample_mode(u64 mmcra, int pmc) get_mmcra_sample_mode() argument 229 get_mmcra_marked(u64 mmcra, int pmc) get_mmcra_marked() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/oprofile/ |
H A D | op_model_power4.c | 4 * Added mmcra[slot] support: 100 * mmcr1 and mmcra values passed from the user in the in power4_reg_setup() 105 mmcra_val = sys->mmcra; in power4_reg_setup() 172 unsigned long mmcra = mmcra_val; in power4_cpu_setup() local 187 mmcra |= MMCRA_SAMPLE_ENABLE; in power4_cpu_setup() 188 mtspr(SPRN_MMCRA, mmcra); in power4_cpu_setup() 194 dbg("setup on cpu %d, mmcra %lx\n", smp_processor_id(), in power4_cpu_setup() 273 * mmcra[slot] bits represent the slot number of a sampled instruction 280 unsigned long mmcra; in get_pc() local 287 mmcra in get_pc() 324 get_kernel(unsigned long pc, unsigned long mmcra) get_kernel() argument 367 unsigned long mmcra; power4_handle_interrupt() local [all...] |
H A D | common.c | 124 * There is one mmcr0, mmcr1 and mmcra for setting the events for in op_powerpc_create_files() 129 oprofilefs_create_ulong(root, "mmcra", &sys.mmcra); in op_powerpc_create_files()
|
/kernel/linux/linux-5.10/arch/powerpc/perf/ |
H A D | isa207-common.c | 82 static void mmcra_sdar_mode(u64 event, unsigned long *mmcra) in mmcra_sdar_mode() argument 101 if (is_event_marked(event) || (*mmcra & MMCRA_SAMPLE_ENABLE)) in mmcra_sdar_mode() 102 *mmcra &= MMCRA_SDAR_MODE_NO_UPDATES; in mmcra_sdar_mode() 104 *mmcra |= sdar_mod_val(event) << MMCRA_SDAR_MODE_SHIFT; in mmcra_sdar_mode() 106 *mmcra |= MMCRA_SDAR_MODE_DCACHE; in mmcra_sdar_mode() 108 *mmcra |= MMCRA_SDAR_MODE_TLB; in mmcra_sdar_mode() 244 u64 mmcra = mfspr(SPRN_MMCRA); in isa207_get_mem_weight() local 245 u64 exp = MMCRA_THR_CTR_EXP(mmcra); in isa207_get_mem_weight() 246 u64 mantissa = MMCRA_THR_CTR_MANT(mmcra); in isa207_get_mem_weight() 251 mantissa = P10_MMCRA_THR_CTR_MANT(mmcra); in isa207_get_mem_weight() 417 unsigned long mmcra, mmcr1, mmcr2, unit, combine, psel, cache, val; isa207_compute_mmcr() local [all...] |
H A D | ppc970-pmu.c | 261 unsigned long mmcr0 = 0, mmcr1 = 0, mmcra = 0; in p970_compute_mmcr() local 384 mmcra |= MMCRA_SAMPLE_ENABLE; in p970_compute_mmcr() 396 mmcra |= 0x2000; /* mark only one IOP per PPC instruction */ in p970_compute_mmcr() 401 mmcr->mmcra = mmcra; in p970_compute_mmcr()
|
H A D | core-book3s.c | 167 unsigned long mmcra = regs->dsisr; in perf_ip_adjust() local 169 if ((ppmu->flags & PPMU_HAS_SSLOT) && (mmcra & MMCRA_SAMPLE_ENABLE)) { in perf_ip_adjust() 170 unsigned long slot = (mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT; in perf_ip_adjust() 188 unsigned long mmcra = regs->dsisr; in perf_get_data_addr() local 205 sdar_valid = mmcra & sdsync; in perf_get_data_addr() 208 if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid) in perf_get_data_addr() 289 unsigned long mmcra = mfspr(SPRN_MMCRA); in perf_read_regs() local 290 int marked = mmcra & MMCRA_SAMPLE_ENABLE; in perf_read_regs() 293 regs->dsisr = mmcra; in perf_read_regs() 340 unsigned long mmcra in siar_valid() local 1226 unsigned long flags, mmcr0, val, mmcra; power_pmu_disable() local [all...] |
H A D | power7-pmu.c | 251 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in power7_compute_mmcr() local 299 mmcra |= MMCRA_SAMPLE_ENABLE; in power7_compute_mmcr() 310 mmcr->mmcra = mmcra; in power7_compute_mmcr()
|
H A D | power5+-pmu.c | 457 unsigned long mmcra = 0; in power5p_compute_mmcr() local 582 mmcra |= MMCRA_SAMPLE_ENABLE; in power5p_compute_mmcr() 598 mmcr->mmcra = mmcra; in power5p_compute_mmcr()
|
H A D | power5-pmu.c | 388 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in power5_compute_mmcr() local 527 mmcra |= MMCRA_SAMPLE_ENABLE; in power5_compute_mmcr() 540 mmcr->mmcra = mmcra; in power5_compute_mmcr()
|
H A D | power6-pmu.c | 179 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in p6_compute_mmcr() local 244 mmcra |= MMCRA_SAMPLE_ENABLE; in p6_compute_mmcr() 254 mmcr->mmcra = mmcra; in p6_compute_mmcr()
|
/kernel/linux/linux-6.6/arch/powerpc/perf/ |
H A D | isa207-common.c | 82 static void mmcra_sdar_mode(u64 event, unsigned long *mmcra) in mmcra_sdar_mode() argument 101 if (is_event_marked(event) || (*mmcra & MMCRA_SAMPLE_ENABLE)) in mmcra_sdar_mode() 102 *mmcra &= MMCRA_SDAR_MODE_NO_UPDATES; in mmcra_sdar_mode() 104 *mmcra |= sdar_mod_val(event) << MMCRA_SDAR_MODE_SHIFT; in mmcra_sdar_mode() 106 *mmcra |= MMCRA_SDAR_MODE_DCACHE; in mmcra_sdar_mode() 108 *mmcra |= MMCRA_SDAR_MODE_TLB; in mmcra_sdar_mode() 332 u64 mmcra; in isa207_get_mem_data_src() local 342 mmcra = mfspr(SPRN_MMCRA); in isa207_get_mem_data_src() 344 op_type = (mmcra >> MMCRA_SAMP_ELIG_SHIFT) & MMCRA_SAMP_ELIG_MASK; in isa207_get_mem_data_src() 365 u64 mmcra in isa207_get_mem_weight() local 562 unsigned long mmcra, mmcr1, mmcr2, unit, combine, psel, cache, val; isa207_compute_mmcr() local [all...] |
H A D | ppc970-pmu.c | 262 unsigned long mmcr0 = 0, mmcr1 = 0, mmcra = 0; in p970_compute_mmcr() local 385 mmcra |= MMCRA_SAMPLE_ENABLE; in p970_compute_mmcr() 397 mmcra |= 0x2000; /* mark only one IOP per PPC instruction */ in p970_compute_mmcr() 402 mmcr->mmcra = mmcra; in p970_compute_mmcr()
|
H A D | core-book3s.c | 183 unsigned long mmcra = regs->dsisr; in perf_ip_adjust() local 185 if ((ppmu->flags & PPMU_HAS_SSLOT) && (mmcra & MMCRA_SAMPLE_ENABLE)) { in perf_ip_adjust() 186 unsigned long slot = (mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT; in perf_ip_adjust() 204 unsigned long mmcra = regs->dsisr; in perf_get_data_addr() local 221 sdar_valid = mmcra & sdsync; in perf_get_data_addr() 224 if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid) in perf_get_data_addr() 269 unsigned long mmcra = regs->dsisr; in perf_get_misc_flags() local 270 int marked = mmcra & MMCRA_SAMPLE_ENABLE; in perf_get_misc_flags() 326 unsigned long mmcra = mfspr(SPRN_MMCRA); in perf_read_regs() local 327 int marked = mmcra in perf_read_regs() 386 unsigned long mmcra = regs->dsisr; siar_valid() local 1308 unsigned long flags, mmcr0, val, mmcra; power_pmu_disable() local [all...] |
H A D | power7-pmu.c | 252 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in power7_compute_mmcr() local 300 mmcra |= MMCRA_SAMPLE_ENABLE; in power7_compute_mmcr() 311 mmcr->mmcra = mmcra; in power7_compute_mmcr()
|
H A D | power5+-pmu.c | 458 unsigned long mmcra = 0; in power5p_compute_mmcr() local 583 mmcra |= MMCRA_SAMPLE_ENABLE; in power5p_compute_mmcr() 599 mmcr->mmcra = mmcra; in power5p_compute_mmcr()
|
H A D | power5-pmu.c | 389 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in power5_compute_mmcr() local 528 mmcra |= MMCRA_SAMPLE_ENABLE; in power5_compute_mmcr() 541 mmcr->mmcra = mmcra; in power5_compute_mmcr()
|
H A D | power6-pmu.c | 180 unsigned long mmcra = MMCRA_SDAR_DCACHE_MISS | MMCRA_SDAR_ERAT_MISS; in p6_compute_mmcr() local 245 mmcra |= MMCRA_SAMPLE_ENABLE; in p6_compute_mmcr() 255 mmcr->mmcra = mmcra; in p6_compute_mmcr()
|
/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | book3s_hv_p9_perf.c | 8 static void freeze_pmu(unsigned long mmcr0, unsigned long mmcra) in freeze_pmu() argument 12 if (mmcra & MMCRA_SAMPLE_ENABLE) in freeze_pmu() 17 if (!(mmcra & MMCRA_BHRB_DISABLE)) in freeze_pmu() 24 mmcra = 0; in freeze_pmu() 27 mmcra = MMCRA_BHRB_DISABLE; in freeze_pmu() 31 mtspr(SPRN_MMCRA, mmcra); in freeze_pmu() 50 host_os_sprs->mmcra = mfspr(SPRN_MMCRA); in switch_pmu_to_guest() 52 freeze_pmu(host_os_sprs->mmcr0, host_os_sprs->mmcra); in switch_pmu_to_guest() 107 mtspr(SPRN_MMCRA, vcpu->arch.mmcra); in switch_pmu_to_guest() 138 vcpu->arch.mmcra in switch_pmu_to_host() [all...] |
H A D | book3s_hv.h | 20 unsigned long mmcra; member 96 KVMPPC_BOOK3S_HV_VCPU_ACCESSOR(mmcra, 64)
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
H A D | idle.c | 593 u64 mmcra; member 614 unsigned long mmcra = 0; in power9_idle_stop() local 672 sprs.mmcra = mfspr(SPRN_MMCRA); in power9_idle_stop() 728 mmcra = mfspr(SPRN_MMCRA); in power9_idle_stop() 729 mmcra |= PPC_BIT(60); in power9_idle_stop() 730 mtspr(SPRN_MMCRA, mmcra); in power9_idle_stop() 731 mmcra &= ~PPC_BIT(60); in power9_idle_stop() 732 mtspr(SPRN_MMCRA, mmcra); in power9_idle_stop() 789 mtspr(SPRN_MMCRA, sprs.mmcra); in power9_idle_stop()
|
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
H A D | idle.c | 596 u64 mmcra; member 617 unsigned long mmcra = 0; in power9_idle_stop() local 673 sprs.mmcra = mfspr(SPRN_MMCRA); in power9_idle_stop() 728 mmcra = mfspr(SPRN_MMCRA); in power9_idle_stop() 729 mmcra |= PPC_BIT(60); in power9_idle_stop() 730 mtspr(SPRN_MMCRA, mmcra); in power9_idle_stop() 731 mmcra &= ~PPC_BIT(60); in power9_idle_stop() 732 mtspr(SPRN_MMCRA, mmcra); in power9_idle_stop() 789 mtspr(SPRN_MMCRA, sprs.mmcra); in power9_idle_stop()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | oprofile_impl.h | 30 unsigned long mmcra; member
|
H A D | perf_event_server.h | 24 unsigned long mmcra; member
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | perf_event_server.h | 24 unsigned long mmcra; member
|
/kernel/linux/linux-5.10/tools/perf/arch/powerpc/util/ |
H A D | perf_regs.c | 64 SMPL_REG(mmcra, PERF_REG_POWERPC_MMCRA),
|