drm/i915/selftests: Fail hangcheck testing if the GPU is wedged
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 5 Jul 2018 15:02:14 +0000 (16:02 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Jul 2018 06:39:30 +0000 (07:39 +0100)
If the GPU is irrecoverably wedged on startup, it means that it failed
on initialisation and we have already tried to reset it but failed. We
can ignore all further testing, as it is already dead. Failing early,
prevents us from slowly failing in our endeavours later and timing out.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180705150214.28316-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/selftests/intel_hangcheck.c

index 72547aa24538c4bcfcca9294ac8654ac98446b72..5cb808dc5b5000b54f46dedeb8e192f8b1bb71d5 100644 (file)
@@ -1243,6 +1243,9 @@ int intel_hangcheck_live_selftests(struct drm_i915_private *i915)
        if (!intel_has_gpu_reset(i915))
                return 0;
 
+       if (i915_terminally_wedged(&i915->gpu_error))
+               return -EIO; /* we're long past hope of a successful reset */
+
        intel_runtime_pm_get(i915);
        saved_hangcheck = fetch_and_zero(&i915_modparams.enable_hangcheck);