For the guc, we need to keep the engine awake (and not parked) and not
just the gt. If we let the engine park, we disable the irq and stop
processing the tasklet, leaving state outstanding inside the tasklet.

Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>
Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 8b83750cf96c..577de8639c83 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -539,7 +539,7 @@ static struct i915_request *schedule_in(struct i915_request 
*rq, int idx)
        if (!rq->hw_context->inflight)
                rq->hw_context->inflight = rq->engine;
        intel_context_inflight_inc(rq->hw_context);
-       intel_gt_pm_get(rq->engine->gt);
+       intel_engine_pm_get(rq->engine);
 
        return i915_request_get(rq);
 }
@@ -552,7 +552,7 @@ static void schedule_out(struct i915_request *rq)
        if (!intel_context_inflight_count(rq->hw_context))
                rq->hw_context->inflight = NULL;
 
-       intel_gt_pm_put(rq->engine->gt);
+       intel_engine_pm_put(rq->engine);
        i915_request_put(rq);
 }
 
-- 
2.23.0.rc1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to