Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46efa4ab authored by Tom O'Rourke's avatar Tom O'Rourke Committed by Jani Nikula
Browse files

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 93ee2920
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: default avatarMichael Auchter <a@phire.org>
Suggested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org # v3.19
Signed-off-by: default avatarTom O'Rourke <Tom.O'Rourke@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent a8b3d52f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4005,7 +4005,10 @@ static void gen6_init_rps_frequencies(struct drm_device *dev)
					&ddcc_status);
		if (0 == ret)
			dev_priv->rps.efficient_freq =
				(ddcc_status >> 8) & 0xff;
				clamp_t(u8,
					((ddcc_status >> 8) & 0xff),
					dev_priv->rps.min_freq,
					dev_priv->rps.max_freq);
	}

	/* Preserve min/max settings in case of re-init */