From 3a68c7bd808b03d2055e96b83582d92e672c37eb Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 10 Dec 2012 13:56:17 +0200 Subject: [PATCH] --- yaml --- r: 357913 b: refs/heads/master c: 107f27a5df8ad33a351d6e82fe95ff92b428f72e h: refs/heads/master i: 357911: 989c9ca52b2b1479f344eb3b013dd0812ed04f3b v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 029dd982581c..2b7733772413 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f72b3435c1a75406d82d6e252bb78f009efd4bd9 +refs/heads/master: 107f27a5df8ad33a351d6e82fe95ff92b428f72e diff --git a/trunk/drivers/gpu/drm/i915/i915_gem.c b/trunk/drivers/gpu/drm/i915/i915_gem.c index a81b78a59bd9..bc73f98c3631 100644 --- a/trunk/drivers/gpu/drm/i915/i915_gem.c +++ b/trunk/drivers/gpu/drm/i915/i915_gem.c @@ -1938,11 +1938,15 @@ i915_gem_handle_seqno_wrap(struct drm_device *dev) if (ret == 0) return ret; - ret = i915_gpu_idle(dev); - if (ret) - return ret; - + /* Carefully retire all requests without writing to the rings */ + for_each_ring(ring, dev_priv, i) { + ret = intel_ring_idle(ring); + if (ret) + return ret; + } i915_gem_retire_requests(dev); + + /* Finally reset hw state */ for_each_ring(ring, dev_priv, i) { ret = intel_ring_handle_seqno_wrap(ring); if (ret)