drm/i915: ignore pipe select bit when checking for LVDS register initialization
authorSeth Forshee <seth.forshee@canonical.com>
Wed, 13 Jun 2012 18:46:58 +0000 (13:46 -0500)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 13 Jun 2012 19:05:06 +0000 (21:05 +0200)
The Lenovo Thinkpad T410 has the LVDS_PIPEB_SELECT bit set in the LVDS
register when booted with the lid closed, even though the LVDS hasn't
really been initialized. Ignore this bit so that the VBT value will be
used instead.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 174549d..308e1a2 100644 (file)
@@ -434,7 +434,7 @@ static bool is_dual_link_lvds(struct drm_i915_private *dev_priv,
                 * register is uninitialized.
                 */
                val = I915_READ(reg);
-               if (!(val & ~LVDS_DETECTED))
+               if (!(val & ~(LVDS_PIPE_MASK | LVDS_DETECTED)))
                        val = dev_priv->bios_lvds_val;
                dev_priv->lvds_val = val;
        }