This patch fixes issues with the NeoMagic framebuffer driver. It nicely complements my previous fix already in linus' tree. The only thing missing now is that the external CRT will not be activated at neofb init when external-only is selected, either by register read or module/kernel parameter. Testing was done on a Dell Latitude CPi-A/NM2200 chip. Previous behaviour: - before booting linux, set the preferred display config X via FN+F8 - boot linux, neofb stores the register values in a private variable - change the display config to Y via keystroke - leave the machine in peace until display is blanked - touching any key will result in display config X being restored - booting up, the BIOS will acknowledge config Y, though... Current behaviour: At the time of unblanking, config Y is honoured because we now read back register contents instead of just overwriting them with outdated values. Signed-off by: Christian Trefzer <[email protected]> --- --- linux-2.6.15-ct3/drivers/video/neofb.c.orig 2006-02-08 19:59:39.187793848 +0100 +++ linux-2.6.15-ct3/drivers/video/neofb.c 2006-02-08 20:52:28.174719064 +0100 @@ -1334,6 +1334,9 @@ struct neofb_par *par = (struct neofb_par *)info->par; int seqflags, lcdflags, dpmsflags, reg; + /* Reload the value stored in the register, might have been changed via FN keystroke */ + par->PanelDispCntlReg1 = vga_rgfx(NULL, 0x20) & 0x03; + switch (blank_mode) { case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */ seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ @@ -1366,7 +1369,7 @@ case FB_BLANK_NORMAL: /* just blank screen (backlight stays on) */ seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ lcdflags = par->PanelDispCntlReg1 & 0x02; /* LCD normal */ - dpmsflags = 0; /* no hsync/vsync suppression */ + dpmsflags = 0x00; /* no hsync/vsync suppression */ break; case FB_BLANK_UNBLANK: /* unblank */ seqflags = 0; /* Enable sequencer */
Attachment:
pgp3vO50jHSYJ.pgp
Description: PGP signature
- Follow-Ups:
- [PATCH] neofb: add more logic to determine sensibility of register readback
- From: Christian Trefzer <[email protected]>
- [PATCH] neofb: add more logic to determine sensibility of register readback
- Prev by Date: Re: Terminate process that fails on a constrained allocation
- Next by Date: Re: scripts/namespace.pl is not CROSS_COMPILE happy
- Previous by thread: [PATCH] fstatat64 support
- Next by thread: [PATCH] neofb: add more logic to determine sensibility of register readback
- Index(es):