Lines Matching full:ppmu
66 static struct power_pmu *ppmu; variable
82 * these registers (via mtspr/mfspr) are done under ppmu flag
145 if (!ppmu) in is_sier_available()
148 if (ppmu->flags & PPMU_HAS_SIER) in is_sier_available()
188 if ((ppmu->flags & PPMU_HAS_SSLOT) && (mmcra & MMCRA_SAMPLE_ENABLE)) { in perf_ip_adjust()
210 if (ppmu->flags & PPMU_HAS_SIER) in perf_get_data_addr()
215 if (ppmu->flags & PPMU_SIAR_VALID) in perf_get_data_addr()
217 else if (ppmu->flags & PPMU_ALT_SIPR) in perf_get_data_addr()
219 else if (ppmu->flags & PPMU_NO_SIAR) in perf_get_data_addr()
238 if (ppmu->flags & PPMU_HAS_SIER) in regs_sihv()
241 if (ppmu->flags & PPMU_ALT_SIPR) in regs_sihv()
251 if (ppmu->flags & PPMU_HAS_SIER) in regs_sipr()
254 if (ppmu->flags & PPMU_ALT_SIPR) in regs_sipr()
284 if (ppmu->flags & PPMU_NO_SIPR) { in perf_get_misc_flags()
293 if (!(ppmu->flags & PPMU_P10)) in perf_get_misc_flags()
303 if (ppmu->flags & PPMU_P10) { in perf_get_misc_flags()
328 if (ppmu->flags & PPMU_HAS_SIER) in perf_read_regs()
357 else if ((ppmu->flags & PPMU_NO_SIAR)) in perf_read_regs()
361 else if ((ppmu->flags & PPMU_NO_CONT_SAMPLING)) in perf_read_regs()
365 else if (!(ppmu->flags & PPMU_NO_SIPR) && regs_sipr(regs)) in perf_read_regs()
391 if (ppmu->flags & PPMU_P10_DD1) in siar_valid()
393 else if (ppmu->flags & PPMU_HAS_SIER) in siar_valid()
396 if (ppmu->flags & PPMU_SIAR_VALID) in siar_valid()
414 if (!ppmu->bhrb_nr) in power_pmu_bhrb_enable()
430 if (!ppmu->bhrb_nr) in power_pmu_bhrb_disable()
453 if (!ppmu->bhrb_nr) in power_pmu_sched_task()
495 while (r_index < ppmu->bhrb_nr) { in power_pmu_bhrb_read()
517 if (!(ppmu->flags & PPMU_ARCH_31) && in power_pmu_bhrb_read()
582 return (ppmu->flags & PPMU_ARCH_207S) && in is_ebb_event()
637 if (ppmu->flags & PPMU_ARCH_31) { in ebb_switch_out()
682 if (ppmu->flags & PPMU_ARCH_31) { in ebb_switch_in()
798 if (!ppmu) in power_pmu_wants_prompt_pmi()
906 if (!ppmu) { in perf_event_print_debug()
911 if (!ppmu->n_counter) in perf_event_print_debug()
916 pr_info("CPU: %d PMU registers, ppmu = %s n_counters = %d", in perf_event_print_debug()
917 smp_processor_id(), ppmu->name, ppmu->n_counter); in perf_event_print_debug()
919 for (i = 0; i < ppmu->n_counter; i++) in perf_event_print_debug()
928 if (ppmu->n_counter > 4) in perf_event_print_debug()
939 if (ppmu->flags & PPMU_HAS_SIER) in perf_event_print_debug()
942 if (ppmu->flags & PPMU_ARCH_207S) { in perf_event_print_debug()
949 if (ppmu->flags & PPMU_ARCH_31) { in perf_event_print_debug()
974 unsigned long addf = ppmu->add_fields; in power_check_constraints()
975 unsigned long tadd = ppmu->test_adder; in power_check_constraints()
976 unsigned long grp_mask = ppmu->group_constraint_mask; in power_check_constraints()
977 unsigned long grp_val = ppmu->group_constraint_val; in power_check_constraints()
979 if (n_ev > ppmu->n_counter) in power_check_constraints()
985 && !ppmu->limited_pmc_event(event_id[i])) { in power_check_constraints()
986 ppmu->get_alternatives(event_id[i], cflags[i], in power_check_constraints()
990 if (ppmu->get_constraint(event_id[i], &cpuhw->amasks[i][0], in power_check_constraints()
1017 if (!ppmu->get_alternatives) in power_check_constraints()
1021 n_alt[i] = ppmu->get_alternatives(event_id[i], cflags[i], in power_check_constraints()
1024 ppmu->get_constraint(cpuhw->alternatives[i][j], in power_check_constraints()
1101 if (ppmu->flags & PPMU_ARCH_207S) in check_excludes()
1210 return (ppmu->flags & PPMU_LIMITED_PMC5_6) in is_limited_pmc()
1307 if (!ppmu) in power_pmu_disable()
1331 if (ppmu->flags & PPMU_ARCH_31) in power_pmu_disable()
1374 if (ppmu->flags & PPMU_ARCH_31) in power_pmu_disable()
1399 if (ppmu->flags & PPMU_ARCH_207S) { in power_pmu_disable()
1427 if (!ppmu) in power_pmu_enable()
1467 if (ppmu->flags & PPMU_ARCH_31) in power_pmu_enable()
1477 if (ppmu->compute_mmcr(cpuhw->events, cpuhw->n_events, hwc_index, in power_pmu_enable()
1478 &cpuhw->mmcr, cpuhw->event, ppmu->flags)) { in power_pmu_enable()
1484 if (!(ppmu->flags & PPMU_ARCH_207S)) { in power_pmu_enable()
1509 if (ppmu->flags & PPMU_ARCH_207S) in power_pmu_enable()
1512 if (ppmu->flags & PPMU_ARCH_31) in power_pmu_enable()
1573 ppmu->config_bhrb(cpuhw->bhrb_filter); in power_pmu_enable()
1639 if (n0 >= ppmu->n_counter) in power_pmu_add()
1681 if (ppmu->bhrb_filter_map) in power_pmu_add()
1682 bhrb_filter = ppmu->bhrb_filter_map( in power_pmu_add()
1719 ppmu->disable_pmc(event->hw.idx - 1, &cpuhw->mmcr); in power_pmu_del()
1862 if (!ppmu) in power_pmu_commit_txn()
1907 if (ppmu->limited_pmc_event(ev)) in can_go_on_limited_pmc()
1914 if (!ppmu->get_alternatives) in can_go_on_limited_pmc()
1918 n = ppmu->get_alternatives(ev, flags, alt); in can_go_on_limited_pmc()
1934 n = ppmu->get_alternatives(ev, flags, alt); in normal_pmc_alternative()
1966 if (!ppmu->cache_events) in hw_perf_cache_event()
1979 ev = (*ppmu->cache_events)[type][op][result]; in hw_perf_cache_event()
1992 for (i=0; i < ppmu->n_blacklist_ev; i++) { in is_event_blacklisted()
1993 if (ppmu->blacklist_ev[i] == ev) in is_event_blacklisted()
2011 if (!ppmu) in power_pmu_event_init()
2016 if (!(ppmu->flags & PPMU_ARCH_207S)) in power_pmu_event_init()
2023 if (ev >= ppmu->n_generic || ppmu->generic_events[ev] == 0) in power_pmu_event_init()
2026 if (ppmu->blacklist_ev && is_event_blacklisted(ev)) in power_pmu_event_init()
2028 ev = ppmu->generic_events[ev]; in power_pmu_event_init()
2035 if (ppmu->blacklist_ev && is_event_blacklisted(ev)) in power_pmu_event_init()
2041 if (ppmu->blacklist_ev && is_event_blacklisted(ev)) in power_pmu_event_init()
2055 if (ppmu->check_attr_config && in power_pmu_event_init()
2056 ppmu->check_attr_config(event)) in power_pmu_event_init()
2084 if (ppmu->flags & PPMU_LIMITED_PMC5_6) { in power_pmu_event_init()
2087 } else if (ppmu->limited_pmc_event(ev)) { in power_pmu_event_init()
2111 n = collect_events(event->group_leader, ppmu->n_counter - 1, in power_pmu_event_init()
2147 if (ppmu->bhrb_filter_map) in power_pmu_event_init()
2148 bhrb_filter = ppmu->bhrb_filter_map( in power_pmu_event_init()
2316 ppmu->get_mem_data_src) { in record_and_restart()
2317 ppmu->get_mem_data_src(&data.data_src, ppmu->flags, regs); in record_and_restart()
2322 ppmu->get_mem_weight) { in record_and_restart()
2323 ppmu->get_mem_weight(&data.weight.full, event->attr.sample_type); in record_and_restart()
2407 for (i = 0; i < ppmu->n_counter; ++i) in __perf_event_interrupt()
2412 for (i = 0; i < ppmu->n_counter; ++i) { in __perf_event_interrupt()
2495 if (ppmu) { in power_pmu_prepare_cpu()
2506 if (ppmu) in pmu_name_show()
2507 return sysfs_emit(buf, "%s", ppmu->name); in pmu_name_show()
2531 if (ppmu) in register_power_pmu()
2534 ppmu = pmu; in register_power_pmu()
2538 power_pmu.attr_groups = ppmu->attr_groups; in register_power_pmu()
2540 if (ppmu->flags & PPMU_ARCH_207S) in register_power_pmu()
2543 power_pmu.capabilities |= (ppmu->capabilities & PERF_PMU_CAP_EXTENDED_REGS); in register_power_pmu()