public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 1/4] drm/i915/contexts: fix list corruption
@ 2012-08-14  5:41 Ben Widawsky
  2012-08-14  5:41 ` [PATCH 2/4] drm/i915/contexts: Add forced switches Ben Widawsky
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Ben Widawsky @ 2012-08-14  5:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ben Widawsky

After reset we unconditionally reinitialize lists. If the context switch
hasn't yet completed before the suspend the default context object will
end up on lists that are going to go away when we resume.

The patch forces the context switch to be synchronous before suspend
assuring that the active/inactive tracking is correct at the time of
resume.

References: https://bugs.freedesktop.org/show_bug.cgi?id=52429
Tested-by: Guang A Yang <guang.a.yang@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 0514593..31054fa 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2273,11 +2273,11 @@ int i915_gpu_idle(struct drm_device *dev)
 
 	/* Flush everything onto the inactive list. */
 	for_each_ring(ring, dev_priv, i) {
-		ret = i915_ring_idle(ring);
+		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
 		if (ret)
 			return ret;
 
-		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
+		ret = i915_ring_idle(ring);
 		if (ret)
 			return ret;
 	}
-- 
1.7.11.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-08-14 16:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-14  5:41 [PATCH 1/4] drm/i915/contexts: fix list corruption Ben Widawsky
2012-08-14  5:41 ` [PATCH 2/4] drm/i915/contexts: Add forced switches Ben Widawsky
2012-08-14  5:41 ` [PATCH 3/4] drm/i915/contexts: Serialize default context init Ben Widawsky
2012-08-14  7:41   ` Chris Wilson
2012-08-14 16:41     ` Ben Widawsky
2012-08-14  5:41 ` [PATCH 4/4] drm/i915: Cleanup instdone state when idle Ben Widawsky
2012-08-14  7:39   ` Chris Wilson
2012-08-14 16:42     ` Ben Widawsky
2012-08-14 16:48       ` Chris Wilson
2012-08-14  7:36 ` [PATCH 1/4] drm/i915/contexts: fix list corruption Chris Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox