aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem.c
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2012-06-04 17:42:53 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-06-14 11:36:20 -0400
commitf2ef6eb1453a95ce8ab388493793c54a6bedc405 (patch)
treeca12532b5514eb82e2e85206941b3652dad7d0fc /drivers/gpu/drm/i915/i915_gem.c
parentb9a3906b609c4b546f00483089516c65fb2ff014 (diff)
drm/i915: switch to default context on idle
To keep things as sane as possible, switch to the default context before idling. This should help free context objects, as well as put things in a more well defined state before suspending. v2: remove seqno from context switch call (daniel) return error on failed context switch instead of WARN+continue (daniel) v3: move idling to i915_gpu idle (from i915_gem_idle) (Chris) Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index c06f50d44a23..3596f3415624 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2332,6 +2332,10 @@ int i915_gpu_idle(struct drm_device *dev)
2332 /* Is the device fubar? */ 2332 /* Is the device fubar? */
2333 if (WARN_ON(!list_empty(&ring->gpu_write_list))) 2333 if (WARN_ON(!list_empty(&ring->gpu_write_list)))
2334 return -EBUSY; 2334 return -EBUSY;
2335
2336 ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
2337 if (ret)
2338 return ret;
2335 } 2339 }
2336 2340
2337 return 0; 2341 return 0;