summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_gem.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-01-04 17:34:02 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-01-11 20:43:55 +0000
commitb72f3acb71646de073abdc070fe1108866c96634 (patch)
treeb98b4a5a158c000965ecda31257ecca973946a6b /drivers/gpu/drm/i915/i915_gem.c
parent63256ec5347fb2344a42adbae732b90603c92f35 (diff)
drm/i915: Handle ringbuffer stalls when flushing
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index f9c093c08d58..07b62449b9e1 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2148,8 +2148,8 @@ i915_gem_flush_ring(struct drm_device *dev,
uint32_t invalidate_domains,
uint32_t flush_domains)
{
- ring->flush(ring, invalidate_domains, flush_domains);
- i915_gem_process_flushing_list(dev, flush_domains, ring);
+ if (ring->flush(ring, invalidate_domains, flush_domains) == 0)
+ i915_gem_process_flushing_list(dev, flush_domains, ring);
}
static int i915_ring_idle(struct drm_device *dev,