summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c')
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c47
1 files changed, 22 insertions, 25 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
index 4ceb56988..75ae60d4f 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
@@ -24,7 +24,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.53 2000/12/14 16:33:09 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.59 2001/02/18 23:47:29 mvojkovi Exp $ */
#include "nv_include.h"
@@ -35,9 +35,6 @@
#include "nvvga.h"
#include "xf86int10.h"
-#ifdef RENDER
-#include "picturestr.h"
-#endif
/*
* Forward definitions for the functions that make up the driver.
@@ -80,10 +77,7 @@ static Bool NVModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
DriverRec NV = {
VERSION,
- "nv",
-#if 0
- "accelerated driver for NVIDIA RIVA 128, TNT and TNT2 cards",
-#endif
+ NV_DRIVER_NAME,
NVIdentify,
NVProbe,
NVAvailableOptions,
@@ -96,6 +90,8 @@ static SymTabRec NVChipsets[] = {
{ NV_CHIP_RIVA128, "RIVA128" },
{ NV_CHIP_TNT, "RIVATNT" },
{ NV_CHIP_TNT2, "RIVATNT2" },
+ { NV_CHIP_TNT2_A, "RIVATNT2 (A)" },
+ { NV_CHIP_TNT2_B, "RIVATNT2 (B)" },
{ NV_CHIP_UTNT2, "RIVATNT2 (Ultra)" },
{ NV_CHIP_VTNT2, "RIVATNT2 (Vanta)" },
{ NV_CHIP_UVTNT2, "RIVATNT2 M64" },
@@ -111,6 +107,10 @@ static SymTabRec NVChipsets[] = {
{ NV_CHIP_GEFORCE2MXDDR, "GeForce2 MX DDR"},
{ NV_CHIP_QUADRO2MXR, "Quadro 2 MXR"},
{ NV_CHIP_GEFORCE2GO, "GeForce 2 Go"},
+ { NV_CHIP_0200, "NV Chip 0x0200"},
+ { NV_CHIP_0201, "NV Chip 0x0201"},
+ { NV_CHIP_0202, "NV Chip 0x0202"},
+ { NV_CHIP_0203, "NV Chip 0x0203"},
{-1, NULL }
};
@@ -118,6 +118,8 @@ static PciChipsets NVPciChipsets[] = {
{ NV_CHIP_RIVA128, NV_CHIP_RIVA128, RES_SHARED_VGA },
{ NV_CHIP_TNT, NV_CHIP_TNT, RES_SHARED_VGA },
{ NV_CHIP_TNT2, NV_CHIP_TNT2, RES_SHARED_VGA },
+ { NV_CHIP_TNT2_A, NV_CHIP_TNT2_A, RES_SHARED_VGA },
+ { NV_CHIP_TNT2_B, NV_CHIP_TNT2_B, RES_SHARED_VGA },
{ NV_CHIP_UTNT2, NV_CHIP_UTNT2, RES_SHARED_VGA },
{ NV_CHIP_VTNT2, NV_CHIP_VTNT2, RES_SHARED_VGA },
{ NV_CHIP_UVTNT2, NV_CHIP_UVTNT2, RES_SHARED_VGA },
@@ -133,6 +135,10 @@ static PciChipsets NVPciChipsets[] = {
{ NV_CHIP_GEFORCE2MXDDR, NV_CHIP_GEFORCE2MXDDR, RES_SHARED_VGA },
{ NV_CHIP_QUADRO2MXR, NV_CHIP_QUADRO2MXR, RES_SHARED_VGA },
{ NV_CHIP_GEFORCE2GO, NV_CHIP_GEFORCE2GO, RES_SHARED_VGA },
+ { NV_CHIP_0200, NV_CHIP_0200, RES_SHARED_VGA },
+ { NV_CHIP_0201, NV_CHIP_0201, RES_SHARED_VGA },
+ { NV_CHIP_0202, NV_CHIP_0202, RES_SHARED_VGA },
+ { NV_CHIP_0203, NV_CHIP_0203, RES_SHARED_VGA },
{ -1, -1, RES_UNDEFINED }
};
@@ -156,9 +162,7 @@ static const char *vgahwSymbols[] = {
"vgaHWFreeHWRec",
"vgaHWSaveScreen",
"vgaHWddc1SetSpeed",
-#ifdef DPMSExtension
"vgaHWDPMSSet",
-#endif
NULL
};
@@ -177,9 +181,7 @@ static const char *cfbSymbols[] = {
static const char *fbSymbols[] = {
"fbScreenInit",
"fbBres",
-#ifdef RENDER
"fbPictureInit",
-#endif
NULL
};
#endif
@@ -850,6 +852,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
pNv->Primary = xf86IsPrimaryPci(pNv->PciInfo);
+#ifndef __alpha__
/* Initialize the card through int10 interface if needed */
#if 0
if ( !pNv->Primary &&)
@@ -861,6 +864,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n");
pNv->pInt = xf86InitInt10(pNv->pEnt->index);
}
+#endif
{
resRange vgaio[] = { {ResShrIoBlock,0x3B0,0x3BB},
@@ -1632,14 +1636,11 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* Setup the visuals we support. */
-#ifndef NV_USE_FB
- if (pScrn->bitsPerPixel > 8) {
+ if ((pScrn->bitsPerPixel > 8) && (pNv->riva.Architecture == NV_ARCH_03)) {
if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits,
pScrn->defaultVisual))
return FALSE;
- } else
-#endif
- {
+ } else {
if (!miSetVisualTypes(pScrn->depth,
miGetDefaultVisualMask(pScrn->depth),
pScrn->rgbBits, pScrn->defaultVisual))
@@ -1697,10 +1698,8 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
ret = fbScreenInit(pScreen, FBStart, pScrn->virtualX,
pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
displayWidth, pScrn->bitsPerPixel);
-#ifdef RENDER
if (ret)
fbPictureInit (pScreen, 0, 0);
-#endif
break;
#endif
default:
@@ -1768,10 +1767,10 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* Initialize colormap layer.
Must follow initialization of the default colormap */
- if(!xf86HandleColormaps(pScreen, 256,
- (pNv->riva.Architecture == 3) ? 6 : 8,
- (pNv->FBDev ? fbdevHWLoadPalette : NVdac->LoadPalette),
- NULL, CMAP_RELOAD_ON_MODE_SWITCH))
+ if(!xf86HandleColormaps(pScreen, 256, 8,
+ (pNv->FBDev ? fbdevHWLoadPalette : NVdac->LoadPalette),
+ NULL, CMAP_RELOAD_ON_MODE_SWITCH |
+ ((pNv->riva.Architecture != NV_ARCH_03) ? CMAP_PALETTED_TRUECOLOR : 0)))
return FALSE;
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- Palette loaded\n"));
@@ -1793,12 +1792,10 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
ShadowFBInit(pScreen, refreshArea);
}
-#ifdef DPMSExtension
/* Call the vgaHW DPMS function directly.
XXX There must be a way to get all the DPMS modes. */
xf86DPMSInit(pScreen, vgaHWDPMSSet, 0);
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- DPMS set up\n"));
-#endif
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- Color maps etc. set up\n"));