projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
116ac8d
)
drm/i915: Do the fallback non-IRQ wait in ring throttle, too.
author
Eric Anholt
<
[email protected]
>
Thu, 22 Dec 2011 22:54:59 +0000
(14:54 -0800)
committer
Keith Packard
<
[email protected]
>
Tue, 3 Jan 2012 17:31:14 +0000
(09:31 -0800)
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: Eric Anholt <
[email protected]
>
Tested-by: Eugeni Dodonov <
[email protected]
>
Reviewed-by: Eugeni Dodonov <
[email protected]
>
Acked-by: Kenneth Graunke <
[email protected]
>
Signed-off-by: Keith Packard <
[email protected]
>
drivers/gpu/drm/i915/i915_gem.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gem.c
b/drivers/gpu/drm/i915/i915_gem.c
index 8359dc777041be9265e53907025564196b1d0fbc..66e0a555dbccfc51b1e6fa7c078869bcce4413da 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem.c
+++ b/
drivers/gpu/drm/i915/i915_gem.c
@@
-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))
ret = -EIO;
+ } else if (wait_for(i915_seqno_passed(ring->get_seqno(ring),
+ seqno) ||
+ atomic_read(&dev_priv->mm.wedged), 3000)) {
+ ret = -EBUSY;
}
}