From: Eugeni Dodonov <eugeni.dodonov@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Ben Widawsky <ben@bwidawsk.net>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Eugeni Dodonov <eugeni.dodonov@intel.com>
Subject: [PATCH] drm/i915: enable rc6 by default on IVB onwards
Date: Mon, 28 Nov 2011 22:24:58 -0200 [thread overview]
Message-ID: <1322526298-2746-1-git-send-email-eugeni.dodonov@intel.com> (raw)
In-Reply-To: <20111128190526.GC3840@phenom.ffwll.local>
This is based on original Keith Packard's patch for enabling rc6 by
default, with the only change that we do only enable RC6 by default on IVB
onwards.
Due to the random issues related to RC6 on SNB when VTd is enabled, we'll
not enable them by default on this platform yet. It can always be enabled
by the i915.i915_enable_rc6=1 kernel parameter though.
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
CC: Ben Widawsky <ben@bwidawsk.net>
CC: Keith Packard <keithp@keithp.com>
CC: Jesse Barnes <jbarnes@virtuousgeek.org>
CC: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 4 ++--
drivers/gpu/drm/i915/i915_drv.h | 2 +-
drivers/gpu/drm/i915/intel_display.c | 13 +++++++++++--
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index a472851..e08d72f 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -63,10 +63,10 @@ module_param_named(semaphores, i915_semaphores, int, 0600);
MODULE_PARM_DESC(semaphores,
"Use semaphores for inter-ring sync (default: -1 (use per-chip defaults))");
-unsigned int i915_enable_rc6 __read_mostly = 0;
+int i915_enable_rc6 __read_mostly = -1;
module_param_named(i915_enable_rc6, i915_enable_rc6, int, 0600);
MODULE_PARM_DESC(i915_enable_rc6,
- "Enable power-saving render C-state 6 (default: true)");
+ "Enable power-saving render C-state 6 (default: -1 (use per-chip defaults))");
int i915_enable_fbc __read_mostly = -1;
module_param_named(i915_enable_fbc, i915_enable_fbc, int, 0600);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 14e8307..e283a1d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1002,7 +1002,7 @@ extern int i915_semaphores __read_mostly;
extern unsigned int i915_lvds_downclock __read_mostly;
extern unsigned int i915_panel_use_ssc __read_mostly;
extern int i915_vbt_sdvo_panel_type __read_mostly;
-extern unsigned int i915_enable_rc6 __read_mostly;
+extern int i915_enable_rc6 __read_mostly;
extern int i915_enable_fbc __read_mostly;
extern bool i915_enable_hangcheck __read_mostly;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 981b1f1..8d392b7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7886,6 +7886,15 @@ void intel_init_emon(struct drm_device *dev)
dev_priv->corr = (lcfuse & LCFUSE_HIV_MASK);
}
+static bool intel_enable_rc6(struct drm_device *dev)
+{
+ if (i915_enable_rc6 >= 0)
+ return i915_enable_rc6;
+ if (INTEL_INFO(dev)->gen >= 7)
+ return 1;
+ return 0;
+}
+
void gen6_enable_rps(struct drm_i915_private *dev_priv)
{
u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP);
@@ -7922,7 +7931,7 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
I915_WRITE(GEN6_RC6p_THRESHOLD, 100000);
I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */
- if (i915_enable_rc6)
+ if (intel_enable_rc6(dev_priv->dev))
rc6_mask = GEN6_RC_CTL_RC6p_ENABLE |
GEN6_RC_CTL_RC6_ENABLE;
@@ -8357,7 +8366,7 @@ void ironlake_enable_rc6(struct drm_device *dev)
/* rc6 disabled by default due to repeated reports of hanging during
* boot and resume.
*/
- if (!i915_enable_rc6)
+ if (!intel_enable_rc6(dev))
return;
mutex_lock(&dev->struct_mutex);
--
1.7.7.4
next prev parent reply other threads:[~2011-11-29 0:25 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-28 18:15 [PATCH 0/8] misc fixes for 3.2 Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 1/8] drm/i915: there is no pipe CxSR on ironlake Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 2/8] drm: give up on edid retries when i2c bus is not responding Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 3/8] drm/i915: prevent division by zero when asking for chipset power Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 4/8] drm/i915: fix typo in function name Eugeni Dodonov
2012-01-16 22:26 ` Daniel Vetter
2011-11-28 18:15 ` [PATCH 5/8] platform/x86: fix typos in function comments Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 6/8] drm/i915: enable semaphores on per-device defaults Eugeni Dodonov
2011-11-28 18:45 ` Daniel Vetter
2011-12-10 0:02 ` Keith Packard
2011-12-10 1:05 ` [PATCH] " Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 7/8] drm/i915: allow per-device fbc to work with default settings Eugeni Dodonov
2011-11-28 18:15 ` [PATCH 8/8] drm/i915: enable rc6 by default on IVB onwards Eugeni Dodonov
2011-11-28 19:05 ` Daniel Vetter
2011-11-29 0:24 ` Eugeni Dodonov [this message]
2011-11-19 6:41 ` [PATCH] drm/i915: By default, enable RC6 on IVB and SNB when reasonable Keith Packard
2011-11-19 7:37 ` Kenneth Graunke
2011-11-19 9:07 ` Eugeni Dodonov
2011-11-19 9:25 ` Eugeni Dodonov
2011-11-19 18:32 ` Keith Packard
2011-11-20 21:19 ` Eugeni Dodonov
2011-11-22 20:15 ` Matthew Garrett
2011-11-22 20:46 ` Eugeni Dodonov
2011-11-22 20:51 ` Matthew Garrett
2011-11-23 3:31 ` Keith Packard
2011-11-23 10:26 ` Daniel Vetter
2011-11-23 14:01 ` David Woodhouse
2011-11-23 14:39 ` Daniel Vetter
2011-11-23 15:03 ` David Woodhouse
2011-11-23 15:31 ` Daniel Vetter
2011-11-23 15:36 ` David Woodhouse
2011-11-23 15:46 ` Daniel Vetter
2011-11-23 15:41 ` Daniel Vetter
2011-11-23 15:43 ` David Woodhouse
2011-11-23 20:35 ` Daniel Vetter
2011-11-23 18:42 ` [PATCH] iommu: export no_iommu and dmar_disabled symbols Eugeni Dodonov
2011-11-23 20:36 ` [Intel-gfx] " David Woodhouse
2011-11-23 20:48 ` Keith Packard
2011-12-09 23:53 ` drm/i915: Enabling RC6 where possible Keith Packard
2011-12-09 23:53 ` [PATCH 1/2] iommu: Export intel_iommu_enabled to signal when iommu is in use Keith Packard
2011-12-09 23:53 ` [PATCH 2/2] drm/i915: By default, enable RC6 on IVB and SNB when reasonable Keith Packard
2011-12-13 3:45 ` Matthew Garrett
2011-11-29 0:30 ` [PATCH] drm/i915: enable rc6 by default on IVB onwards Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1322526298-2746-1-git-send-email-eugeni.dodonov@intel.com \
--to=eugeni.dodonov@intel.com \
--cc=ben@bwidawsk.net \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox