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 174549df5929ef65672b3d3a48257d660dfbe942..308e1a2967e76d5c4b6685b5f2417905012480b8 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;
        }