[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>

authored by Christian Trefzer and committed by Linus Torvalds 4836f574 16ab3adf

+1 -1
+1 -1
drivers/video/neofb.c
··· 853 853 /* If the user did not specify any display devices, then... */ 854 854 if (par->PanelDispCntlReg1 == 0x00) { 855 855 /* Default to internal (i.e., LCD) only. */ 856 - par->PanelDispCntlReg1 |= 0x02; 856 + par->PanelDispCntlReg1 = vga_rgfx(NULL, 0x20) & 0x03; 857 857 } 858 858 859 859 /* If we are using a fixed mode, then tell the chip we are. */