summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Trefzer <ctrefzer@gmx.de>2006-01-14 13:21:21 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-14 18:27:14 -0800
commit4836f5749e55663f884ea25920ff88de7822f0a8 (patch)
tree6d25b5da25bc64b92ec73e9cac00fe44bfeef08c
parent16ab3adf562fb723d9085c998637f214b10072c5 (diff)
downloadlinux-3.10-4836f5749e55663f884ea25920ff88de7822f0a8.tar.gz
linux-3.10-4836f5749e55663f884ea25920ff88de7822f0a8.tar.bz2
linux-3.10-4836f5749e55663f884ea25920ff88de7822f0a8.zip
[PATCH] neofb: take existing display configuration as default
On a Dell Latitude CPi-A I noticed a strangeness wrt. the handling of an external monitor by the neomagic framebuffer driver, namely when the laptop is docked in a C/Dock II with the lid shut. A cold boot would result in the BIOS configuring the video chip to use the "external monitor only" mode, yet neofb would default to "internal LCD only". An attempt for a quick fix by using the Fn-F8 keystroke to toggle the display combination modes resulted in a reproductible hard lock, powering down being the only solution. The attached patch makes neofb probe the register for the current display mode, using that value as a default if nothing was specified as kernel/module parameter. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/video/neofb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c
index e18c9f98a40..747602aa561 100644
--- a/drivers/video/neofb.c
+++ b/drivers/video/neofb.c
@@ -853,7 +853,7 @@ static int neofb_set_par(struct fb_info *info)
/* If the user did not specify any display devices, then... */
if (par->PanelDispCntlReg1 == 0x00) {
/* Default to internal (i.e., LCD) only. */
- par->PanelDispCntlReg1 |= 0x02;
+ par->PanelDispCntlReg1 = vga_rgfx(NULL, 0x20) & 0x03;
}
/* If we are using a fixed mode, then tell the chip we are. */