All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: i915: lvds panel always blank when booted with lid closed
Date: Wed, 13 Jun 2012 18:25:44 +0200	[thread overview]
Message-ID: <20120613162544.GJ4829@phenom.ffwll.local> (raw)
In-Reply-To: <20120613143600.GD3490@thinkpad-t410>

On Wed, Jun 13, 2012 at 09:36:00AM -0500, Seth Forshee wrote:
> When I boot my Thinkpad T410 in a docking station with the lid closed,
> the lvds panel remains blank even when this output is active. This
> happens up to and including 3.5-rc2.
> 
> I've determined that this happens because lvds isn't being initialized
> by the bios when I boot this way, and booting with lvds_channel_mode=2
> fixes the issue. I see that there's logic in is_dual_link_lvds()
> intended to detect this situation, but it's failing because the T410 has
> the LVDS_PIPEB_SELECT bit set. The simple patch below fixes my machine
> by masking off this bit when determining whether or not lvds was
> initialized by the bios.
> 
> I'm not sure though whether or not it's correct to expect that this bit
> might be set when lvds hasn't been initialized. The alternative seems to
> be quirking this machine as is done for some Macbooks. What is the
> correct solution?

Patch looks correct, but can you please change the mask from PIPEB to the
already exsting LVDS_PIPE_MASK? This way it's clearer what's going on.

Thanks, Daniel
> 
> Thanks,
> Seth
> 
> 
> From 250904ac95cda7630cdd8339724e3c8feceeb586 Mon Sep 17 00:00:00 2001
> From: Seth Forshee <seth.forshee@canonical.com>
> Date: Tue, 12 Jun 2012 16:52:14 -0500
> Subject: [PATCH] drm/i915: ignore LVDS_PIPEB_SELECT when checking for LVDS
>  register initialization
> 
> The Lenovo Thinkpad T410 has this 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>
> ---
>  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..f81f249 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_PIPEB_SELECT | LVDS_DETECTED)))
>  			val = dev_priv->bios_lvds_val;
>  		dev_priv->lvds_val = val;
>  	}
> 

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

  reply	other threads:[~2012-06-13 16:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-13 14:36 i915: lvds panel always blank when booted with lid closed Seth Forshee
2012-06-13 16:25 ` Daniel Vetter [this message]
2012-06-13 18:46   ` [PATCH v2] drm/i915: ignore pipe select bit when checking for LVDS register initialization Seth Forshee
2012-06-13 19:46     ` Daniel Vetter
2012-06-13 19:46       ` Daniel Vetter
2012-06-13 20:26       ` Seth Forshee
2012-06-14  9:56         ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120613162544.GJ4829@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.