[Openchrome-devel] xf86-video-openchrome: 2 commits - configure.ac src/via_fp.c

Kevin Brace kevinbrace at kemper.freedesktop.org
Mon Apr 24 06:49:26 UTC 2017


 configure.ac |    2 -
 src/via_fp.c |   85 +++++++++++++++++++++++++++++++++++++++++++++++------------
 2 files changed, 69 insertions(+), 18 deletions(-)

New commits:
commit 16f71176657a269e312fec0a2c5843a6899e7eb1
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Apr 23 17:59:17 2017 -0700

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

diff --git a/configure.ac b/configure.ac
index 76637fe..5aae79b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-openchrome],
-        [0.6.108],
+        [0.6.109],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
         [xf86-video-openchrome])
 
commit dcaf1d38e86fffae0f7e3a6366d917357cf10e97
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Apr 23 17:57:06 2017 -0700

    Temporary code to improve FP display source during mode setting
    
    While the code is not perfect, this commit should improve the mode
    setting of flat panels.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 3a33537..833dbb2 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -602,6 +602,73 @@ viaFPIOPadSetting(ScrnInfoPtr pScrn, Bool ioPadOn)
 }
 
 static void
+viaFPDisplaySource(ScrnInfoPtr pScrn, int index)
+{
+    vgaHWPtr hwp = VGAHWPTR(pScrn);
+    VIAPtr pVia = VIAPTR(pScrn);
+    CARD8 sr12, sr13;
+    CARD8 displaySource = index & 0x01;
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Entered viaFPDisplaySource.\n"));
+
+    sr12 = hwp->readSeq(hwp, 0x12);
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "SR12: 0x%02X\n", sr12));
+    sr13 = hwp->readSeq(hwp, 0x13);
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "SR13: 0x%02X\n", sr13));
+
+    switch (pVia->Chipset) {
+    case VIA_KM400:
+    case VIA_K8M800:
+    case VIA_PM800:
+    case VIA_P4M800PRO:
+        /* 3C5.12[4] - DVP0D4 pin strapping
+         *             0: 12-bit flat panel interface
+         *             1: 24-bit flat panel interface */
+        if (sr12 & 0x10) {
+            viaDFPHighSetDisplaySource(pScrn, displaySource);
+            viaDFPLowSetDisplaySource(pScrn, displaySource);
+        }
+
+        break;
+    case VIA_P4M890:
+    case VIA_K8M890:
+    case VIA_P4M900:
+        /* 3C5.12[4] - DVP0D4 pin strapping
+         *             0: 12-bit flat panel interface
+         *             1: 24-bit flat panel interface */
+        if (sr12 & 0x10) {
+            viaDFPHighSetDisplaySource(pScrn, displaySource);
+        }
+
+        viaDFPLowSetDisplaySource(pScrn, displaySource);
+        viaDVP1SetDisplaySource(pScrn, displaySource);
+        break;
+    case VIA_CX700:
+    case VIA_VX800:
+        /* The code will be reworked later. */
+        viaLVDS2SetDisplaySource(pScrn, displaySource);
+        break;
+    case VIA_VX855:
+    case VIA_VX900:
+        viaLVDS1SetDisplaySource(pScrn, displaySource);
+        break;
+    default:
+        break;
+
+    }
+
+    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                "FP Display Source: IGA%d\n",
+                displaySource + 1);
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Exiting viaFPDisplaySource.\n"));
+}
+
+static void
 ViaLVDSSoftwarePowerFirstSequence(ScrnInfoPtr pScrn, Bool on)
 {
     vgaHWPtr hwp = VGAHWPTR(pScrn);
@@ -1315,25 +1382,11 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
             break;
         }
 
+        viaFPDisplaySource(pScrn, iga->index);
 
         switch (pVia->Chipset) {
-        case VIA_KM400:
-        case VIA_K8M800:
-        case VIA_PM800:
-        case VIA_P4M800PRO:
-            viaDFPLowSetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-            viaDFPHighSetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-            break;
-        case VIA_P4M890:
-        case VIA_K8M890:
-        case VIA_P4M900:
-            viaDFPLowSetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-            viaDVP1SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-            break;
         case VIA_CX700:
         case VIA_VX800:
-            viaLVDS2SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-
             /* Set LVDS2 output color dithering. */
             viaLVDS2SetDithering(pScrn, Panel->useDithering ? TRUE : FALSE);
 
@@ -1345,8 +1398,6 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
             break;
         case VIA_VX855:
         case VIA_VX900:
-            viaLVDS1SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
-
             /* Set LVDS1 output color dithering. */
             viaLVDS1SetDithering(pScrn, Panel->useDithering ? TRUE : FALSE);
 


More information about the Openchrome-devel mailing list