[Intel-gfx] [PATCH] drm/i915: disable rc6 on Cantiga and Crestline
Jesse Barnes
jbarnes at virtuousgeek.org
Sat Dec 25 05:29:34 CET 2010
The Ironlake code won't work on these old chips, so disable it to avoid
hanging older systems.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
---
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
More information about the Intel-gfx
mailing list