[PATCH 06/10] drm/i915: use __wait_seqno for ring throttle

Ben Widawsky
2012-04-21T01:25:23Z

It turns out throttle had an almost identical bit of code to do the
wait. Now we can call the new helper directly. This is just a bonus,
and not needed for the overall series.

Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
---
drivers/gpu/drm/i915/i915_gem.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index b4a957c..920dbc1 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3012,18 +3012,13 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
* lockless.
*/
if (ring->irq_get(ring)) {
- ret = wait_event_interruptible(ring->irq_queue,
- i915_seqno_passed(ring->get_seqno(ring), seqno)
- || atomic_read(&dev_priv->mm.wedged));
+ ret = __wait_seqno(ring, seqno, true);
ring->irq_put(ring);

if (ret == 0 && atomic_read(&dev_priv->mm.wedged))
ret = -EIO;
- } else if (wait_for_atomic(i915_seqno_passed(ring->get_seqno(ring),
- seqno) ||
- atomic_read(&dev_priv->mm.wedged), 3000)) {
+ } else
ret = -EBUSY;
- }
}

if (ret == 0)
--
1.7.10