On Wed, Jun 13, 2012 at 03:26:00PM -0500, Seth Forshee wrote:
On Wed, Jun 13, 2012 at 09:46:15PM +0200, Daniel Vetter wrote:
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@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 ;-)
Let's hope that doesn't happen ;)
I do find myself wondering though whether it might be better to prefer the value from the VBT whenever there's one available, and only rely on the actual register value as a fallback, since the bios can't be trusted to initialize the register. I'm pretty ignorant about all this graphics stuff though; I assume there's a reason it isn't done this way?
The usual reasoning is that if it's in the register, it's the value that makes something show up on the screen and hence has a higher change of being right. Yep, BIOS routinely store total garbage in vbt (or the newer OpRegion) and somehow fix that up when copying things to the hw :( Obviously there's also the other case where the hw values aren't set up, in which case we try to try to fall back to vbt values. -Daniel