[PATCH 15/18] drm/i915: Kill last user of intel_context_create_request outside of selftests
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Tue Jan 28 17:07:13 UTC 2020
Instead of using intel_context_create_request(), use intel_context_pin()
and i915_create_request directly.
Now intel_context_create_request is a helper function for igt, as the
calls in gem/i915_gem_(object/client)_blt.c are only used by selftests.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
drivers/gpu/drm/i915/gt/intel_workarounds.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 5a7db279f702..cb14f5de8882 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -1605,19 +1605,25 @@ static int engine_wa_list_verify(struct intel_context *ce,
return PTR_ERR(vma);
intel_engine_pm_get(ce->engine);
+ err = intel_context_pin(ce);
+ if (err)
+ goto err_pm;
+
rq = intel_context_create_request(ce);
- intel_engine_pm_put(ce->engine);
if (IS_ERR(rq)) {
err = PTR_ERR(rq);
- goto err_vma;
+ goto err_unpin;
}
err = wa_list_srm(rq, wal, vma);
- if (err)
- goto err_vma;
-
i915_request_get(rq);
+ if (err)
+ i915_request_skip(rq, err);
i915_request_add(rq);
+
+ if (err)
+ goto err_rq;
+
if (i915_request_wait(rq, 0, HZ / 5) < 0) {
err = -ETIME;
goto err_rq;
@@ -1642,7 +1648,10 @@ static int engine_wa_list_verify(struct intel_context *ce,
err_rq:
i915_request_put(rq);
-err_vma:
+err_unpin:
+ intel_context_unpin(ce);
+err_pm:
+ intel_engine_pm_put(ce->engine);
i915_vma_unpin(vma);
i915_vma_put(vma);
return err;
--
2.24.1
More information about the Intel-gfx-trybot
mailing list