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:
9097eef
)
drm/i915: Poll for seqno completion if IRQ is disabled
author
Chris Wilson
<
[email protected]
>
Tue, 14 Dec 2010 12:17:15 +0000
(12:17 +0000)
committer
Chris Wilson
<
[email protected]
>
Tue, 14 Dec 2010 12:19:25 +0000
(12:19 +0000)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32288
Signed-off-by: Chris Wilson <
[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 726c2ccd674c5f934bc0ff20bcba979674af763e..5a0fbe59dd5b7850adf285c9ad1a73c79504897b 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem.c
+++ b/
drivers/gpu/drm/i915/i915_gem.c
@@
-2000,7
+2000,6
@@
i915_do_wait_request(struct drm_device *dev, uint32_t seqno,
trace_i915_gem_request_wait_begin(dev, seqno);
ring->waiting_seqno = seqno;
- ret = -ENODEV;
if (ring->irq_get(ring)) {
if (interruptible)
ret = wait_event_interruptible(ring->irq_queue,
@@
-2012,7
+2011,10
@@
i915_do_wait_request(struct drm_device *dev, uint32_t seqno,
|| atomic_read(&dev_priv->mm.wedged));
ring->irq_put(ring);
- }
+ } else if (wait_for(i915_seqno_passed(ring->get_seqno(ring),
+ seqno) ||
+ atomic_read(&dev_priv->mm.wedged), 3000))
+ ret = -EBUSY;
ring->waiting_seqno = 0;
trace_i915_gem_request_wait_end(dev, seqno);