Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active.
@ 2010-11-01 21:12 Eric Anholt
  2010-11-01 21:31 ` Chris Wilson
  2010-11-02  9:37 ` Chris Wilson
  0 siblings, 2 replies; 3+ messages in thread
From: Eric Anholt @ 2010-11-01 21:12 UTC (permalink / raw)
  To: intel-gfx

From: Jesse Barnes <jbarnes@virtuousgeek.org>

Part of the issue here was that Eric slipped in a debug hack for
testing the i915 IPS code before the intel_ips.c driver had landed.
This caused the driver to always use the full range of frequencies,
which is only legal when IPS tells us we have the headroom.  Once that
hack was removed, there was confusion about the driver's frequency
clamping variables: max_delay is the driver's current limit on the
highest frequency the IPS driver wants us to use, while dev_priv->fmax
is the hardware-reported limit that the IPS driver can increase up to.

Tested with IPS driver loaded or not.  Note that on Ironlake systems
without the IPS driver loaded this will result in a performance
reduction, and the inital warmup of frequency limits can impact
benchmarking on systems with IPS loaded.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/i915/intel_display.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 990f065..d7b0c7d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5581,19 +5581,18 @@ void ironlake_enable_drps(struct drm_device *dev)
 	fmin = (rgvmodectl & MEMMODE_FMIN_MASK);
 	fstart = (rgvmodectl & MEMMODE_FSTART_MASK) >>
 		MEMMODE_FSTART_SHIFT;
-	fstart = fmax;
 
 	vstart = (I915_READ(PXVFREQ_BASE + (fstart * 4)) & PXVFREQ_PX_MASK) >>
 		PXVFREQ_PX_SHIFT;
 
-	dev_priv->fmax = fstart; /* IPS callback will increase this */
+	dev_priv->fmax = fmax; /* IPS callback will increase this */
 	dev_priv->fstart = fstart;
 
-	dev_priv->max_delay = fmax;
+	dev_priv->max_delay = fstart;
 	dev_priv->min_delay = fmin;
 	dev_priv->cur_delay = fstart;
 
-	DRM_DEBUG_DRIVER("fmax: %d, fmin: %d, fstart: %d\n", fmax, fmin,
+	DRM_ERROR("fmax: %d, fmin: %d, fstart: %d\n", fmax, fmin,
 			 fstart);
 
 	I915_WRITE(MEMINTREN, MEMINT_CX_SUPR_EN | MEMINT_EVAL_CHG_EN);
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active.
  2010-11-01 21:12 [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active Eric Anholt
@ 2010-11-01 21:31 ` Chris Wilson
  2010-11-02  9:37 ` Chris Wilson
  1 sibling, 0 replies; 3+ messages in thread
From: Chris Wilson @ 2010-11-01 21:31 UTC (permalink / raw)
  To: Eric Anholt, intel-gfx

On Mon,  1 Nov 2010 14:12:01 -0700, Eric Anholt <eric@anholt.net> wrote:
> From: Jesse Barnes <jbarnes@virtuousgeek.org>
> -	DRM_DEBUG_DRIVER("fmax: %d, fmin: %d, fstart: %d\n", fmax, fmin,
> +	DRM_ERROR("fmax: %d, fmin: %d, fstart: %d\n", fmax, fmin,
>  			 fstart);

Error?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active.
  2010-11-01 21:12 [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active Eric Anholt
  2010-11-01 21:31 ` Chris Wilson
@ 2010-11-02  9:37 ` Chris Wilson
  1 sibling, 0 replies; 3+ messages in thread
From: Chris Wilson @ 2010-11-02  9:37 UTC (permalink / raw)
  To: Eric Anholt, intel-gfx

On Mon,  1 Nov 2010 14:12:01 -0700, Eric Anholt <eric@anholt.net> wrote:
> From: Jesse Barnes <jbarnes@virtuousgeek.org>
> 
> Part of the issue here was that Eric slipped in a debug hack for
> testing the i915 IPS code before the intel_ips.c driver had landed.
> This caused the driver to always use the full range of frequencies,
> which is only legal when IPS tells us we have the headroom.  Once that
> hack was removed, there was confusion about the driver's frequency
> clamping variables: max_delay is the driver's current limit on the
> highest frequency the IPS driver wants us to use, while dev_priv->fmax
> is the hardware-reported limit that the IPS driver can increase up to.

Dropped the promotion to DRM_ERROR and applied to -fixes. Since your
changelog says that what we have right now is programming invalid values
into the IPS, I've marked it for stable.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-02  9:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-01 21:12 [PATCH] drm/i915: Fix the graphics frequency clamping at init and when IPS is active Eric Anholt
2010-11-01 21:31 ` Chris Wilson
2010-11-02  9:37 ` Chris Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox