summaryrefslogtreecommitdiff
path: root/src/mga_storm.c
diff options
context:
space:
mode:
authorYannick Heneault <yheneaul@matrox.com>2008-11-20 23:02:49 -0500
committerYannick Heneault <yheneaul@matrox.com>2008-11-20 23:02:49 -0500
commitba376973ae0d25557fdcd920e03474c0e6632e97 (patch)
tree2c9e70f31c7b43bbad9951b265139dfa991341e3 /src/mga_storm.c
parent01e60b391f39f2ebcf2eeb3be2424a2e291ec8ca (diff)
Fixed PLL m,n,p selection for G200eW to respect byte granularity.
Renamed G200 eW Winbond ID string to Nuvoton. Added EV suffix to G200 Maxim. Blocked double scan mode for G200 eW. Fixed memory bandwidth limitation for G200eW to 318.77 Mhz. Added a workaround (blit 1x1 with rop=xor) to fix the black screen problem for G200eW.
Diffstat (limited to 'src/mga_storm.c')
-rw-r--r--src/mga_storm.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mga_storm.c b/src/mga_storm.c
index aa6ad82..0d04c63 100644
--- a/src/mga_storm.c
+++ b/src/mga_storm.c
@@ -1138,6 +1138,20 @@ void MGAStormEngineInit( ScrnInfoPtr pScrn )
break;
}
+ if (pMga->is_G200WB)
+ {
+ CARD32 dwgctl = MGADWG_RSTR | 0x00060000 | MGADWG_SHIFTZERO |
+ MGADWG_BITBLT | MGADWG_BFCOL;
+ WAITFIFO(7);
+ OUTREG(MGAREG_DWGCTL, dwgctl);
+ OUTREG(MGAREG_SGN, 0);
+ OUTREG(MGAREG_AR5, 1);
+ OUTREG(MGAREG_AR0, 1);
+ OUTREG(MGAREG_AR3, 0);
+ OUTREG(MGAREG_FXBNDRY, (1 << 16) | (1 & 0xffff));
+ OUTREG(MGAREG_YDSTLEN + MGAREG_EXEC, (1 << 16) | 1);
+ }
+
xf86SetLastScrnFlag(pScrn->entityList[0], pScrn->scrnIndex);
}