Port tests that take GT as argument or otherwise depend on a specific GT
to work to correctly check every GT on system.

This patch addresses the test suites that only really needed to have the
test calls wrapped inside for_each_gt with little to no other intervention.

Signed-off-by: Krzysztof Niemiec <[email protected]>
---

Note that the mock device related tests haven't been touched. This is
because the mock device is hard-coded to have a single GT, so to_gt()
will always be correct. At this moment the single GT assumption is
reasonable to make from the perspective of the test developer, and
changing those to handle multi-gt mock devices is IMO out of scope and
should be done if/when mock devices are expanded to have multiple GTs.

Maybe it's worth it to annotate the places where the single GT
assumption is made for mock devices?

 .../drm/i915/gem/selftests/i915_gem_migrate.c | 11 +++++-
 drivers/gpu/drm/i915/gt/selftest_context.c    | 16 ++++++--
 drivers/gpu/drm/i915/gt/selftest_engine.c     | 15 +++++---
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c  | 15 ++++++--
 .../drm/i915/gt/selftest_engine_heartbeat.c   | 22 +++++++----
 drivers/gpu/drm/i915/gt/selftest_execlists.c  | 19 +++++++---
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c      | 15 ++++++--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c  | 24 +++++++-----
 drivers/gpu/drm/i915/gt/selftest_lrc.c        | 11 +++++-
 drivers/gpu/drm/i915/gt/selftest_migrate.c    | 38 +++++++++++++------
 drivers/gpu/drm/i915/gt/selftest_mocs.c       | 11 +++++-
 drivers/gpu/drm/i915/gt/selftest_reset.c      | 20 +++++++---
 .../drm/i915/gt/selftest_ring_submission.c    | 15 ++++++--
 drivers/gpu/drm/i915/gt/selftest_timeline.c   | 15 ++++++--
 .../gpu/drm/i915/gt/selftest_workarounds.c    | 15 ++++++--
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c     | 20 +++++++---
 .../drm/i915/gt/uc/selftest_guc_hangcheck.c   | 20 +++++++---
 .../drm/i915/gt/uc/selftest_guc_multi_lrc.c   | 20 +++++++---
 .../gpu/drm/i915/selftests/i915_gem_evict.c   | 15 ++++++--
 drivers/gpu/drm/i915/selftests/intel_uncore.c | 11 +++++-
 20 files changed, 260 insertions(+), 88 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c 
b/drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
index d8f4a10d71de..3d4ffca8087c 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
@@ -520,9 +520,18 @@ int i915_gem_migrate_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(igt_lmem_pages_failsafe_migrate),
                SUBTEST(igt_lmem_async_migrate),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
        if (!HAS_LMEM(i915))
                return 0;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       for_each_gt(gt, i915, id) {
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_context.c 
b/drivers/gpu/drm/i915/gt/selftest_context.c
index ab76703f6e8b..ae56b410a320 100644
--- a/drivers/gpu/drm/i915/gt/selftest_context.c
+++ b/drivers/gpu/drm/i915/gt/selftest_context.c
@@ -446,10 +446,18 @@ int intel_context_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(live_active_context),
                SUBTEST(live_remote_context),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
+
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
 
-       return intel_gt_live_subtests(tests, gt);
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_engine.c 
b/drivers/gpu/drm/i915/gt/selftest_engine.c
index 57fea9ea1705..bd96db071859 100644
--- a/drivers/gpu/drm/i915/gt/selftest_engine.c
+++ b/drivers/gpu/drm/i915/gt/selftest_engine.c
@@ -12,15 +12,18 @@ int intel_engine_live_selftests(struct drm_i915_private 
*i915)
                live_engine_pm_selftests,
                NULL,
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
        typeof(*tests) *fn;
+       unsigned int id;
 
-       for (fn = tests; *fn; fn++) {
-               int err;
+       for_each_gt(gt, i915, id) {
+               for (fn = tests; *fn; fn++) {
+                       int err;
 
-               err = (*fn)(gt);
-               if (err)
-                       return err;
+                       err = (*fn)(gt);
+                       if (err)
+                               return err;
+               }
        }
 
        return 0;
diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_cs.c 
b/drivers/gpu/drm/i915/gt/selftest_engine_cs.c
index 5ffa5e30f419..99348395b92b 100644
--- a/drivers/gpu/drm/i915/gt/selftest_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/selftest_engine_cs.c
@@ -380,11 +380,20 @@ int intel_engine_cs_perf_selftests(struct 
drm_i915_private *i915)
                SUBTEST(perf_mi_bb_start),
                SUBTEST(perf_mi_noop),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
 
 static int intel_mmio_bases_check(void *arg)
diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c 
b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
index b893a8fde895..933f30d250c7 100644
--- a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
@@ -266,18 +266,26 @@ int intel_heartbeat_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(live_heartbeat_off),
        };
        int saved_hangcheck;
+       struct intel_gt *gt;
+       unsigned int id;
        int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       saved_hangcheck = i915->params.enable_hangcheck;
-       i915->params.enable_hangcheck = INT_MAX;
+               saved_hangcheck = i915->params.enable_hangcheck;
+               i915->params.enable_hangcheck = INT_MAX;
 
-       err = intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
 
-       i915->params.enable_hangcheck = saved_hangcheck;
-       return err;
+               i915->params.enable_hangcheck = saved_hangcheck;
+
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
 
 void st_engine_heartbeat_disable(struct intel_engine_cs *engine)
diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c 
b/drivers/gpu/drm/i915/gt/selftest_execlists.c
index 21e5ed9f72a3..ddf71b3784bf 100644
--- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
+++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
@@ -4495,12 +4495,21 @@ int intel_execlists_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(live_virtual_slice),
                SUBTEST(live_virtual_reset),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (to_gt(i915)->submission_method != INTEL_SUBMISSION_ELSP)
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (gt->submission_method != INTEL_SUBMISSION_ELSP)
+                       continue;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_gt_pm.c 
b/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
index 07eaf71955c4..09c0c4096665 100644
--- a/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
+++ b/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
@@ -205,9 +205,18 @@ int intel_gt_pm_late_selftests(struct drm_i915_private 
*i915)
                 */
                SUBTEST(live_rc6_ctx_wa),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c 
b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
index 53f3ce5c33a4..d67a6d75c56a 100644
--- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
+++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
@@ -2016,21 +2016,27 @@ int intel_hangcheck_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(igt_reset_evict_fence),
                SUBTEST(igt_handle_error),
        };
