summaryrefslogtreecommitdiff
path: root/src/nv_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nv_driver.c')
-rw-r--r--src/nv_driver.c51
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);