[Intel-gfx] [PATCH 3/6] drm/i915: Wake up pending_flip_queue as part of reset handling
ville.syrjala at linux.intel.com
ville.syrjala at linux.intel.com
Tue Jan 29 17:13:35 CET 2013
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Someone may be waiting for a flip that will never complete due to a GPU
reset. Wake up all such waiters when the hang is first detected, and
after the reset processing has finished.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
drivers/gpu/drm/i915/i915_irq.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 13bb8d3..8b1146b 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -915,6 +915,8 @@ static void i915_error_work_func(struct work_struct *work)
for_each_ring(ring, dev_priv, i)
wake_up_all(&ring->irq_queue);
+ wake_up_all(&dev_priv->pending_flip_queue);
+
wake_up_all(&dev_priv->gpu_error.reset_queue);
}
}
@@ -1540,6 +1542,8 @@ void i915_handle_error(struct drm_device *dev, bool wedged)
*/
for_each_ring(ring, dev_priv, i)
wake_up_all(&ring->irq_queue);
+
+ wake_up_all(&dev_priv->pending_flip_queue);
}
queue_work(dev_priv->wq, &dev_priv->gpu_error.work);
--
1.7.12.4
More information about the Intel-gfx
mailing list