drm/i915/selftests: Flush all tiles on test exit
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Wed, 25 Jan 2023 10:00:03 +0000 (11:00 +0100)
committerAndi Shyti <andi.shyti@linux.intel.com>
Thu, 26 Jan 2023 13:11:47 +0000 (14:11 +0100)
We want to idle all tiles when exiting selftests.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230125100003.18243-1-nirmoy.das@intel.com
drivers/gpu/drm/i915/selftests/igt_flush_test.c

index b484e12..29110ab 100644 (file)
 
 int igt_flush_test(struct drm_i915_private *i915)
 {
-       struct intel_gt *gt = to_gt(i915);
-       int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
+       struct intel_gt *gt;
+       unsigned int i;
+       int ret = 0;
 
-       cond_resched();
+       for_each_gt(gt, i915, i) {
+               if (intel_gt_is_wedged(gt))
+                       ret = -EIO;
 
-       if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
-               pr_err("%pS timed out, cancelling all further testing.\n",
-                      __builtin_return_address(0));
+               cond_resched();
 
-               GEM_TRACE("%pS timed out.\n",
-                         __builtin_return_address(0));
-               GEM_TRACE_DUMP();
+               if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
+                       pr_err("%pS timed out, cancelling all further testing.\n",
+                              __builtin_return_address(0));
 
-               intel_gt_set_wedged(gt);
-               ret = -EIO;
+                       GEM_TRACE("%pS timed out.\n",
+                                 __builtin_return_address(0));
+                       GEM_TRACE_DUMP();
+
+                       intel_gt_set_wedged(gt);
+                       ret = -EIO;
+               }
        }
 
        return ret;