drm/i915: ignore pipe select bit when checking for LVDS register initialization

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>
This commit is contained in:
Seth Forshee 2012-06-13 13:46:58 -05:00 committed by Daniel Vetter
parent 93314b5b6f
commit 14d94a3d82

View File

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