mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] i915: Use 120MHz LVDS SSC clock for gen5/gen6/gen7
@ 2013-11-14  1:59 Olof Johansson
  2013-11-14 16:53 ` Rodrigo Vivi
  0 siblings, 1 reply; 6+ messages in thread
From: Olof Johansson @ 2013-11-14  1:59 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: David Airlie, intel-gfx, dri-devel, linux-kernel, Duncan Laurie,
	Olof Johansson

From: Duncan Laurie <dlaurie@chromium.org>

We had been using a DMI table workaround to select the right
frequency for devices, but this is fragile and must be updated
with every new platform.

Instead the default case when VBT is missing is changed to use
120MHz clock for LVDS SSC for these generations.

The docs for 2010-Core, SandyBridge, and IvyBridge all indicate
that the reference frequency for LVDS is 120MHz:

"2010 Core"
http://intellinuxgraphics.org/IHD_OS_Vol3_Part3r2.pdf
page 38
Reference Frequency: 120MHz for CRT and LVDS.  100MHz for the FDI.

"2011 SandyBridge"
http://intellinuxgraphics.org/documentation/SNB/IHD_OS_Vol3_Part3.pdf
page 33
Reference Frequency: 120MHz for CRT, HDMI, LVDS.  100MHz for the FDI.

"2012 IvyBridge"
http://intellinuxgraphics.org/documentation/IVB/IHD_OS_Vol3_Part4.pdf
page 27
Reference Frequency: 120 MHz for CRT, HDMI, LVDS, 100MHz for the FDI.

Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
[olof: Fixup for recent base, switched from if/else to single call]
Signed-off-by: Olof Johansson <olof@lixom.net>
---

Daniel,

This applies on top of -next, which I'm presuming is close to your
for-3.13 base right now. It'd be good to see this go in since it's needed
to boot on Chromebooks (with developer mode off), and is thus blocking
testing next/mainline on a regular basis here.

Thanks!

-Olof

 drivers/gpu/drm/i915/intel_bios.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 6dd622d733b9..e4fba39631a5 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -790,7 +790,12 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
 
 	/* Default to using SSC */
 	dev_priv->vbt.lvds_use_ssc = 1;
-	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev, 1);
+	/*
+	 * Core/SandyBridge/IvyBridge use alternative (120MHz) reference
+	 * clock for LVDS.
+	 */
+	dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev,
+			!HAS_PCH_SPLIT(dev));
 	DRM_DEBUG_KMS("Set default to SSC at %dMHz\n", dev_priv->vbt.lvds_ssc_freq);
 
 	for (port = PORT_A; port < I915_MAX_PORTS; port++) {
-- 
1.8.4.1.601.g02b3b1d


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

end of thread, other threads:[~2013-11-15  8:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-14  1:59 [PATCH] i915: Use 120MHz LVDS SSC clock for gen5/gen6/gen7 Olof Johansson
2013-11-14 16:53 ` Rodrigo Vivi
2013-11-14 17:36   ` Olof Johansson
2013-11-14 19:40     ` Rodrigo Vivi
2013-11-14 23:39       ` Daniel Vetter
2013-11-15  8:57         ` Daniel Vetter

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

all inboxes | Powered by JetHome®