7c5e45e
From 666a130a1a9046994d8a3c5c3ff62316ed980ba6 Mon Sep 17 00:00:00 2001
7c5e45e
From: Eugeni Dodonov <eugeni.dodonov@intel.com>
7c5e45e
Date: Fri, 23 Mar 2012 11:57:19 -0300
7c5e45e
Subject: [PATCH 2/2] drm/i915: enable plain RC6 on Sandy Bridge by default
7c5e45e
7c5e45e
This is yet another chapter in the ongoing saga of bringing RC6 to Sandy
7c5e45e
Bridge machines by default.
7c5e45e
7c5e45e
Now that we have discovered that RC6 issues are triggered by RC6+ state,
7c5e45e
let's try to disable it by default. Plain RC6 is the one responsible for
7c5e45e
most energy savings, and so far it haven't given any problems - at least,
7c5e45e
none we are aware of.
7c5e45e
7c5e45e
So with this, when i915_enable_rc6=-1 (e.g., the default value), we'll
7c5e45e
attempt to enable plain RC6 only on SNB. For Ivy Bridge, the behavior
7c5e45e
stays the same as always - we enable both RC6 and deep RC6.
7c5e45e
7c5e45e
Note that while this exact patch does not has explicit tested-by's, the
7c5e45e
equivalent settings were fixed in 3.3 kernel by a smaller patch. And it
7c5e45e
has also received considerable testing through Canonical RC6 task-force
7c5e45e
testing at https://wiki.ubuntu.com/Kernel/PowerManagementRC6. Up to date,
7c5e45e
it looks like all the known issues are gone.
7c5e45e
7c5e45e
v2: improve description and reference a couple of open bugs related to
7c5e45e
RC6 which seem to be fixed with this change.
7c5e45e
7c5e45e
References: https://bugs.freedesktop.org/show_bug.cgi?id=41682
7c5e45e
References: https://bugs.freedesktop.org/show_bug.cgi?id=38567
7c5e45e
References: https://bugs.freedesktop.org/show_bug.cgi?id=44867
7c5e45e
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
7c5e45e
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
7c5e45e
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
7c5e45e
---
7c5e45e
 drivers/gpu/drm/i915/intel_display.c |    8 ++++----
7c5e45e
 1 file changed, 4 insertions(+), 4 deletions(-)
7c5e45e
7c5e45e
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
7c5e45e
index 1430f09..0fad1b3 100644
7c5e45e
--- a/drivers/gpu/drm/i915/intel_display.c
7c5e45e
+++ b/drivers/gpu/drm/i915/intel_display.c
7c5e45e
@@ -8150,11 +8150,11 @@ static int intel_enable_rc6(struct drm_device *dev)
7c5e45e
 	 * Disable rc6 on Sandybridge
7c5e45e
 	 */
7c5e45e
 	if (INTEL_INFO(dev)->gen == 6) {
7c5e45e
-		DRM_DEBUG_DRIVER("Sandybridge: RC6 disabled\n");
7c5e45e
-		return 0;
7c5e45e
+		DRM_DEBUG_DRIVER("Sandybridge: deep RC6 disabled\n");
7c5e45e
+		return INTEL_RC6_ENABLE;
7c5e45e
 	}
7c5e45e
-	DRM_DEBUG_DRIVER("RC6 enabled\n");
7c5e45e
-	return 1;
7c5e45e
+	DRM_DEBUG_DRIVER("RC6 and deep RC6 enabled\n");
7c5e45e
+	return (INTEL_RC6_ENABLE | INTEL_RC6p_ENABLE);
7c5e45e
 }
7c5e45e
 
7c5e45e
 void gen6_enable_rps(struct drm_i915_private *dev_priv)
7c5e45e
-- 
7c5e45e
1.7.9.3
7c5e45e