Lines Matching refs:intel_pt_pmu
56 struct perf_pmu *intel_pt_pmu; member
122 static int intel_pt_read_config(struct perf_pmu *intel_pt_pmu, const char *str, in intel_pt_read_config() argument
130 mask = perf_pmu__format_bits(&intel_pt_pmu->format, str); in intel_pt_read_config()
135 if (evsel->attr.type == intel_pt_pmu->type) { in intel_pt_read_config()
144 static size_t intel_pt_psb_period(struct perf_pmu *intel_pt_pmu, in intel_pt_psb_period() argument
151 if (perf_pmu__scan_file(intel_pt_pmu, "caps/topa_multiple_entries", in intel_pt_psb_period()
164 err = intel_pt_read_config(intel_pt_pmu, "psb_period", evlist, &val); in intel_pt_psb_period()
170 pr_debug2("%s psb_period %zu\n", intel_pt_pmu->name, psb_period); in intel_pt_psb_period()
190 static u64 intel_pt_default_config(struct perf_pmu *intel_pt_pmu) in intel_pt_default_config() argument
200 if (perf_pmu__scan_file(intel_pt_pmu, "caps/mtc", "%d", in intel_pt_default_config()
205 if (perf_pmu__scan_file(intel_pt_pmu, "caps/mtc_periods", "%x", in intel_pt_default_config()
215 if (perf_pmu__scan_file(intel_pt_pmu, "caps/psb_cyc", "%d", in intel_pt_default_config()
220 if (perf_pmu__scan_file(intel_pt_pmu, "caps/psb_periods", "%x", in intel_pt_default_config()
230 pr_debug2("%s default config: %s\n", intel_pt_pmu->name, buf); in intel_pt_default_config()
232 intel_pt_parse_terms(&intel_pt_pmu->format, buf, &config); in intel_pt_default_config()
261 intel_pt_pmu_default_config(struct perf_pmu *intel_pt_pmu) in intel_pt_pmu_default_config() argument
269 attr->config = intel_pt_default_config(intel_pt_pmu); in intel_pt_pmu_default_config()
271 intel_pt_pmu->selectable = true; in intel_pt_pmu_default_config()
297 struct perf_pmu *intel_pt_pmu = ptr->intel_pt_pmu; in intel_pt_info_fill() local
308 intel_pt_parse_terms(&intel_pt_pmu->format, "tsc", &tsc_bit); in intel_pt_info_fill()
309 intel_pt_parse_terms(&intel_pt_pmu->format, "noretcomp", in intel_pt_info_fill()
311 intel_pt_parse_terms(&intel_pt_pmu->format, "mtc", &mtc_bit); in intel_pt_info_fill()
312 mtc_freq_bits = perf_pmu__format_bits(&intel_pt_pmu->format, in intel_pt_info_fill()
314 intel_pt_parse_terms(&intel_pt_pmu->format, "cyc", &cyc_bit); in intel_pt_info_fill()
337 auxtrace_info->priv[INTEL_PT_PMU_TYPE] = intel_pt_pmu->type; in intel_pt_info_fill()
430 static int intel_pt_val_config_term(struct perf_pmu *intel_pt_pmu, in intel_pt_val_config_term() argument
440 if (perf_pmu__scan_file(intel_pt_pmu, caps, "%llx", &valid) != 1) in intel_pt_val_config_term()
444 perf_pmu__scan_file(intel_pt_pmu, supported, "%d", &ok) == 1 && !ok) in intel_pt_val_config_term()
449 bits = perf_pmu__format_bits(&intel_pt_pmu->format, name); in intel_pt_val_config_term()
470 static int intel_pt_validate_config(struct perf_pmu *intel_pt_pmu, in intel_pt_validate_config() argument
478 err = intel_pt_val_config_term(intel_pt_pmu, "caps/cycle_thresholds", in intel_pt_validate_config()
484 err = intel_pt_val_config_term(intel_pt_pmu, "caps/mtc_periods", in intel_pt_validate_config()
490 return intel_pt_val_config_term(intel_pt_pmu, "caps/psb_periods", in intel_pt_validate_config()
501 struct perf_pmu *intel_pt_pmu = ptr->intel_pt_pmu; in intel_pt_recording_options() local
513 if (evsel->attr.type == intel_pt_pmu->type) { in intel_pt_recording_options()
538 err = intel_pt_validate_config(intel_pt_pmu, intel_pt_evsel); in intel_pt_recording_options()
544 size_t psb_period = intel_pt_psb_period(intel_pt_pmu, evlist); in intel_pt_recording_options()
615 intel_pt_parse_terms(&intel_pt_pmu->format, "tsc", &tsc_bit); in intel_pt_recording_options()
727 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_snapshot_start()
740 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_snapshot_finish()
813 psb_period = intel_pt_psb_period(ptr->intel_pt_pmu, ptr->evlist); in intel_pt_snapshot_ref_buf_size()
1013 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_read_finish()
1022 struct perf_pmu *intel_pt_pmu = perf_pmu__find(INTEL_PT_PMU_NAME); in intel_pt_recording_init() local
1025 if (!intel_pt_pmu) in intel_pt_recording_init()
1034 ptr->intel_pt_pmu = intel_pt_pmu; in intel_pt_recording_init()