diff options
Diffstat (limited to 'src/nv_driver.c')
-rw-r--r-- | src/nv_driver.c | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/src/nv_driver.c b/src/nv_driver.c index c8c2278..11a71e7 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -1,3 +1,4 @@ +/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.1.4.3.2.1 2004/03/04 17:47:49 eich Exp $ */ /* $XConsortium: nv_driver.c /main/3 1996/10/28 05:13:37 kaleb $ */ /* * Copyright 1996-1997 David J. McKay @@ -24,7 +25,7 @@ /* Hacked together from mga driver and 3.3.4 NVIDIA driver by Jarno Paananen <jpaana@s2.org> */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.119 2003/11/07 23:56:28 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.122 2004/01/10 22:31:53 mvojkovi Exp $ */ #include "nv_include.h" @@ -167,6 +168,7 @@ static SymTabRec NVKnownChipsets[] = { 0x10DE031D, "0x031D" }, { 0x10DE031E, "0x031E" }, { 0x10DE031F, "0x031F" }, + { 0x10DE0320, "GeForce FX 5200" }, { 0x10DE0321, "GeForce FX 5200 Ultra" }, { 0x10DE0322, "GeForce FX 5200" }, { 0x10DE0323, "GeForce FX 5200SE" }, @@ -191,12 +193,14 @@ static SymTabRec NVKnownChipsets[] = { 0x10DE0338, "Quadro FX 3000" }, { 0x10DE0341, "GeForce FX 5700 Ultra" }, { 0x10DE0342, "GeForce FX 5700" }, - { 0x10DE0343, "0x0343" }, - { 0x10DE0347, "0x0347" }, - { 0x10DE0348, "0x0348" }, + { 0x10DE0343, "GeForce FX 5700LE" }, + { 0x10DE0344, "GeForce FX 5700VE" }, + { 0x10DE0345, "0x0345" }, + { 0x10DE0347, "GeForce FX Go5700" }, + { 0x10DE0348, "GeForce FX Go5700" }, { 0x10DE0349, "0x0349" }, { 0x10DE034B, "0x034B" }, - { 0x10DE034C, "0x034C" }, + { 0x10DE034C, "Quadro FX Go1000" }, { 0x10DE034E, "Quadro FX 1100" }, { 0x10DE034F, "0x034F" }, {-1, NULL} @@ -1183,22 +1187,12 @@ NVPreInit(ScrnInfoPtr pScrn, int flags) NVCommonSetup(pScrn); - /* - * If the user has specified the amount of memory in the XF86Config - * file, we respect that setting. - */ - if (pNv->pEnt->device->videoRam != 0) { - pScrn->videoRam = pNv->pEnt->device->videoRam; - from = X_CONFIG; + if (pNv->FBDev) { + pScrn->videoRam = fbdevHWGetVidmem(pScrn)/1024; } else { - if (pNv->FBDev) { - pScrn->videoRam = fbdevHWGetVidmem(pScrn)/1024; - } else { - pScrn->videoRam = pNv->RamAmountKBytes; - } - from = X_PROBED; + pScrn->videoRam = pNv->RamAmountKBytes; } - xf86DrvMsg(pScrn->scrnIndex, from, "VideoRAM: %d kBytes\n", + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "VideoRAM: %d kBytes\n", pScrn->videoRam); pNv->FbMapSize = pScrn->videoRam * 1024; @@ -1519,13 +1513,15 @@ static void NVBacklightEnable(NVPtr pNv, Bool on) (pNv->Chipset == 0x10DE0329)) { /* NV17,18,34 Apple iMac, iBook, PowerBook */ - CARD32 tmp; - tmp = pNv->PMC[0x10F0/4] & 0x7FFFFFFF; - pNv->PMC[0x10F0/4] = tmp; - tmp = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC; - if(on) - tmp |= 0x1; - pNv->PCRTC0[0x081C/4] = tmp; + CARD32 tmp_pmc, tmp_pcrt; + tmp_pmc = pNv->PMC[0x10F0/4] & 0x7FFFFFFF; + tmp_pcrt = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC; + if(on) { + tmp_pmc |= (1 << 31); + tmp_pcrt |= 0x1; + } + pNv->PMC[0x10F0/4] = tmp_pmc; + pNv->PCRTC0[0x081C/4] = tmp_pcrt; } #endif } @@ -1785,6 +1781,9 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) case 16: refreshArea = NVRefreshArea16; break; case 32: refreshArea = NVRefreshArea32; break; } + xf86DisableRandR(); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Driver rotation enabled, RandR disabled\n"); } ShadowFBInit(pScreen, refreshArea); |