From: Chris Wilson Date: Thu, 27 Feb 2020 08:57:06 +0000 (+0000) Subject: drm/i915/perf: Manually acquire engine-wakeref around use of kernel_context X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=d236e2ac535aee1ee19684427edd3654bac143a4;p=kernel.git drm/i915/perf: Manually acquire engine-wakeref around use of kernel_context 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. Reported-by: Lionel Landwerlin Signed-off-by: Chris Wilson Cc: Lionel Landwerlin Reviewed-by: Mika Kuoppala Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-3-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c index 0838a12e2dc5c..2334c45f1d082 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);