From 8d8935618ca946f4349468d53da329beeb66becb Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 10 Jan 2015 02:15:30 +0100 Subject: igfx: perserve frame start delay "magic" bits 27:28 in pipe conf register it turns out, the "magic" bits 27:28 are the frame start delay setting that need to be preserved. --- sys/src/cmd/aux/vga/igfx.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/src/cmd/aux/vga/igfx.c b/sys/src/cmd/aux/vga/igfx.c index 86a7bd25e..11c08a442 100644 --- a/sys/src/cmd/aux/vga/igfx.c +++ b/sys/src/cmd/aux/vga/igfx.c @@ -592,8 +592,11 @@ initdatalinkmn(Trans *t, int freq, int lsclk, int lanes, int tu, int bpp) static void inittrans(Trans *t, Mode *m) { + /* clear all but 27:28 frame start delay (initialized by bios) */ + t->conf.v &= 3<<27; + /* tans/pipe enable */ - t->conf.v = 1<<31; + t->conf.v |= 1<<31; /* trans/pipe timing */ t->ht.v = (m->ht - 1)<<16 | (m->x - 1); @@ -752,14 +755,6 @@ init(Vga* vga, Ctlr* ctlr) initpipe(p, m); - /* - * undocumented magic that makes the flickering - * top bar go away on x230 on lcd. found by - * comparing registers set by vesa bios. - */ - if(igfx->type == TypeIVB && islvds) - p->conf.v |= 3<<27; - ctlr->flag |= Finit; } -- cgit v1.2.3