[PATCH v2] drm/i915: ignore pipe select bit when checking for LVDS register initialization

Daniel Vetter daniel at ffwll.ch
Wed Jun 13 12:46:15 PDT 2012


On Wed, Jun 13, 2012 at 01:46:58PM -0500, Seth Forshee wrote:
> 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 at canonical.com>
Queued for -next, thanks for the patch. Chris had some reservations about
the sanity of this patch, but given that it works around bios-insanity I'm
gonna just take this chance to stab myself with lvds-machines blowing up
left and right ;-)
-Daniel
> ---
>  drivers/gpu/drm/i915/intel_display.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index e0aa064..ae17526 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -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;
>  	}
> -- 
> 1.7.9.5
> 

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


More information about the dri-devel mailing list