-       struct intel_gt *gt = to_gt(i915);
        intel_wakeref_t wakeref;
+       struct intel_gt *gt;
+       unsigned int id;
        int err;
 
-       if (!intel_has_gpu_reset(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (!intel_has_gpu_reset(gt))
+                       continue;
 
-       if (intel_gt_is_wedged(gt))
-               return -EIO; /* we're long past hope of a successful reset */
+               if (intel_gt_is_wedged(gt))
+                       return -EIO; /* we're long past hope of a successful 
reset */
 
-       wakeref = intel_runtime_pm_get(gt->uncore->rpm);
+               wakeref = intel_runtime_pm_get(gt->uncore->rpm);
 
-       err = intel_gt_live_subtests(tests, gt);
+               err = intel_gt_live_subtests(tests, gt);
 
-       intel_runtime_pm_put(gt->uncore->rpm, wakeref);
+               intel_runtime_pm_put(gt->uncore->rpm, wakeref);
 
-       return err;
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c 
b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index 23f04f6f8fba..ac26c91b1e1f 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -1986,9 +1986,18 @@ int intel_lrc_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(live_lrc_indirect_ctx_bb),
                SUBTEST(live_lrc_per_ctx_bb),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
        if (!HAS_LOGICAL_RING_CONTEXTS(i915))
                return 0;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       for_each_gt(gt, i915, id) {
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_migrate.c 
b/drivers/gpu/drm/i915/gt/selftest_migrate.c
index 5b986a7687d9..997fd1ec155c 100644
--- a/drivers/gpu/drm/i915/gt/selftest_migrate.c
+++ b/drivers/gpu/drm/i915/gt/selftest_migrate.c
@@ -562,7 +562,7 @@ static int live_emit_pte_full_ring(void *arg)
         * nearly full.
         */
 
-       if (igt_spinner_init(&st.spin, to_gt(i915)))
+       if (igt_spinner_init(&st.spin, gt))
                return -ENOMEM;
 
        obj = i915_gem_object_create_internal(i915, 2 * PAGE_SIZE);
@@ -806,12 +806,20 @@ int intel_migrate_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(thread_global_copy),
                SUBTEST(thread_global_clear),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (!gt->migrate.context)
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (!gt->migrate.context)
+                       continue;
 
-       return intel_gt_live_subtests(tests, gt);
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
 
 static struct drm_i915_gem_object *
@@ -1027,13 +1035,21 @@ int intel_migrate_perf_selftests(struct 
drm_i915_private *i915)
                SUBTEST(perf_clear_blt),
                SUBTEST(perf_copy_blt),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       if (!gt->migrate.context)
-               return 0;
+               if (!gt->migrate.context)
+                       continue;
 
-       return intel_gt_live_subtests(tests, gt);
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_mocs.c 
b/drivers/gpu/drm/i915/gt/selftest_mocs.c
index d73e438fb85f..916ceba580da 100644
--- a/drivers/gpu/drm/i915/gt/selftest_mocs.c
+++ b/drivers/gpu/drm/i915/gt/selftest_mocs.c
@@ -445,9 +445,18 @@ int intel_mocs_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(live_mocs_reset),
        };
        struct drm_i915_mocs_table table;
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
        if (!get_mocs_settings(i915, &table))
                return 0;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       for_each_gt(gt, i915, id) {
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_reset.c 
b/drivers/gpu/drm/i915/gt/selftest_reset.c
index 2cfc23c58e90..43f90b0687d7 100644
--- a/drivers/gpu/drm/i915/gt/selftest_reset.c
+++ b/drivers/gpu/drm/i915/gt/selftest_reset.c
@@ -382,13 +382,21 @@ int intel_reset_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(igt_atomic_reset),
                SUBTEST(igt_atomic_engine_reset),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (!intel_has_gpu_reset(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (!intel_has_gpu_reset(gt))
+                       continue;
 
-       if (intel_gt_is_wedged(gt))
-               return -EIO; /* we're long past hope of a successful reset */
+               if (intel_gt_is_wedged(gt))
+                       return -EIO; /* we're long past hope of a successful 
reset */
 
-       return intel_gt_live_subtests(tests, gt);
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_ring_submission.c 
b/drivers/gpu/drm/i915/gt/selftest_ring_submission.c
index 600333ae6c8c..6ce7be6e7692 100644
--- a/drivers/gpu/drm/i915/gt/selftest_ring_submission.c
+++ b/drivers/gpu/drm/i915/gt/selftest_ring_submission.c
@@ -291,9 +291,18 @@ int intel_ring_submission_live_selftests(struct 
drm_i915_private *i915)
        static const struct i915_subtest tests[] = {
                SUBTEST(live_ctx_switch_wa),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (to_gt(i915)->submission_method > INTEL_SUBMISSION_RING)
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (gt->submission_method > INTEL_SUBMISSION_RING)
+                       continue;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_timeline.c 
b/drivers/gpu/drm/i915/gt/selftest_timeline.c
index 29d860a5c9c8..0aad7bd50926 100644
--- a/drivers/gpu/drm/i915/gt/selftest_timeline.c
+++ b/drivers/gpu/drm/i915/gt/selftest_timeline.c
@@ -1421,9 +1421,18 @@ int intel_timeline_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(live_hwsp_rollover_kernel),
                SUBTEST(live_hwsp_rollover_user),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c 
b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
index 4e4c420ae67f..8f9705b25f70 100644
--- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
@@ -1374,9 +1374,18 @@ int intel_workarounds_live_selftests(struct 
drm_i915_private *i915)
                SUBTEST(live_gpu_reset_workarounds),
                SUBTEST(live_engine_reset_workarounds),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
+
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/selftest_guc.c 
b/drivers/gpu/drm/i915/gt/uc/selftest_guc.c
index 63a75272924f..c8ce82692614 100644
--- a/drivers/gpu/drm/i915/gt/uc/selftest_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/selftest_guc.c
@@ -407,13 +407,21 @@ int intel_guc_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(intel_guc_steal_guc_ids),
                SUBTEST(intel_guc_fast_request),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       if (!intel_uc_uses_guc_submission(&gt->uc))
-               return 0;
+               if (!intel_uc_uses_guc_submission(&gt->uc))
+                       continue;
+
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
 
-       return intel_gt_live_subtests(tests, gt);
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c 
b/drivers/gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c
index 83801c992488..91a129e73665 100644
--- a/drivers/gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c
+++ b/drivers/gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c
@@ -150,13 +150,21 @@ int intel_guc_hang_check(struct drm_i915_private *i915)
        static const struct i915_subtest tests[] = {
                SUBTEST(intel_hang_guc),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       if (!intel_uc_uses_guc_submission(&gt->uc))
-               return 0;
+               if (!intel_uc_uses_guc_submission(&gt->uc))
+                       continue;
+
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
 
-       return intel_gt_live_subtests(tests, gt);
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c 
b/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c
index 18077801b2e6..e4652b1b303d 100644
--- a/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c
+++ b/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c
@@ -172,13 +172,21 @@ int intel_guc_multi_lrc_live_selftests(struct 
drm_i915_private *i915)
        static const struct i915_subtest tests[] = {
                SUBTEST(intel_guc_multi_lrc_basic),
        };
-       struct intel_gt *gt = to_gt(i915);
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(gt))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
 
-       if (!intel_uc_uses_guc_submission(&gt->uc))
-               return 0;
+               if (!intel_uc_uses_guc_submission(&gt->uc))
+                       continue;
 
-       return intel_gt_live_subtests(tests, gt);
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c 
b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
index 718cddde7e73..fd58faf31fe5 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
@@ -563,9 +563,18 @@ int i915_gem_evict_live_selftests(struct drm_i915_private 
*i915)
        static const struct i915_subtest tests[] = {
                SUBTEST(igt_evict_contexts),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       if (intel_gt_is_wedged(to_gt(i915)))
-               return 0;
+       for_each_gt(gt, i915, id) {
+               if (intel_gt_is_wedged(gt))
+                       continue;
+
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       return 0;
 }
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c 
b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index 514d2200751b..e741dd322537 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -288,6 +288,15 @@ int intel_uncore_live_selftests(struct drm_i915_private 
*i915)
                SUBTEST(live_fw_table),
                SUBTEST(live_forcewake_ops),
        };
+       struct intel_gt *gt;
+       unsigned int id;
+       int err;
 
-       return intel_gt_live_subtests(tests, to_gt(i915));
+       for_each_gt(gt, i915, id) {
+               err = intel_gt_live_subtests(tests, gt);
+               if (err)
+                       return err;
+       }
+
+       return 0;
 }
-- 
2.55.0

Reply via email to