Lines Matching defs:oa_config

388 	struct i915_oa_config *oa_config;
398 struct i915_oa_config *oa_config =
399 container_of(ref, typeof(*oa_config), ref);
401 kfree(oa_config->flex_regs);
402 kfree(oa_config->b_counter_regs);
403 kfree(oa_config->mux_regs);
405 kfree_rcu(oa_config, rcu);
411 struct i915_oa_config *oa_config;
414 oa_config = idr_find(&perf->metrics_idr, metrics_set);
415 if (oa_config)
416 oa_config = i915_oa_config_get(oa_config);
419 return oa_config;
424 i915_oa_config_put(oa_bo->oa_config);
1665 i915_oa_config_put(stream->oa_config);
2223 struct i915_oa_config *oa_config)
2236 config_length += num_lri_dwords(oa_config->mux_regs_len);
2237 config_length += num_lri_dwords(oa_config->b_counter_regs_len);
2238 config_length += num_lri_dwords(oa_config->flex_regs_len);
2261 oa_config->mux_regs,
2262 oa_config->mux_regs_len);
2264 oa_config->b_counter_regs,
2265 oa_config->b_counter_regs_len);
2267 oa_config->flex_regs,
2268 oa_config->flex_regs_len);
2288 oa_bo->oa_config = i915_oa_config_get(oa_config);
2310 get_oa_vma(struct i915_perf_stream *stream, struct i915_oa_config *oa_config)
2319 if (oa_bo->oa_config == oa_config &&
2320 memcmp(oa_bo->oa_config->uuid,
2321 oa_config->uuid,
2322 sizeof(oa_config->uuid)) == 0)
2326 oa_bo = alloc_oa_config_buffer(stream, oa_config);
2336 struct i915_oa_config *oa_config,
2345 vma = get_oa_vma(stream, oa_config);
2432 stream->oa_config, oa_context(stream),
2448 static u32 oa_config_flex_reg(const struct i915_oa_config *oa_config,
2459 if (!oa_config)
2462 for (i = 0; i < oa_config->flex_regs_len; i++) {
2463 if (i915_mmio_reg_offset(oa_config->flex_regs[i].addr) == mmio)
2464 return oa_config->flex_regs[i].value;
2502 oa_config_flex_reg(stream->oa_config, flex_regs[i]);
2786 const struct i915_oa_config *oa_config,
2806 const struct i915_oa_config *oa_config,
2839 regs[i].value = oa_config_flex_reg(oa_config, regs[i].reg);
2851 struct i915_oa_config *oa_config = stream->oa_config;
2888 ret = lrc_configure_all_contexts(stream, oa_config, active);
2893 stream->oa_config, oa_context(stream),
2910 struct i915_oa_config *oa_config = stream->oa_config;
2959 ret = gen12_configure_all_contexts(stream, oa_config, active);
2975 stream->oa_config, oa_context(stream),
3388 stream->oa_config = i915_perf_get_oa_config(perf, props->metrics_set);
3389 if (!stream->oa_config) {
3448 stream->oa_config->uuid);
3705 long ret = stream->oa_config->id;
3711 if (config != stream->oa_config) {
3725 config = xchg(&stream->oa_config, config);
4647 struct i915_oa_config *oa_config =
4648 container_of(attr, typeof(*oa_config), sysfs_metric_id);
4650 return sprintf(buf, "%d\n", oa_config->id);
4654 struct i915_oa_config *oa_config)
4656 sysfs_attr_init(&oa_config->sysfs_metric_id.attr);
4657 oa_config->sysfs_metric_id.attr.name = "id";
4658 oa_config->sysfs_metric_id.attr.mode = S_IRUGO;
4659 oa_config->sysfs_metric_id.show = show_dynamic_id;
4660 oa_config->sysfs_metric_id.store = NULL;
4662 oa_config->attrs[0] = &oa_config->sysfs_metric_id.attr;
4663 oa_config->attrs[1] = NULL;
4665 oa_config->sysfs_metric.name = oa_config->uuid;
4666 oa_config->sysfs_metric.attrs = oa_config->attrs;
4669 &oa_config->sysfs_metric);
4690 struct i915_oa_config *oa_config, *tmp;
4717 oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
4718 if (!oa_config) {
4724 oa_config->perf = perf;
4725 kref_init(&oa_config->ref);
4734 /* Last character in oa_config->uuid will be 0 because oa_config is
4737 memcpy(oa_config->uuid, args->uuid, sizeof(args->uuid));
4739 oa_config->mux_regs_len = args->n_mux_regs;
4751 oa_config->mux_regs = regs;
4753 oa_config->b_counter_regs_len = args->n_boolean_regs;
4765 oa_config->b_counter_regs = regs;
4773 oa_config->flex_regs_len = args->n_flex_regs;
4785 oa_config->flex_regs = regs;
4796 if (!strcmp(tmp->uuid, oa_config->uuid)) {
4804 err = create_dynamic_oa_sysfs_entry(perf, oa_config);
4812 oa_config->id = idr_alloc(&perf->metrics_idr,
4813 oa_config, 2,
4815 if (oa_config->id < 0) {
4818 err = oa_config->id;
4821 id = oa_config->id;
4824 "Added config %s id=%i\n", oa_config->uuid, oa_config->id);
4832 i915_oa_config_put(oa_config);
4854 struct i915_oa_config *oa_config;
4870 oa_config = idr_find(&perf->metrics_idr, *arg);
4871 if (!oa_config) {
4878 GEM_BUG_ON(*arg != oa_config->id);
4880 sysfs_remove_group(perf->metrics_kobj, &oa_config->sysfs_metric);
4887 "Removed config %s id=%i\n", oa_config->uuid, oa_config->id);
4889 i915_oa_config_put(oa_config);