From: Ben Widawsky <benjamin.widawsky@intel.com>
To: Intel GFX <intel-gfx@lists.freedesktop.org>
Cc: Ben Widawsky <ben@bwidawsk.net>,
Art Runyan <arthur.j.runyan@intel.com>,
Ben Widawsky <benjamin.widawsky@intel.com>
Subject: [PATCH 3/4] drm/i915: WaFbcDisableDpfcrClockGating only with fbc
Date: Thu, 24 Oct 2013 09:59:13 -0700 [thread overview]
Message-ID: <1382633954-7375-3-git-send-email-benjamin.widawsky@intel.com> (raw)
In-Reply-To: <1382633954-7375-1-git-send-email-benjamin.widawsky@intel.com>
We were turning this on for ILK regardless of whether or not we use FBC.
We can save the slightest amount of power if we don't disable it when
not using FBC.
The workaround should be bit 8 for ILK. Notice it is 1 bit difference
from SNB. This is actually DPFCR unit as we've defined it.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
drivers/gpu/drm/i915/intel_pm.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 686699c..bbcf100 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -238,6 +238,11 @@ static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
SNB_CPU_FENCE_ENABLE | obj->fence_reg);
I915_WRITE(DPFC_CPU_FENCE_OFFSET, crtc->y);
sandybridge_blit_fbc_update(dev);
+ } else {
+ /* WaFbcDisableDpfcClockGating:ilk */
+ I915_WRITE(ILK_DSPCLK_GATE_D,
+ I915_READ(ILK_DSPCLK_GATE_D) |
+ ILK_DPFCRUNIT_CLOCK_GATE_DISABLE);
}
DRM_DEBUG_KMS("enabled fbc on plane %c\n", plane_name(intel_crtc->plane));
@@ -254,6 +259,12 @@ static void ironlake_disable_fbc(struct drm_device *dev)
dpfc_ctl &= ~DPFC_CTL_EN;
I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl);
+ if (IS_GEN5(dev))
+ /* WaFbcDisableDpfcClockGating:ilk */
+ I915_WRITE(ILK_DSPCLK_GATE_D,
+ I915_READ(ILK_DSPCLK_GATE_D) &
+ ~ILK_DPFCRUNIT_CLOCK_GATE_DISABLE);
+
DRM_DEBUG_KMS("disabled FBC\n");
}
}
@@ -4932,9 +4943,9 @@ static void ironlake_init_clock_gating(struct drm_device *dev)
/*
* Required for FBC
- * WaFbcDisableDpfcClockGating:ilk
+ * WaFbcDisableDpfcClockGating:snb
*/
- dspclk_gate |= ILK_DPFCRUNIT_CLOCK_GATE_DISABLE |
+ dspclk_gate |=
ILK_DPFCUNIT_CLOCK_GATE_DISABLE |
ILK_DPFDUNIT_CLOCK_GATE_ENABLE;
--
1.8.4.1
next prev parent reply other threads:[~2013-10-24 16:59 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 16:59 [PATCH 1/4] drm/i915: Remove WaFbcDisableDpfcClockGating on IVB Ben Widawsky
2013-10-24 16:59 ` [PATCH 2/4] drm/i915: Remove WaFbcDisableDpfcClockGating on HSW Ben Widawsky
2013-10-25 17:27 ` Paulo Zanoni
2013-10-27 13:44 ` Daniel Vetter
2013-10-28 12:22 ` Paulo Zanoni
2013-10-28 13:05 ` Ville Syrjälä
2013-10-28 16:48 ` Ben Widawsky
2013-10-28 17:43 ` Ville Syrjälä
2013-10-28 20:24 ` Ben Widawsky
2013-10-28 16:12 ` Daniel Vetter
2013-10-24 16:59 ` Ben Widawsky [this message]
2013-10-25 17:14 ` [PATCH 3/4] drm/i915: WaFbcDisableDpfcrClockGating only with fbc Paulo Zanoni
2013-10-28 16:56 ` Ben Widawsky
2013-10-24 16:59 ` [PATCH 4/4] drm/i915: WaFbcDisableDpfcClockGating " Ben Widawsky
2013-10-25 17:24 ` Paulo Zanoni
2013-10-28 17:08 ` Ben Widawsky
2013-10-25 17:27 ` [PATCH 1/4] drm/i915: Remove WaFbcDisableDpfcClockGating on IVB Paulo Zanoni
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=1382633954-7375-3-git-send-email-benjamin.widawsky@intel.com \
--to=benjamin.widawsky@intel.com \
--cc=arthur.j.runyan@intel.com \
--cc=ben@bwidawsk.net \
--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;
as well as URLs for NNTP newsgroup(s).