From: Christian Trefzer Date: Sat, 14 Jan 2006 21:21:21 +0000 (-0800) Subject: [PATCH] neofb: take existing display configuration as default X-Git-Tag: v2.6.16-rc1~118 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4836f5749e55663f884ea25920ff88de7822f0a8;p=linux-2.6 [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c index e18c9f98a4..747602aa56 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. */