From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: [PATCH] drm/i915: disable rc6 on Cantiga and Crestline Date: Fri, 24 Dec 2010 20:29:34 -0800 Message-ID: <1293251374-2565-1-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from cpoproxy2-pub.bluehost.com (cpoproxy2-pub.bluehost.com [67.222.39.38]) by gabe.freedesktop.org (Postfix) with SMTP id DF4F59E747 for ; Fri, 24 Dec 2010 20:29:38 -0800 (PST) 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 List-Id: intel-gfx@lists.freedesktop.org The Ironlake code won't work on these old chips, so disable it to avoid hanging older systems. Signed-off-by: Jesse Barnes --- drivers/gpu/drm/i915/intel_display.c | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 3f73690..3a488ef 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -6702,12 +6702,7 @@ void intel_modeset_init(struct drm_device *dev) if (IS_IRONLAKE_M(dev)) { ironlake_enable_drps(dev); intel_init_emon(dev); - } - - if (IS_GEN6(dev)) - gen6_enable_rps(dev_priv); - if ((IS_GEN4(dev) || IS_GEN5(dev)) && IS_MOBILE(dev)) { dev_priv->renderctx = intel_alloc_context_page(dev); if (!dev_priv->renderctx) goto skip_rc6; @@ -6720,6 +6715,9 @@ void intel_modeset_init(struct drm_device *dev) ironlake_enable_rc6(dev); } + if (IS_GEN6(dev)) + gen6_enable_rps(dev_priv); + skip_rc6: INIT_WORK(&dev_priv->idle_work, intel_idle_update); setup_timer(&dev_priv->idle_timer, intel_gpu_idle_timer, @@ -6752,14 +6750,13 @@ void intel_modeset_cleanup(struct drm_device *dev) if (dev_priv->display.disable_fbc) dev_priv->display.disable_fbc(dev); - if (IS_IRONLAKE_M(dev)) + if (IS_IRONLAKE_M(dev)) { ironlake_disable_drps(dev); + ironlake_disable_rc6(dev); + } if (IS_GEN6(dev)) gen6_disable_rps(dev); - if ((IS_GEN4(dev) || IS_GEN5(dev)) && IS_MOBILE(dev)) - ironlake_disable_rc6(dev); - mutex_unlock(&dev->struct_mutex); /* Disable the irq before mode object teardown, for the irq might -- 1.7.2.3