Commit 7ea29b13 authored by Eric Anholt's avatar Eric Anholt Committed by Keith Packard

drm/i915: Do the fallback non-IRQ wait in ring throttle, too.

As a workaround for IRQ synchronization issues in the gen7 BLT ring,
we want to turn the two wait functions into polling loops.
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Tested-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
Acked-by: default avatarKenneth Graunke <kenneth@whitecape.org>
Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
parent 116ac8d2
...@@ -3309,6 +3309,10 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) ...@@ -3309,6 +3309,10 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
if (ret == 0 && atomic_read(&dev_priv->mm.wedged)) if (ret == 0 && atomic_read(&dev_priv->mm.wedged))
ret = -EIO; ret = -EIO;
} else if (wait_for(i915_seqno_passed(ring->get_seqno(ring),
seqno) ||
atomic_read(&dev_priv->mm.wedged), 3000)) {
ret = -EBUSY;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment