[PATCH] drm/i915: Always wedge during reset

Michal Wajdeczko michal.wajdeczko at intel.com
Tue Apr 10 13:21:26 UTC 2018


When we manually trigger reset, driver may be in unwedged state,
and any further recovery steps might lead to unbalanced calls to
init/fini. Fix that by forcing wedged state on reset.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Sagar Arun Kamble <sagar.a.kamble at intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index f770be1..3e37ef4 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1899,6 +1899,10 @@ void i915_reset(struct drm_i915_private *i915,
 	if (!test_bit(I915_RESET_HANDOFF, &error->flags))
 		return;
 
+	/* Make sure to discard everything already in flight. */
+	if (!i915_terminally_wedged(&i915->gpu_error))
+		i915_gem_set_wedged(i915);
+
 	/* Clear any previous failed attempts at recovery. Time to try again. */
 	if (!i915_gem_unset_wedged(i915))
 		goto wakeup;
-- 
1.9.1



More information about the Intel-gfx-trybot mailing list