Lines Matching defs:oa_config

373 	struct i915_oa_config *oa_config;
383 struct i915_oa_config *oa_config =
384 container_of(ref, typeof(*oa_config), ref);
386 kfree(oa_config->flex_regs);
387 kfree(oa_config->b_counter_regs);
388 kfree(oa_config->mux_regs);
390 kfree_rcu(oa_config, rcu);
396 struct i915_oa_config *oa_config;
399 oa_config = idr_find(&perf->metrics_idr, metrics_set);
400 if (oa_config)
401 oa_config = i915_oa_config_get(oa_config);
404 return oa_config;
409 i915_oa_config_put(oa_bo->oa_config);
1359 i915_oa_config_put(stream->oa_config);
1843 struct i915_oa_config *oa_config)
1855 config_length += num_lri_dwords(oa_config->mux_regs_len);
1856 config_length += num_lri_dwords(oa_config->b_counter_regs_len);
1857 config_length += num_lri_dwords(oa_config->flex_regs_len);
1874 oa_config->mux_regs,
1875 oa_config->mux_regs_len);
1877 oa_config->b_counter_regs,
1878 oa_config->b_counter_regs_len);
1880 oa_config->flex_regs,
1881 oa_config->flex_regs_len);
1901 oa_bo->oa_config = i915_oa_config_get(oa_config);
1914 get_oa_vma(struct i915_perf_stream *stream, struct i915_oa_config *oa_config)
1923 if (oa_bo->oa_config == oa_config &&
1924 memcmp(oa_bo->oa_config->uuid,
1925 oa_config->uuid,
1926 sizeof(oa_config->uuid)) == 0)
1930 oa_bo = alloc_oa_config_buffer(stream, oa_config);
1940 struct i915_oa_config *oa_config,
1949 vma = get_oa_vma(stream, oa_config);
2038 stream->oa_config, oa_context(stream),
2054 static u32 oa_config_flex_reg(const struct i915_oa_config *oa_config,
2065 if (!oa_config)
2068 for (i = 0; i < oa_config->flex_regs_len; i++) {
2069 if (i915_mmio_reg_offset(oa_config->flex_regs[i].addr) == mmio)
2070 return oa_config->flex_regs[i].value;
2108 oa_config_flex_reg(stream->oa_config, flex_regs[i]);
2388 const struct i915_oa_config *oa_config,
2405 const struct i915_oa_config *oa_config,
2437 regs[i].value = oa_config_flex_reg(oa_config, regs[i].reg);
2449 struct i915_oa_config *oa_config = stream->oa_config;
2486 ret = lrc_configure_all_contexts(stream, oa_config, active);
2491 stream->oa_config, oa_context(stream),
2507 struct i915_oa_config *oa_config = stream->oa_config;
2533 ret = gen12_configure_all_contexts(stream, oa_config, active);
2549 stream->oa_config, oa_context(stream),
2909 stream->oa_config = i915_perf_get_oa_config(perf, props->metrics_set);
2910 if (!stream->oa_config) {
2947 stream->oa_config->uuid);
3204 long ret = stream->oa_config->id;
3210 if (config != stream->oa_config) {
3224 config = xchg(&stream->oa_config, config);
3974 struct i915_oa_config *oa_config =
3975 container_of(attr, typeof(*oa_config), sysfs_metric_id);
3977 return sprintf(buf, "%d\n", oa_config->id);
3981 struct i915_oa_config *oa_config)
3983 sysfs_attr_init(&oa_config->sysfs_metric_id.attr);
3984 oa_config->sysfs_metric_id.attr.name = "id";
3985 oa_config->sysfs_metric_id.attr.mode = S_IRUGO;
3986 oa_config->sysfs_metric_id.show = show_dynamic_id;
3987 oa_config->sysfs_metric_id.store = NULL;
3989 oa_config->attrs[0] = &oa_config->sysfs_metric_id.attr;
3990 oa_config->attrs[1] = NULL;
3992 oa_config->sysfs_metric.name = oa_config->uuid;
3993 oa_config->sysfs_metric.attrs = oa_config->attrs;
3996 &oa_config->sysfs_metric);
4017 struct i915_oa_config *oa_config, *tmp;
4043 oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
4044 if (!oa_config) {
4049 oa_config->perf = perf;
4050 kref_init(&oa_config->ref);
4058 /* Last character in oa_config->uuid will be 0 because oa_config is
4061 memcpy(oa_config->uuid, args->uuid, sizeof(args->uuid));
4063 oa_config->mux_regs_len = args->n_mux_regs;
4074 oa_config->mux_regs = regs;
4076 oa_config->b_counter_regs_len = args->n_boolean_regs;
4087 oa_config->b_counter_regs = regs;
4095 oa_config->flex_regs_len = args->n_flex_regs;
4106 oa_config->flex_regs = regs;
4117 if (!strcmp(tmp->uuid, oa_config->uuid)) {
4124 err = create_dynamic_oa_sysfs_entry(perf, oa_config);
4131 oa_config->id = idr_alloc(&perf->metrics_idr,
4132 oa_config, 2,
4134 if (oa_config->id < 0) {
4136 err = oa_config->id;
4142 DRM_DEBUG("Added config %s id=%i\n", oa_config->uuid, oa_config->id);
4144 return oa_config->id;
4149 i915_oa_config_put(oa_config);
4170 struct i915_oa_config *oa_config;
4187 oa_config = idr_find(&perf->metrics_idr, *arg);
4188 if (!oa_config) {
4194 GEM_BUG_ON(*arg != oa_config->id);
4196 sysfs_remove_group(perf->metrics_kobj, &oa_config->sysfs_metric);
4202 DRM_DEBUG("Removed config %s id=%i\n", oa_config->uuid, oa_config->id);
4204 i915_oa_config_put(oa_config);