diff mbox series

drm/i915: Use intel_gt_pm_put_async in GuC submission path

Message ID 20191120211321.88021-1-stuart.summers@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Use intel_gt_pm_put_async in GuC submission path | expand

Commit Message

Summers, Stuart Nov. 20, 2019, 9:13 p.m. UTC
GuC submission path can be called from an interrupt context
and so should use a worker to avoid holding a mutex.

References: 07779a76ee1f ("drm/i915: Mark up the calling context for intel_wakeref_put()")

Signed-off-by: Stuart Summers <stuart.summers@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chris Wilson Nov. 20, 2019, 9:19 p.m. UTC | #1
Quoting Stuart Summers (2019-11-20 21:13:21)
> GuC submission path can be called from an interrupt context
> and so should use a worker to avoid holding a mutex.

I completely forgot there was still the vestigial GuC submission code...
Ah, I was looking more carefully for engine_put in the wrong context.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox series

Patch

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 902e25eb6b9d..dcccbd640809 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -537,7 +537,7 @@  static void schedule_out(struct i915_request *rq)
 {
 	trace_i915_request_out(rq);
 
-	intel_gt_pm_put(rq->engine->gt);
+	intel_gt_pm_put_async(rq->engine->gt);
 	i915_request_put(rq);
 }