[Openchrome-devel] xf86-video-openchrome: 3 commits - configure.ac src/via_driver.h src/via_outputs.c src/via_tmds.c src/via_vt1632.c

Kevin Brace kevinbrace at kemper.freedesktop.org
Tue Aug 23 03:31:33 UTC 2016


 configure.ac      |    2 +-
 src/via_driver.h  |    3 +++
 src/via_outputs.c |    5 ++++-
 src/via_tmds.c    |    8 +++++++-
 src/via_vt1632.c  |    8 +++++++-
 5 files changed, 22 insertions(+), 4 deletions(-)

New commits:
commit 710a8a15a8ff5ac7693e24c7f339d0ead7108b02
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Aug 22 20:31:02 2016 -0700

    Version bumped to 0.5.136
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/configure.ac b/configure.ac
index 15e31dc..c62e027 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-openchrome],
-        [0.5.135],
+        [0.5.136],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
         [xf86-video-openchrome])
 
commit ef42c82ede738d064d8bf6285fbb780d41afc3a4
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Aug 22 20:25:52 2016 -0700

    Designating DVI dynamically for xrandr
    
    The code was updated so that DVI designation for xrandr will have
    a numbering convention that will look like, DVI-1, DVI-2, etc. If
    both integrated and external TMDS transmitters are detected in the
    same system, the integrated one will be assigned DVI-1 first. The
    code to facilitate this was borrowed from xf86-video-r128 DDX.
    
    Suggested-by: Eric Kudzin <knoppix1337 at yahoo.com>
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_driver.h b/src/via_driver.h
index 7b8a3e7..21ec0b9 100644
--- a/src/via_driver.h
+++ b/src/via_driver.h
@@ -376,6 +376,9 @@ typedef struct _VIA {
 #endif /* HAVE_DEBUG */
 
     video_via_regs*     VideoRegs;
+
+    /* Keeping track of the number of DVI connectors. */
+    unsigned int        numberDVI;
 } VIARec, *VIAPtr;
 
 #define VIAPTR(p) ((VIAPtr)((p)->driverPrivate))
diff --git a/src/via_outputs.c b/src/via_outputs.c
index 2fa9d9f..ca85839 100644
--- a/src/via_outputs.c
+++ b/src/via_outputs.c
@@ -376,6 +376,9 @@ viaOutputDetect(ScrnInfoPtr pScrn)
 
     pBIOSInfo->analog = NULL;
 
+    /* Initialize the number of DVI connectors. */
+    pVia->numberDVI = 0;
+
     /* Read off the VIA Technologies IGP pin strapping for
        display detection purposes. */
     viaProbePinStrapping(pScrn);
diff --git a/src/via_tmds.c b/src/via_tmds.c
index d44afd5..43bcbfe 100644
--- a/src/via_tmds.c
+++ b/src/via_tmds.c
@@ -499,9 +499,11 @@ viaTMDSInit(ScrnInfoPtr pScrn)
 {
     xf86OutputPtr output;
     vgaHWPtr hwp = VGAHWPTR(pScrn);
+    VIAPtr pVia = VIAPTR(pScrn);
     VIATMDSRecPtr pVIATMDSRec = NULL;
     CARD8 sr13, sr5a, cr3e;
     Bool status = FALSE;
+    char outputNameBuffer[32];
 
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                         "Entered viaTMDSInit.\n"));
@@ -551,7 +553,10 @@ viaTMDSInit(ScrnInfoPtr pScrn)
         goto exit;
     }
 
-    output = xf86OutputCreate(pScrn, &via_tmds_funcs, "DVI-1");
+    /* The code to dynamically designate the particular DVI (i.e., DVI-1,
+     * DVI-2, etc.) for xrandr was borrowed from xf86-video-r128 DDX. */
+    sprintf(outputNameBuffer, "DVI-%d", (pVia->numberDVI + 1));
+    output = xf86OutputCreate(pScrn, &via_tmds_funcs, outputNameBuffer);
     if (!output) {
         free(pVIATMDSRec);
         xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -572,6 +577,7 @@ viaTMDSInit(ScrnInfoPtr pScrn)
     output->interlaceAllowed = FALSE;
     output->doubleScanAllowed = FALSE;
 
+    pVia->numberDVI++;
     status = TRUE;
 exit:
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
diff --git a/src/via_vt1632.c b/src/via_vt1632.c
index 7bcfb83..55d9f47 100644
--- a/src/via_vt1632.c
+++ b/src/via_vt1632.c
@@ -399,12 +399,14 @@ Bool
 viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus)
 {
     xf86OutputPtr output;
+    VIAPtr pVia = VIAPTR(pScrn);
     viaVT1632RecPtr pVIAVT1632Rec = NULL;
     I2CDevPtr pI2CDevice = NULL;
     I2CSlaveAddr i2cAddr = 0x10;
     CARD8 buf;
     CARD16 vendorID, deviceID;
     Bool status = FALSE;
+    char outputNameBuffer[32];
 
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                         "Entered viaVT1632Init.\n"));
@@ -478,7 +480,10 @@ viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus)
                 pVIAVT1632Rec->DotclockMin / 1000,
                 pVIAVT1632Rec->DotclockMax / 1000);
 
-    output = xf86OutputCreate(pScrn, &via_vt1632_funcs, "DVI-2");
+    /* The code to dynamically designate the particular DVI (i.e., DVI-1,
+     * DVI-2, etc.) for xrandr was borrowed from xf86-video-r128 DDX. */
+    sprintf(outputNameBuffer, "DVI-%d", (pVia->numberDVI + 1));
+    output = xf86OutputCreate(pScrn, &via_vt1632_funcs, outputNameBuffer);
     if (!output) {
         free(pVIAVT1632Rec);
         xf86DestroyI2CDevRec(pI2CDevice, TRUE);
@@ -502,6 +507,7 @@ viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus)
 
     via_vt1632_dump_registers(pScrn, pI2CDevice);
 
+    pVia->numberDVI++;
     status = TRUE;
 exit:
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
commit 288a47e2e66e3ca61c971c68b64fa354f210cb46
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Aug 20 19:54:53 2016 -0700

    Changed KM400 chipset family pin strapping message
    
    KM400 chipset family (KM400, KM400A, KN400, and P4M800) has FPDP
    (Flat Panel Display Port), DVP0 (Digital Video Port 0), and DVP1,
    hence, pin strapping information is same as other AGP based VIA
    Chrome IGPs like P4M800 Pro and CN400 chipsets. Currently, pin
    strapping is not really used by the code.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_outputs.c b/src/via_outputs.c
index 0ebd8aa..2fa9d9f 100644
--- a/src/via_outputs.c
+++ b/src/via_outputs.c
@@ -170,7 +170,6 @@ viaProbePinStrapping(ScrnInfoPtr pScrn)
 
     switch (pVia->Chipset) {
     case VIA_CLE266:
-    case VIA_KM400:
 
         /* 3C5.12[4] - FPD17 pin strapping
          *             0: TMDS transmitter (DVI) / capture device
@@ -233,6 +232,7 @@ viaProbePinStrapping(ScrnInfoPtr pScrn)
 
         break;
 
+    case VIA_KM400:
     case VIA_K8M800:
     case VIA_PM800:
     case VIA_P4M800PRO:


More information about the Openchrome-devel mailing list