From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 11/18] drm/i915: switch to default context on idle Date: Sun, 18 Mar 2012 13:39:51 -0700 Message-ID: <1332103198-25852-12-git-send-email-ben@bwidawsk.net> References: <1332103198-25852-1-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 5E4319F37B for ; Sun, 18 Mar 2012 13:41:41 -0700 (PDT) In-Reply-To: <1332103198-25852-1-git-send-email-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org 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. Signed-off-by: Ben Widawsky --- drivers/gpu/drm/i915/i915_gem.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 0985aa5..c1aab45 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3685,6 +3685,8 @@ int i915_gem_idle(struct drm_device *dev) { drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; + u32 seqno; int ret; mutex_lock(&dev->struct_mutex); @@ -3694,6 +3696,10 @@ i915_gem_idle(struct drm_device *dev) return 0; } + seqno = i915_gem_next_request_seqno(ring); + i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID, seqno, 0); + WARN_ON(i915_wait_request(ring, seqno, false)); + ret = i915_gpu_idle(dev, true); if (ret) { mutex_unlock(&dev->struct_mutex); -- 1.7.9.4