[Intel-gfx] [PATCH 03/20] drm/i915/perf: Manually acquire engine-wakeref around use of kernel_context

Mika Kuoppala mika.kuoppala at linux.intel.com
Fri Feb 28 11:53:06 UTC 2020


Chris Wilson <chris at chris-wilson.co.uk> writes:

> The engine->kernel_context is a special case for request emission. Since
> it is used as the barrier within the engine's wakeref, we must acquire the
> wakeref before submitting a request to the kernel_context.

I am a bit surprised that the kernel ctx is used in this capacity...

>
> Reported-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_perf.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 0838a12e2dc5..2334c45f1d08 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -2196,7 +2196,9 @@ static int gen8_modify_self(struct intel_context *ce,
>  	struct i915_request *rq;
>  	int err;
>  
> +	intel_engine_pm_get(ce->engine);
>  	rq = i915_request_create(ce);
> +	intel_engine_pm_put(ce->engine);
>  	if (IS_ERR(rq))
>  		return PTR_ERR(rq);
>  
> -- 
> 2.25.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list