Lines Matching refs:format

82  * Reading/parsing the default pmu format definition, which should be
84 * /sys/bus/event_source/devices/<dev>/format as sysfs group attributes.
86 static int pmu_format(const char *name, struct list_head *format)
95 "%s" EVENT_SOURCE_DEVICE_PATH "%s/format", sysfs, name);
100 if (perf_pmu__format_parse(path, format))
821 LIST_HEAD(format);
827 * type value and format definitions. Load both right
830 if (pmu_format(name, &format))
853 INIT_LIST_HEAD(&pmu->format);
856 list_splice(&format, &pmu->format);
867 struct perf_pmu_format *format;
869 /* fake pmu doesn't have format list */
873 list_for_each_entry(format, &pmu->format, list)
874 if (format->value >= PERF_PMU_FORMAT_VALUE_CONFIG_END) {
875 pr_warning("WARNING: '%s' format '%s' requires 'perf_event_attr::config%d'"
877 pmu->name, format->name, format->value);
945 * the pmu format definitions.
957 struct perf_pmu_format *format;
959 list_for_each_entry(format, formats, list)
960 if (!strcmp(format->name, name))
961 return format;
968 struct perf_pmu_format *format = pmu_find_format(formats, name);
972 if (!format)
975 for_each_set_bit(fbit, format->bits, PERF_PMU_FORMAT_BITS)
983 struct perf_pmu_format *format = pmu_find_format(formats, name);
985 if (!format)
988 return format->value;
992 * Sets value based on the format definition (format parameter)
995 static void pmu_format_value(unsigned long *format, __u64 value, __u64 *v,
1002 if (!test_bit(fbit, format))
1012 static __u64 pmu_format_max_value(const unsigned long *format)
1016 w = bitmap_weight(format, PERF_PMU_FORMAT_BITS);
1027 * - We have a term like "base-or-format-term=param-term",
1054 struct perf_pmu_format *format;
1063 list_for_each_entry(format, formats, list)
1064 if (strbuf_addf(&buf, i++ ? ",%s" : "%s", format->name) < 0)
1085 struct perf_pmu_format *format;
1103 format = pmu_find_format(formats, term->config);
1104 if (!format) {
1126 switch (format->value) {
1146 bitmap_weight(format->bits, PERF_PMU_FORMAT_BITS) > 1) {
1175 max_val = pmu_format_max_value(format->bits);
1182 "value too big for format, maximum is %llu",
1184 ? strdup("value too big for format")
1195 pmu_format_value(format->bits, val, vp, zero);
1218 * 2) pmu format definitions - specified by pmu parameter
1227 return perf_pmu__config_terms(pmu->name, &pmu->format, attr,
1243 if (pmu_find_format(&pmu->format, term->config))
1348 struct perf_pmu_format *format;
1350 format = zalloc(sizeof(*format));
1351 if (!format)
1354 format->name = strdup(name);
1355 format->value = config;
1356 memcpy(format->bits, bits, sizeof(format->bits));
1358 list_add_tail(&format->list, list);
1740 struct perf_pmu_format *format;
1745 list_for_each_entry(format, &pmu->format, list) {
1746 if (format->value != PERF_PMU_FORMAT_VALUE_CONFIG)
1749 for_each_set_bit(i, format->bits, PERF_PMU_FORMAT_BITS)
1754 * Kernel doesn't export any valid format bits.