aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom O'Rourke <Tom.O'Rourke@intel.com>2015-02-11 02:06:46 -0500
committerJani Nikula <jani.nikula@intel.com>2015-02-11 07:09:51 -0500
commit46efa4abe5712276494adbce102f46e3214632fd (patch)
treea84284678d162e82b33327e94e8d27c7c1f10431
parenta8b3d52f8bc24b1c1bf7711bcf3e21fe0aaa752c (diff)
drm/i915: Clamp efficient frequency to valid range
The efficient frequency (RPe) should stay in the range RPn <= RPe <= RP0. The pcode clamps the returned value internally on Broadwell but not on Haswell. Fix for missing range check in commit 93ee29203f506582cca2bcec5f05041526d9ab0a Author: Tom O'Rourke <Tom.O'Rourke@intel.com> Date: Wed Nov 19 14:21:52 2014 -0800 drm/i915: Use efficient frequency for HSW/BDW Reference: http://lists.freedesktop.org/archives/intel-gfx/2015-February/059802.html Reported-by: Michael Auchter <a@phire.org> Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org # v3.19 Signed-off-by: Tom O'Rourke <Tom.O'Rourke@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 6ece663f3394..24d77ddcc5f4 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4005,7 +4005,10 @@ static void gen6_init_rps_frequencies(struct drm_device *dev)
4005 &ddcc_status); 4005 &ddcc_status);
4006 if (0 == ret) 4006 if (0 == ret)
4007 dev_priv->rps.efficient_freq = 4007 dev_priv->rps.efficient_freq =
4008 (ddcc_status >> 8) & 0xff; 4008 clamp_t(u8,
4009 ((ddcc_status >> 8) & 0xff),
4010 dev_priv->rps.min_freq,
4011 dev_priv->rps.max_freq);
4009 } 4012 }
4010 4013
4011 /* Preserve min/max settings in case of re-init */ 4014 /* Preserve min/max settings in case of re-init */