[Intel-gfx] [PATCH 03/12] drm/i915/perf: Schedule oa_config after modifying the contexts
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Thu Mar 12 10:27:05 UTC 2020
On 11/03/2020 15:30, Chris Wilson wrote:
> @@ -2729,16 +2772,19 @@ static const struct i915_perf_stream_ops i915_oa_stream_ops = {
>
> static int i915_perf_stream_enable_sync(struct i915_perf_stream *stream)
> {
> - struct i915_request *rq;
> + struct i915_active *active;
> + int err;
>
> - rq = stream->perf->ops.enable_metric_set(stream);
> - if (IS_ERR(rq))
> - return PTR_ERR(rq);
> + active = i915_active_create();
> + if (!active)
> + return -ENOMEM;
>
> - i915_request_wait(rq, 0, MAX_SCHEDULE_TIMEOUT);
> - i915_request_put(rq);
> + err = stream->perf->ops.enable_metric_set(stream, active);
> + if (err == 0)
> + i915_active_wait(active, TASK_UNINTERRUPTIBLE);
>
> - return 0;
> + i915_active_put(active);
> + return err;
> }
>
> /**
No point in capturing the return value of i915_active_wait()?
-Lionel
More information about the Intel-gfx
mailing list