drm/i915: Restore the kernel context after verifying the w/a
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 26 Jan 2020 19:46:18 +0000 (19:46 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 27 Jan 2020 21:11:59 +0000 (21:11 +0000)
As a safety net, flush the engine verifications and restore the kernel
context.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/971
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200126194618.2131078-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_gt.c

index da2b6e2ae692949dd570b43e301cbfcf7a85ee42..88b6c904607cd6d549e177063840a5a443256fbd 100644 (file)
@@ -538,6 +538,10 @@ static int __engines_verify_workarounds(struct intel_gt *gt)
                        err = -EIO;
        }
 
+       /* Flush and restore the kernel context for safety */
+       if (intel_gt_wait_for_idle(gt, I915_GEM_IDLE_TIMEOUT) == -ETIME)
+               err = -EIO;
+
        return err;
 }