aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <[email protected]>2019-10-22 14:02:21 +0100
committerChris Wilson <[email protected]>2019-10-22 20:43:08 +0100
commitc31c9e82ee8ae032b0ed495ae8b8207a6734452b (patch)
tree8a377f395e51480f6b02e774bcb7577ea5caf49d
parentae2e28b02630072134392e75b1062eef69aeeff8 (diff)
drm/i915/selftests: Teach switch_to_context() to use the context
The context details which engines to use, so use the ctx->engines[] to generate the requests to cause the context switch. Signed-off-by: Chris Wilson <[email protected]> Cc: Tvrtko Ursulin <[email protected]> Reviewed-by: Tvrtko Ursulin <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r--drivers/gpu/drm/i915/selftests/i915_gem.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c
index 97f89f744ee2..84e7ca778b7b 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem.c
@@ -15,16 +15,15 @@
#include "igt_flush_test.h"
#include "mock_drm.h"
-static int switch_to_context(struct drm_i915_private *i915,
- struct i915_gem_context *ctx)
+static int switch_to_context(struct i915_gem_context *ctx)
{
- struct intel_engine_cs *engine;
- enum intel_engine_id id;
+ struct i915_gem_engines_iter it;
+ struct intel_context *ce;
- for_each_engine(engine, i915, id) {
+ for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) {
struct i915_request *rq;
- rq = igt_request_alloc(ctx, engine);
+ rq = intel_context_create_request(ce);
if (IS_ERR(rq))
return PTR_ERR(rq);
@@ -140,7 +139,7 @@ static int igt_gem_suspend(void *arg)
err = -ENOMEM;
ctx = live_context(i915, file);
if (!IS_ERR(ctx))
- err = switch_to_context(i915, ctx);
+ err = switch_to_context(ctx);
if (err)
goto out;
@@ -155,7 +154,7 @@ static int igt_gem_suspend(void *arg)
pm_resume(i915);
- err = switch_to_context(i915, ctx);
+ err = switch_to_context(ctx);
out:
mock_file_free(i915, file);
return err;
@@ -175,7 +174,7 @@ static int igt_gem_hibernate(void *arg)
err = -ENOMEM;
ctx = live_context(i915, file);
if (!IS_ERR(ctx))
- err = switch_to_context(i915, ctx);
+ err = switch_to_context(ctx);
if (err)
goto out;
@@ -190,7 +189,7 @@ static int igt_gem_hibernate(void *arg)
pm_resume(i915);
- err = switch_to_context(i915, ctx);
+ err = switch_to_context(ctx);
out:
mock_file_free(i915, file);
return err;