summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlan Coopersmith <Alan.Coopersmith@sun.com>2005-07-09 16:51:58 +0000
committerAlan Coopersmith <Alan.Coopersmith@sun.com>2005-07-09 16:51:58 +0000
commit80ac36ec4fbbd9a4aae1bde01fe6ebc1088fa8cb (patch)
treeef4fb3b3e269a4e040e1acac85e731522cf74abc /src
parent6b75bc13462f1cfb735fe1de359ed9e45b5f4415 (diff)
Bug #3740 <https://bugs.freedesktop.org/show_bug.cgi?id=3740> Patch #3058
<https://bugs.freedesktop.org/attachment.cgi?id=3058> 08-Jul-2005 nv driver updates from Mark Vojkovich: Change some console restore code for NV11. Hopefully, we can more reliably restore the console for desktop systems using DVI. This may correct a recent regression on NV11. Also, new PCI IDs. Add new nVidia PCI ids to match nv_driver.c changes.
Diffstat (limited to 'src')
-rw-r--r--src/nv_dac.c8
-rw-r--r--src/nv_driver.c32
-rw-r--r--src/nv_setup.c8
3 files changed, 34 insertions, 14 deletions
diff --git a/src/nv_dac.c b/src/nv_dac.c
index f62db58..463fde5 100644
--- a/src/nv_dac.c
+++ b/src/nv_dac.c
@@ -37,7 +37,7 @@
|* *|
\***************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c,v 1.44 2004/12/09 00:21:04 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c,v 1.45 2005/07/09 00:53:00 mvojkovi Exp $ */
#include "nv_include.h"
@@ -92,7 +92,9 @@ NVDACInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
vgaRegPtr pVga;
/*
- * This will initialize all of the generic VGA registers.
+ * Initialize all of the generic VGA registers. Don't bother with
+ * VGA_FIX_SYNC_PULSES, given the relevant CRTC settings are overridden
+ * below. Ditto for the KGA workaround.
*/
if (!vgaHWInit(pScrn, mode))
return(FALSE);
@@ -310,7 +312,7 @@ NVDACSave(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, NVRegPtr nvReg,
/* can't read this reliably on NV11 */
if((pNv->Chipset & 0x0ff0) == 0x0110)
- nvReg->crtcOwner = ((pNv->Chipset & 0x0fff) == 0x0112) ? 3 : 0;
+ nvReg->crtcOwner = pNv->CRTCnumber;
}
#define DEPTH_SHIFT(val, w) ((val << (8 - w)) | (val >> ((w << 1) - 8)))
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 9f5d198..22beb74 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -25,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.134 2005/04/24 18:57:35 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.135 2005/07/09 00:53:00 mvojkovi Exp $ */
#include "nv_include.h"
@@ -233,6 +233,7 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0042, "GeForce 6800 LE" },
{ 0x10DE0043, "0x0043" },
{ 0x10DE0045, "GeForce 6800 GT" },
+ { 0x10DE0046, "GeForce 6800 GT" },
{ 0x10DE0049, "0x0049" },
{ 0x10DE004E, "Quadro FX 4000" },
@@ -242,19 +243,19 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE00C8, "GeForce Go 6800" },
{ 0x10DE00C9, "GeForce Go 6800 Ultra" },
{ 0x10DE00CC, "Quadro FX Go1400" },
- { 0x10DE00CD, "0x00CD" },
+ { 0x10DE00CD, "Quadro FX 3450/4000 SDI" },
{ 0x10DE00CE, "Quadro FX 1400" },
{ 0x10DE0140, "GeForce 6600 GT" },
{ 0x10DE0141, "GeForce 6600" },
- { 0x10DE0142, "0x0142" },
+ { 0x10DE0142, "GeForce 6600 LE" },
{ 0x10DE0143, "0x0143" },
{ 0x10DE0144, "GeForce Go 6600" },
{ 0x10DE0145, "GeForce 6610 XL" },
{ 0x10DE0146, "GeForce Go 6600 TE/6200 TE" },
- { 0x10DE0147, "0x0147" },
+ { 0x10DE0147, "GeForce 6700 XL" },
{ 0x10DE0148, "GeForce Go 6600" },
- { 0x10DE0149, "0x0149" },
+ { 0x10DE0149, "GeForce Go 6600 GT" },
{ 0x10DE014B, "0x014B" },
{ 0x10DE014C, "0x014C" },
{ 0x10DE014D, "0x014D" },
@@ -263,13 +264,13 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0160, "0x0160" },
{ 0x10DE0161, "GeForce 6200 TurboCache(TM)" },
- { 0x10DE0162, "0x0162" },
+ { 0x10DE0162, "GeForce 6200SE TurboCache(TM)" },
{ 0x10DE0163, "0x0163" },
{ 0x10DE0164, "GeForce Go 6200" },
- { 0x10DE0165, "0x0163" },
- { 0x10DE0166, "GeForce Go 6250" },
+ { 0x10DE0165, "Quadro NVS 285" },
+ { 0x10DE0166, "GeForce Go 6400" },
{ 0x10DE0167, "GeForce Go 6200" },
- { 0x10DE0168, "GeForce Go 6250" },
+ { 0x10DE0168, "GeForce Go 6400" },
{ 0x10DE0169, "0x0169" },
{ 0x10DE016B, "0x016B" },
{ 0x10DE016C, "0x016C" },
@@ -282,10 +283,21 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0215, "GeForce 6800 GT" },
{ 0x10DE0220, "0x0220" },
- { 0x10DE0221, "0x0221" },
+ { 0x10DE0221, "GeForce 6200" },
{ 0x10DE0222, "0x0222" },
{ 0x10DE0228, "0x0228" },
+ { 0x10DE0090, "0x0090" },
+ { 0x10DE0091, "GeForce 7800 GTX" },
+ { 0x10DE0092, "0x0092" },
+ { 0x10DE0093, "0x0093" },
+ { 0x10DE0094, "0x0094" },
+ { 0x10DE0098, "0x0098" },
+ { 0x10DE0099, "GeForce Go 7800 GTX" },
+ { 0x10DE009C, "0x009C" },
+ { 0x10DE009D, "Quadro FX 4500" },
+ { 0x10DE009E, "0x009E" },
+
{-1, NULL}
};
diff --git a/src/nv_setup.c b/src/nv_setup.c
index f377f14..94524af 100644
--- a/src/nv_setup.c
+++ b/src/nv_setup.c
@@ -37,7 +37,7 @@
|* *|
\***************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.45 2005/04/16 23:57:26 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.46 2005/07/09 00:53:00 mvojkovi Exp $ */
#include "nv_include.h"
@@ -408,6 +408,7 @@ NVCommonSetup(ScrnInfoPtr pScrn)
case 0x0186:
case 0x0187:
case 0x018D:
+ case 0x0228:
case 0x0286:
case 0x028C:
case 0x0316:
@@ -431,11 +432,16 @@ NVCommonSetup(ScrnInfoPtr pScrn)
case 0x034C:
case 0x0160:
case 0x0166:
+ case 0x0169:
+ case 0x016B:
+ case 0x016C:
+ case 0x016D:
case 0x00C8:
case 0x00CC:
case 0x0144:
case 0x0146:
case 0x0148:
+ case 0x0099:
mobile = TRUE;
break;
default: