xf86-video-nv: 2 commits - src/g80_output.c src/nv_dac.c src/nv_setup.c src/riva_setup.c

Adam Jackson ajax at kemper.freedesktop.org
Mon Nov 3 12:03:59 PST 2008


 src/g80_output.c |    4 ++++
 src/nv_dac.c     |   17 +++++++++++++++--
 src/nv_setup.c   |    7 ++++++-
 src/riva_setup.c |    7 ++++++-
 4 files changed, 31 insertions(+), 4 deletions(-)

New commits:
commit 52c034f5a41195f2b3193ec8c18b3f4ed7a763a3
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Nov 3 15:01:58 2008 -0500

    Do E-EDID if built against a server that supports it.

diff --git a/src/g80_output.c b/src/g80_output.c
index e906fbb..420a73e 100644
--- a/src/g80_output.c
+++ b/src/g80_output.c
@@ -307,7 +307,11 @@ ProbeDDC(I2CBusPtr i2c)
             "Probing for EDID on I2C bus %i...\n", bus);
     pNv->reg[addr/4] = 7;
     /* Should probably use xf86OutputGetEDID here */
+#ifdef EDID_COMPLETE_RAWDATA
+    monInfo = xf86DoEEDID(pScrn->scrnIndex, i2c, TRUE);
+#else
     monInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, i2c);
+#endif
     pNv->reg[addr/4] = 3;
 
     if(monInfo) {
diff --git a/src/nv_setup.c b/src/nv_setup.c
index bea0050..132a96b 100644
--- a/src/nv_setup.c
+++ b/src/nv_setup.c
@@ -229,7 +229,12 @@ NVProbeDDC (ScrnInfoPtr pScrn, int bus)
     xf86DrvMsg(pScrn->scrnIndex, X_INFO, 
                "Probing for EDID on I2C bus %s...\n", bus ? "B" : "A");
 
-    if ((MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, pNv->I2C))) {
+#ifdef EDID_COMPLETE_RAWDATA
+    MonInfo = xf86DoEEDID(pScrn->scrnIndex, pNv->I2C, TRUE);
+#else
+    MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, pNv->I2C);
+#endif
+    if (MonInfo) {
        xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
                   "DDC detected a %s:\n", MonInfo->features.input_type ?
                   "DFP" : "CRT");
diff --git a/src/riva_setup.c b/src/riva_setup.c
index b7352b6..b616798 100644
--- a/src/riva_setup.c
+++ b/src/riva_setup.c
@@ -167,7 +167,12 @@ RivaProbeDDC (ScrnInfoPtr pScrn)
 
     xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Probing for EDID...\n");
 
-    if ((MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, pRiva->I2C))) {
+#ifdef EDID_COMPLETE_RAWDATA
+    MonInfo = xf86DoEEDID(pScrn->scrnIndex, pNv->I2C, TRUE);
+#else
+    MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, pNv->I2C);
+#endif
+    if (MonInfo) {
        xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                   "  ... found one\n");
        xf86PrintEDID( MonInfo );
commit b5f33108fea77280c9acd219954f20401f760faf
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Oct 27 17:54:36 2008 -0400

    Adjust the nv34 panel tweak for Toshiba Tecra M2.

diff --git a/src/nv_dac.c b/src/nv_dac.c
index b1049cc..a256d0a 100644
--- a/src/nv_dac.c
+++ b/src/nv_dac.c
@@ -42,8 +42,21 @@ NVDACPanelTweaks(NVPtr pNv, NVRegPtr state)
           we can do is experiment and apply hacks. */
 
        if(((pNv->Chipset & 0xffff) == 0x0328) && (state->bpp == 32)) {
-          /* At least one NV34 laptop needs this workaround. */
-          tweak = -1;
+#if XSERVER_LIBPCIACCESS
+          if (((pNv->PciInfo->subvendor_id & 0xffff) == 0x1179) &&
+              ((pNv->PciInfo->subdevice_id & 0xffff) == 0x0020))
+#else
+          if (((pNv->PciInfo->subsysVendor & 0xffff) == 0x1179) &&
+              ((pNv->PciInfo->subsysCard & 0xffff) == 0x0020))
+#endif
+          {
+
+             /* Toshiba Tecra M2 */
+             tweak = 1;
+          } else {
+             /* At least one NV34 laptop needs this workaround. */
+             tweak = -1;
+          }
        }
 
        if((pNv->Chipset & 0xfff0) == 0x0310) {


More information about the xorg-commit mailing list