xf86-video-nv: 3 commits - configure.ac man/nv.man src/g80_driver.c src/g80_sor.c src/g80_type.h src/nv_driver.c

Aaron Plattner aplattner at kemper.freedesktop.org
Fri May 9 19:02:45 PDT 2008


 configure.ac     |    2 +-
 man/nv.man       |    4 ++++
 src/g80_driver.c |   13 ++++++++-----
 src/g80_sor.c    |    7 ++++---
 src/g80_type.h   |    1 +
 src/nv_driver.c  |    3 +++
 6 files changed, 21 insertions(+), 9 deletions(-)

New commits:
commit cca0a00c89730c8338af44e62438babc93f078fb
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Fri May 9 18:45:46 2008 -0700

    Bump to 2.1.9.

diff --git a/configure.ac b/configure.ac
index 1b38183..d20a2f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-nv],
-        2.1.8,
+        2.1.9,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-nv)
 
commit 9c98d2ca942049322688b5796a2ed041fd48282d
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Fri May 9 18:44:57 2008 -0700

    Yet more G80s.
    
    Sometimes I wish we made fewer products.

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 54f8b66..2f1b77e 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -394,10 +394,13 @@ static SymTabRec NVKnownChipsets[] =
   { 0x10DE0609, "GeForce 8800M GTS" },
   { 0x10DE060C, "GeForce 8800M GTX" },
   { 0x10DE060D, "GeForce 8800 GS" },
+  { 0x10DE0610, "GeForce 9600 GSO" },
   { 0x10DE0611, "GeForce 8800 GT" },
+  { 0x10DE0612, "GeForce 9800 GTX" },
   { 0x10DE061A, "Quadro FX 3700" },
   { 0x10DE061C, "Quadro FX 3600M" },
   { 0x10DE0622, "GeForce 9600 GT" },
+  { 0x10DE0623, "GeForce 9600 GS" },
   { 0x10DE06E4, "GeForce 8400 GS" },
 
   {-1, NULL}
commit cb83fbdfa22aa408e6692256cd44b78fef53e801
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Fri May 9 18:31:07 2008 -0700

    Add an option to allow validation of dual-link DVI modes.
    
    These modes don't work at bootup (i.e. power saving) configuration on all GPUs,
    so they're still disabled by default.  This option allows users to enable them
    in case they actually work.

diff --git a/man/nv.man b/man/nv.man
index 7a08823..19816bd 100644
--- a/man/nv.man
+++ b/man/nv.man
@@ -162,6 +162,10 @@ Default: XAA.
 Enable or disable flat panel dithering by default.
 Dithering can also be enabled or disabled using the RandR 1.2 \*qdither\*q output property.
 Default: off.
+.TP
+.BI "Option \*qAllowDualLinkModes\*q \*q" boolean \*q
+Allow validation of dual-link DVI modes.
+Not all GPUs are configured at boot time to be able to handle dual-link modes, so they are disabled by default.
 .
 .\" RandR 1.2
 .PP
diff --git a/src/g80_driver.c b/src/g80_driver.c
index 99ea737..a0182a1 100644
--- a/src/g80_driver.c
+++ b/src/g80_driver.c
@@ -106,14 +106,16 @@ typedef enum {
     OPTION_NOACCEL,
     OPTION_ACCEL_METHOD,
     OPTION_FP_DITHER,
+    OPTION_ALLOW_DUAL_LINK,
 } G80Opts;
 
 static const OptionInfoRec G80Options[] = {
-    { OPTION_HW_CURSOR,         "HWCursor",     OPTV_BOOLEAN,   {0}, FALSE },
-    { OPTION_NOACCEL,           "NoAccel",      OPTV_BOOLEAN,   {0}, FALSE },
-    { OPTION_ACCEL_METHOD,      "AccelMethod",  OPTV_STRING,    {0}, FALSE },
-    { OPTION_FP_DITHER,         "FPDither",     OPTV_BOOLEAN,   {0}, FALSE },
-    { -1,                       NULL,           OPTV_NONE,      {0}, FALSE }
+    { OPTION_HW_CURSOR,         "HWCursor",             OPTV_BOOLEAN,   {0}, FALSE },
+    { OPTION_NOACCEL,           "NoAccel",              OPTV_BOOLEAN,   {0}, FALSE },
+    { OPTION_ACCEL_METHOD,      "AccelMethod",          OPTV_STRING,    {0}, FALSE },
+    { OPTION_FP_DITHER,         "FPDither",             OPTV_BOOLEAN,   {0}, FALSE },
+    { OPTION_ALLOW_DUAL_LINK,   "AllowDualLinkModes",   OPTV_BOOLEAN,   {0}, FALSE },
+    { -1,                       NULL,                   OPTV_NONE,      {0}, FALSE }
 };
 
 static Bool
@@ -331,6 +333,7 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
     }
 
     pNv->Dither = xf86ReturnOptValBool(pNv->Options, OPTION_FP_DITHER, FALSE);
+    pNv->AllowDualLink = xf86ReturnOptValBool(pNv->Options, OPTION_ALLOW_DUAL_LINK, FALSE);
 
     /* Set the bits per RGB for 8bpp mode */
     if(pScrn->depth == 8)
diff --git a/src/g80_sor.c b/src/g80_sor.c
index 02a5f3b..202e838 100644
--- a/src/g80_sor.c
+++ b/src/g80_sor.c
@@ -69,9 +69,10 @@ G80SorDPMSSet(xf86OutputPtr output, int mode)
 static int
 G80TMDSModeValid(xf86OutputPtr output, DisplayModePtr mode)
 {
-    // Disable dual-link modes until I can find a way to make them work
-    // reliably.
-    if (mode->Clock > 165000)
+    G80Ptr pNv = G80PTR(output->scrn);
+
+    // Disable dual-link modes unless enabled in the config file.
+    if (mode->Clock > 165000 && !pNv->AllowDualLink)
         return MODE_CLOCK_HIGH;
 
     return G80OutputModeValid(output, mode);
diff --git a/src/g80_type.h b/src/g80_type.h
index 5f4ee08..30ef3fe 100644
--- a/src/g80_type.h
+++ b/src/g80_type.h
@@ -67,6 +67,7 @@ typedef struct G80Rec {
     Bool                NoAccel;
     AccelMethod         AccelMethod;
     Bool                Dither;
+    Bool                AllowDualLink;
 
     /* XAA */
     XAAInfoRecPtr       xaa;


More information about the xorg-commit mailing list