[Intel-gfx] [PATCH 4/4] Revert "drm/i915: Stop allowing the device to be unwedged"

Chris Wilson chris at chris-wilson.co.uk
Wed Mar 8 11:40:10 UTC 2017


This reverts commit 77705ceb84161c9f5074200460fd6cb26b6a0f93.

With inflight request cancellation now used to track the broken
requests, we can restore the ability to unwedge the machine for igt.

Testcase: igt/gem_eio
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Cc: Mika Kuoppala <mika.kuoppala at intel.com
---
 drivers/gpu/drm/i915/i915_drv.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 1c4f0a21eb22..b1e9027a4f80 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1824,11 +1824,8 @@ void i915_reset(struct drm_i915_private *dev_priv)
 	if (!test_and_clear_bit(I915_RESET_IN_PROGRESS, &error->flags))
 		return;
 
-	if (test_bit(I915_WEDGED, &error->flags)) {
-		wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
-		goto out;
-	}
-
+	/* Clear any previous failed attempts at recovery. Time to try again. */
+	__clear_bit(I915_WEDGED, &error->flags);
 	error->reset_count++;
 
 	pr_notice("drm/i915: Resetting chip after gpu hang\n");
@@ -1877,7 +1874,6 @@ void i915_reset(struct drm_i915_private *dev_priv)
 wakeup:
 	i915_gem_reset_finish(dev_priv);
 	enable_irq(dev_priv->drm.irq);
-out:
 	wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
 	return;
 
-- 
2.11.0



More information about the Intel-gfx mailing list