Fix a few startup bugs.

This commit is contained in:
Aaron Plattner
2008-04-27 16:23:28 -07:00
parent 0ddee23471
commit 4aa43a2b66
3 changed files with 7 additions and 2 deletions

View File

@@ -407,7 +407,7 @@ G80CrtcBlankScreen(xf86CrtcPtr crtc, Bool blank)
C(0x00000860 + headOff, 0);
C(0x00000864 + headOff, 0);
pNv->reg[0x00610380/4] = 0;
pNv->reg[0x00610384/4] = pNv->RamAmountKBytes * 1024 - 1;
pNv->reg[0x00610384/4] = pNv->videoRam * 1024 - 1;
pNv->reg[0x00610388/4] = 0x150000;
pNv->reg[0x0061038C/4] = 0;
C(0x00000884 + headOff, (pNv->videoRam << 2) - 0x40);

View File

@@ -367,7 +367,8 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
}
pNv->architecture = pNv->reg[0] >> 20 & 0x1ff;
pNv->videoRam = pNv->RamAmountKBytes = (pNv->reg[0x0010020C/4] & 0xFFF00000) >> 10;
tmp = pNv->reg[0x0010020C/4];
pNv->videoRam = pNv->RamAmountKBytes = tmp >> 10 | (tmp & 1) << 22;
/* Determine the size of BAR1 */
/* Some configs have BAR1 < total RAM < 256 MB */

View File

@@ -106,6 +106,10 @@ static Bool G80ReadPortMapping(int scrnIndex, G80Ptr pNv)
port = (b >> 4) & 0xf;
or = ffs((b >> 24) & 0xf) - 1;
if(b & 0x300000)
/* Can't handle this type of output yet */
continue;
if(type == 0xe) break;
switch(type) {