Commit a96d8f05 authored by John Harrison's avatar John Harrison

drm/i915/selftest: Cope with not having an RCS engine

It is no longer guaranteed that there will always be an RCS engine.
So, use the helper function for finding the first available engine that
can be used for general purpose selftets.
Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220728024225.2363663-5-John.C.Harrison@Intel.com
parent 69142c0a
...@@ -1302,13 +1302,15 @@ static int igt_reset_wait(void *arg) ...@@ -1302,13 +1302,15 @@ static int igt_reset_wait(void *arg)
{ {
struct intel_gt *gt = arg; struct intel_gt *gt = arg;
struct i915_gpu_error *global = &gt->i915->gpu_error; struct i915_gpu_error *global = &gt->i915->gpu_error;
struct intel_engine_cs *engine = gt->engine[RCS0]; struct intel_engine_cs *engine;
struct i915_request *rq; struct i915_request *rq;
unsigned int reset_count; unsigned int reset_count;
struct hang h; struct hang h;
long timeout; long timeout;
int err; int err;
engine = intel_selftest_find_any_engine(gt);
if (!engine || !intel_engine_can_store_dword(engine)) if (!engine || !intel_engine_can_store_dword(engine))
return 0; return 0;
...@@ -1432,7 +1434,7 @@ static int __igt_reset_evict_vma(struct intel_gt *gt, ...@@ -1432,7 +1434,7 @@ static int __igt_reset_evict_vma(struct intel_gt *gt,
int (*fn)(void *), int (*fn)(void *),
unsigned int flags) unsigned int flags)
{ {
struct intel_engine_cs *engine = gt->engine[RCS0]; struct intel_engine_cs *engine;
struct drm_i915_gem_object *obj; struct drm_i915_gem_object *obj;
struct task_struct *tsk = NULL; struct task_struct *tsk = NULL;
struct i915_request *rq; struct i915_request *rq;
...@@ -1444,6 +1446,8 @@ static int __igt_reset_evict_vma(struct intel_gt *gt, ...@@ -1444,6 +1446,8 @@ static int __igt_reset_evict_vma(struct intel_gt *gt,
if (!gt->ggtt->num_fences && flags & EXEC_OBJECT_NEEDS_FENCE) if (!gt->ggtt->num_fences && flags & EXEC_OBJECT_NEEDS_FENCE)
return 0; return 0;
engine = intel_selftest_find_any_engine(gt);
if (!engine || !intel_engine_can_store_dword(engine)) if (!engine || !intel_engine_can_store_dword(engine))
return 0; return 0;
...@@ -1819,12 +1823,14 @@ static int igt_handle_error(void *arg) ...@@ -1819,12 +1823,14 @@ static int igt_handle_error(void *arg)
{ {
struct intel_gt *gt = arg; struct intel_gt *gt = arg;
struct i915_gpu_error *global = &gt->i915->gpu_error; struct i915_gpu_error *global = &gt->i915->gpu_error;
struct intel_engine_cs *engine = gt->engine[RCS0]; struct intel_engine_cs *engine;
struct hang h; struct hang h;
struct i915_request *rq; struct i915_request *rq;
struct i915_gpu_coredump *error; struct i915_gpu_coredump *error;
int err; int err;
engine = intel_selftest_find_any_engine(gt);
/* Check that we can issue a global GPU and engine reset */ /* Check that we can issue a global GPU and engine reset */
if (!intel_has_reset_engine(gt)) if (!intel_has_reset_engine(gt))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment