xf86-video-nv: 3 commits - src/g80_display.c src/g80_driver.c src/g80_output.c src/nv_driver.c

Aaron Plattner aplattner at kemper.freedesktop.org
Tue Apr 29 12:16:58 PDT 2008


 src/g80_display.c |    2 +-
 src/g80_driver.c  |    3 ++-
 src/g80_output.c  |    4 ++++
 src/nv_driver.c   |   28 ++++++++++++++++++----------
 4 files changed, 25 insertions(+), 12 deletions(-)

New commits:
commit 8db2d4e63508f59299098e092ae85e543cf61d03
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Sun Apr 27 16:23:40 2008 -0700

    More G80s.

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 95f0007..54f8b66 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -364,6 +364,7 @@ static SymTabRec NVKnownChipsets[] =
   { 0x10DE0401, "GeForce 8600 GT" },
   { 0x10DE0402, "GeForce 8600 GT" },
   { 0x10DE0404, "GeForce 8400 GS" },
+  { 0x10DE0405, "GeForce 9500M GS" },
   { 0x10DE0407, "GeForce 8600M GT" },
   { 0x10DE0409, "GeForce 8700M GT" },
   { 0x10DE040A, "Quadro FX 370" },
@@ -372,6 +373,7 @@ static SymTabRec NVKnownChipsets[] =
   { 0x10DE040D, "Quadro FX 1600M" },
   { 0x10DE040E, "Quadro FX 570" },
   { 0x10DE040F, "Quadro FX 1700" },
+  { 0x10DE0420, "GeForce 8400 SE" },
   { 0x10DE0421, "GeForce 8500 GT" },
   { 0x10DE0422, "GeForce 8400 GS" },
   { 0x10DE0423, "GeForce 8300 GS" },
@@ -385,11 +387,16 @@ static SymTabRec NVKnownChipsets[] =
   { 0x10DE042B, "Quadro NVS 135M" },
   { 0x10DE042D, "Quadro FX 360M" },
   { 0x10DE042F, "Quadro NVS 290" },
+  { 0x10DE0600, "GeForce 8800 GTS 512" },
   { 0x10DE0602, "GeForce 8800 GT" },
+  { 0x10DE0604, "GeForce 9800 GX2" },
   { 0x10DE0606, "GeForce 8800 GS" },
+  { 0x10DE0609, "GeForce 8800M GTS" },
+  { 0x10DE060C, "GeForce 8800M GTX" },
   { 0x10DE060D, "GeForce 8800 GS" },
   { 0x10DE0611, "GeForce 8800 GT" },
   { 0x10DE061A, "Quadro FX 3700" },
+  { 0x10DE061C, "Quadro FX 3600M" },
   { 0x10DE0622, "GeForce 9600 GT" },
   { 0x10DE06E4, "GeForce 8400 GS" },
 
@@ -758,6 +765,7 @@ NVIsG80(int chipType)
         case 0x0400:
         case 0x0420:
         case 0x05e0:
+        case 0x05f0:
         case 0x0600:
         case 0x0610:
         case 0x0620:
commit 4aa43a2b66e473f9154f1582f5cf0e4b4596e485
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Sun Apr 27 16:23:28 2008 -0700

    Fix a few startup bugs.

diff --git a/src/g80_display.c b/src/g80_display.c
index 2e97e92..8b97b8a 100644
--- a/src/g80_display.c
+++ b/src/g80_display.c
@@ -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);
diff --git a/src/g80_driver.c b/src/g80_driver.c
index 1a83544..99ea737 100644
--- a/src/g80_driver.c
+++ b/src/g80_driver.c
@@ -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 */
diff --git a/src/g80_output.c b/src/g80_output.c
index 05b907b..1cf4669 100644
--- a/src/g80_output.c
+++ b/src/g80_output.c
@@ -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) {
commit 0ddee2347109e8c64bd2cb4693b97c3fa3aab94b
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Tue Mar 25 16:35:05 2008 -0700

    Sort the IsSupported table.

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 84c5a5d..95f0007 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -776,26 +776,26 @@ NVIsSupported(CARD32 id)
     /* look for a compatible devices which may be newer than
        the NVKnownChipsets list above.  */
     switch(id & 0xfff0) {
-    case 0x0170:
-    case 0x0180:
-    case 0x0250:
-    case 0x0280:
-    case 0x0300:
-    case 0x0310:
-    case 0x0320:
-    case 0x0330:
-    case 0x0340:
     case 0x0040:
+    case 0x0090:
     case 0x00C0:
     case 0x0120:
     case 0x0140:
     case 0x0160:
+    case 0x0170:
+    case 0x0180:
     case 0x01D0:
-    case 0x0090:
     case 0x0210:
     case 0x0220:
     case 0x0240:
+    case 0x0250:
+    case 0x0280:
     case 0x0290:
+    case 0x0300:
+    case 0x0310:
+    case 0x0320:
+    case 0x0330:
+    case 0x0340:
     case 0x0390:
     case 0x03D0:
         return TRUE;


More information about the xorg-commit mailing list