Lines Matching full:terms
70 /** @terms: Owned list of the original parsed parameters. */
71 struct parse_events_terms terms; member
432 parse_events_terms__exit(&alias->terms); in perf_pmu_free_alias()
540 parse_events_terms__exit(&data->alias->terms); in update_alias()
541 ret = parse_events_terms(&data->alias->terms, pe->event, /*input=*/NULL); in update_alias()
593 parse_events_terms__init(&alias->terms); in perf_pmu__new_alias()
618 ret = parse_events_terms(&alias->terms, val, val_fd); in perf_pmu__new_alias()
770 static int pmu_alias_terms(struct perf_pmu_alias *alias, int err_loc, struct list_head *terms) in pmu_alias_terms() argument
776 list_for_each_entry(term, &alias->terms.terms, list) { in pmu_alias_terms()
784 * Weak terms don't override command line options, in pmu_alias_terms()
785 * which we don't want for implicit terms in aliases. in pmu_alias_terms()
789 list_add_tail(&cloned->list, &clone_terms.terms); in pmu_alias_terms()
791 list_splice_init(&clone_terms.terms, terms); in pmu_alias_terms()
1441 * in the remaining terms.
1452 list_for_each_entry(t, &head_terms->terms, list) { in pmu_resolve_param_term()
1477 /* sysfs exported terms */ in pmu_formats_string()
1512 * Hardcoded terms are generally handled in event parsing, which in pmu_config_term()
1517 /* Config terms set all bits in the config. */ in pmu_config_term()
1545 /* Skip non-config terms. */ in pmu_config_term()
1594 * Either directly use a numeric term, or try to translate string terms in pmu_config_term()
1653 struct parse_events_terms *terms, in perf_pmu__config_terms() argument
1660 return hwmon_pmu__config_terms(pmu, attr, terms, err); in perf_pmu__config_terms()
1662 return drm_pmu__config_terms(pmu, attr, terms, err); in perf_pmu__config_terms()
1664 list_for_each_entry(term, &terms->terms, list) { in perf_pmu__config_terms()
1665 if (pmu_config_term(pmu, attr, term, terms, zero, apply_hardcoded, err)) in perf_pmu__config_terms()
1674 * 1) users input - specified in terms parameter
1684 /* Fake PMU doesn't have proper terms so nothing to configure in attr. */ in perf_pmu__config()
1774 * Find alias in the terms list and replace it with the terms
1808 /* Fake PMU doesn't rewrite terms. */ in perf_pmu__check_alias()
1812 list_for_each_entry_safe(term, h, &head_terms->terms, list) { in perf_pmu__check_alias()
1819 strdup("Failure to duplicate terms"), in perf_pmu__check_alias()
1910 static const char *const terms[] = { in perf_pmu__for_each_format() local
1942 _Static_assert(ARRAY_SIZE(terms) == __PARSE_EVENTS__TERM_TYPE_NR - 6, in perf_pmu__for_each_format()
1943 … "perf_pmu__for_each_format()'s terms must be kept in sync with enum parse_events__term_type"); in perf_pmu__for_each_format()
1953 for (size_t i = 0; i < ARRAY_SIZE(terms); i++) { in perf_pmu__for_each_format()
1959 ret = cb(state, terms[i], config, /*bits=*/NULL); in perf_pmu__for_each_format()
2043 list_for_each_entry(term, &alias->terms.terms, list) { in format_alias()
2118 parse_events_terms__to_strbuf(&event->terms, &sb); in perf_pmu__for_each_event()
2592 int ret = perf_pmu__config(pmu, &attr, &event->terms, /*apply_hardcoded=*/true, in perf_pmu__name_from_config()