[Openchrome-devel] xf86-video-openchrome: 9 commits - configure.ac src/Makefile.am src/via_fp.c src/via_id.c src/via_ums.h

Kevin Brace kevinbrace at kemper.freedesktop.org
Sun Jun 11 17:55:38 UTC 2017


 configure.ac    |    2 
 src/Makefile.am |    1 
 src/via_fp.c    |  183 +++++++++++++++++++-------------------------------------
 src/via_id.c    |   57 -----------------
 src/via_ums.h   |   60 ++++++++++++++++++
 5 files changed, 124 insertions(+), 179 deletions(-)

New commits:
commit e4a144c4965c8992465be0f79b7254c11f8a5696
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:55:08 2017 -0700

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

diff --git a/configure.ac b/configure.ac
index 4a4f080..7955e7e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-openchrome],
-        [0.6.134],
+        [0.6.135],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
         [xf86-video-openchrome])
 
commit 5fd7c30ef74691b99ce2b0943ee260afffcaecab
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:52:57 2017 -0700

    Changed the order of viaFPDisplaySource input parameters
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 8cf9ac0..6cf40fd 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -328,7 +328,7 @@ viaFPDithering(ScrnInfoPtr pScrn, CARD8 diPort, Bool dithering)
 }
 
 static void
-viaFPDisplaySource(ScrnInfoPtr pScrn, int index, CARD8 diPort)
+viaFPDisplaySource(ScrnInfoPtr pScrn, CARD8 diPort, int index)
 {
     CARD8 displaySource = index & 0x01;
 
@@ -1002,8 +1002,6 @@ via_fp_mode_set(xf86OutputPtr output, DisplayModePtr mode,
             break;
         }
 
-        viaFPDisplaySource(pScrn, iga->index, pVIAFP->diPort);
-
         switch (pVia->Chipset) {
         case VIA_CX700:
         case VIA_VX800:
@@ -1020,6 +1018,8 @@ via_fp_mode_set(xf86OutputPtr output, DisplayModePtr mode,
         default:
             break;
         }
+
+        viaFPDisplaySource(pScrn, pVIAFP->diPort, iga->index);
     }
 }
 
commit e1e512ee0418e3ab4f643dc55c298860a75c80c8
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:47:22 2017 -0700

    Converted viaLVDS2SetOutputFormat to an inline function
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 399c2cf..8cf9ac0 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -198,31 +198,6 @@ viaDFPHighSetDelayTap(ScrnInfoPtr pScrn, CARD8 delayTap)
                         "Exiting viaDFPHighSetDelayTap.\n"));
 }
 
-/*
- * Sets output format of LVDS2 to rotation or sequential mode.
- */
-static void
-viaLVDS2SetOutputFormat(ScrnInfoPtr pScrn, CARD8 outputFormat)
-{
-    vgaHWPtr hwp = VGAHWPTR(pScrn);
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Entered viaLVDS2SetOutputFormat.\n"));
-
-    /* Set LVDS2 output format. */
-    /* 3X5.D4[7] - LVDS Channel 2 Output Format
-     *             0: Rotation
-     *             1: Sequential */
-    ViaCrtcMask(hwp, 0xD4, outputFormat ? 0x80 : 0x00, 0x80);
-
-    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                "LVDS2 Output Format: %s\n",
-                outputFormat ? "Sequential" : "Rotation");
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Exiting viaLVDS2SetOutputFormat.\n"));
-}
-
 static void
 viaFPIOPadState(ScrnInfoPtr pScrn, CARD8 diPort, Bool ioPadOn)
 {
diff --git a/src/via_ums.h b/src/via_ums.h
index 4d3036e..85656b1 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -778,6 +778,21 @@ viaLVDS2SetFormat(ScrnInfoPtr pScrn, CARD8 format)
 }
 
 /*
+ * Sets LVDS2 output format (rotation or sequential mode).
+ */
+static inline void
+viaLVDS2SetOutputFormat(ScrnInfoPtr pScrn, CARD8 outputFormat)
+{
+    /* 3X5.D4[7] - LVDS Channel 2 Output Format
+     *             0: Rotation
+     *             1: Sequential */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0xD4, outputFormat << 7, BIT(7));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS2 Output Format: %s\n",
+                        (outputFormat & BIT(0)) ? "Sequential" : "Rotation"));
+}
+
+/*
  * Sets CX700 or later single chipset's LVDS2 display source.
  */
 static inline void
commit 53ef30c9040702efd60441749fb00b0b4f2c7f17
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:40:25 2017 -0700

    Converted viaLVDS1SetOutputFormat to an inline function
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index fa46f39..399c2cf 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -106,31 +106,6 @@ static DisplayModeRec OLPCMode = {
 #define TD3 25
 
 /*
- * Sets output format of LVDS1 to rotation or sequential mode.
- */
-static void
-viaLVDS1SetOutputFormat(ScrnInfoPtr pScrn, CARD8 outputFormat)
-{
-    vgaHWPtr hwp = VGAHWPTR(pScrn);
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Entered viaLVDS1SetOutputFormat.\n"));
-
-    /* Set LVDS1 output format. */
-    /* 3X5.88[6] - LVDS Channel 1 Output Format
-     *             0: Rotation
-     *             1: Sequential */
-    ViaCrtcMask(hwp, 0x88, outputFormat ? 0x40 : 0x00, 0x40);
-
-    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                "LVDS1 Output Format: %s\n",
-                outputFormat ? "Sequential" : "Rotation");
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Exiting viaLVDS1SetOutputFormat.\n"));
-}
-
-/*
  * Sets LVDS2 (LVDS Channel 2) integrated LVDS transmitter delay tap.
  */
 static void
diff --git a/src/via_ums.h b/src/via_ums.h
index c3c2c05..4d3036e 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -687,6 +687,21 @@ viaLVDS1SetFormat(ScrnInfoPtr pScrn, CARD8 format)
                         (format & BIT(0)) ? "OPENLDI" : "SPWG"));
 }
 
+/*
+ * Sets LVDS1 output format (rotation or sequential mode).
+ */
+static inline void
+viaLVDS1SetOutputFormat(ScrnInfoPtr pScrn, CARD8 outputFormat)
+{
+    /* 3X5.88[6] - LVDS Channel 1 Output Format
+     *             0: Rotation
+     *             1: Sequential */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0x88, outputFormat << 6, BIT(6));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS1 Output Format: %s\n",
+                        (outputFormat & BIT(0)) ? "Sequential" : "Rotation"));
+}
+
 /* Sets CX700 or later single chipset's LVDS1 display source. */
 static inline void
 viaLVDS1SetDisplaySource(ScrnInfoPtr pScrn, CARD8 displaySource)
commit 1515335b9fa19b5dc27fbaf2b81edcd73f37e182
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:31:40 2017 -0700

    Added viaFPOutputFormat
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index b71e34d..fa46f39 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -324,6 +324,34 @@ viaFPFormat(ScrnInfoPtr pScrn, CARD8 diPort, CARD8 format)
 }
 
 static void
+viaFPOutputFormat(ScrnInfoPtr pScrn, CARD8 diPort, CARD8 outputFormat)
+{
+    CARD8 temp = outputFormat & 0x01;
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Entered viaFPOutputFormat.\n"));
+
+    switch(diPort) {
+    case VIA_DI_PORT_LVDS1:
+        viaLVDS1SetOutputFormat(pScrn, temp);
+        break;
+    case VIA_DI_PORT_LVDS2:
+        viaLVDS2SetOutputFormat(pScrn, temp);
+        break;
+    case (VIA_DI_PORT_LVDS1 |
+          VIA_DI_PORT_LVDS2):
+        viaLVDS1SetOutputFormat(pScrn, temp);
+        viaLVDS2SetOutputFormat(pScrn, temp);
+        break;
+    default:
+        break;
+    }
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Exiting viaFPOutputFormat.\n"));
+}
+
+static void
 viaFPDithering(ScrnInfoPtr pScrn, CARD8 diPort, Bool dithering)
 {
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -1029,26 +1057,14 @@ via_fp_mode_set(xf86OutputPtr output, DisplayModePtr mode,
         switch (pVia->Chipset) {
         case VIA_CX700:
         case VIA_VX800:
-            /* Set LVDS2 output format to sequential mode. */
-            viaLVDS2SetOutputFormat(pScrn, 0x01);
-            break;
-        case VIA_VX855:
-        case VIA_VX900:
-            /* Set LVDS1 output format to sequential mode. */
-            viaLVDS1SetOutputFormat(pScrn, 0x01);
-            break;
-        default:
-            break;
-        }
-
-        switch (pVia->Chipset) {
-        case VIA_CX700:
-        case VIA_VX800:
         case VIA_VX855:
         case VIA_VX900:
             /* OPENLDI Mode */
             viaFPFormat(pScrn, pVIAFP->diPort, 0x01);
 
+            /* Sequential Mode */
+            viaFPOutputFormat(pScrn, pVIAFP->diPort, 0x01);
+
             viaFPDithering(pScrn, pVIAFP->diPort, pVIAFP->useDithering);
             break;
         default:
commit 2aeadb4f30c65ba866d5396cba148bf277b48df6
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:21:15 2017 -0700

    Converted viaLVDS2SetFormat to an inline function
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 8be6ce4..b71e34d 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -154,30 +154,6 @@ viaLVDS2SetDelayTap(ScrnInfoPtr pScrn, CARD8 delayTap)
 }
 
 /*
- * Sets LVDS2 (LVDS Channel 2) integrated LVDS transmitter format.
- */
-static void
-viaLVDS2SetFormat(ScrnInfoPtr pScrn, CARD8 format)
-{
-    vgaHWPtr hwp = VGAHWPTR(pScrn);
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Entered viaLVDS2SetFormat.\n"));
-
-    /* Set LVDS2 format. */
-    /* 3X5.D2[0] - LVDS Channel 2 Format Selection
-     *             0: SPWG Mode
-     *             1: OPENLDI Mode */
-    ViaCrtcMask(hwp, 0xD2, format, 0x01);
-    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                "LVDS2 Format: %s\n",
-                (format & 0x01) ? "OPENLDI" : "SPWG");
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Exiting viaLVDS2SetFormat.\n"));
-}
-
-/*
  * Sets IGA1 or IGA2 as the display output source for VIA Technologies
  * Chrome IGP DFP (Digital Flat Panel) High interface.
  */
diff --git a/src/via_ums.h b/src/via_ums.h
index 4747912..c3c2c05 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -748,6 +748,21 @@ viaLVDS2SetIOPadSetting(ScrnInfoPtr pScrn, CARD8 ioPadState)
 }
 
 /*
+ * Sets LVDS2 format.
+ */
+static inline void
+viaLVDS2SetFormat(ScrnInfoPtr pScrn, CARD8 format)
+{
+    /* 3X5.D2[0] - LVDS Channel 2 Format Selection
+     *             0: SPWG Mode
+     *             1: OPENLDI Mode */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0xD2, format, BIT(0));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS2 Format: %s\n",
+                        (format & BIT(0)) ? "OPENLDI" : "SPWG"));
+}
+
+/*
  * Sets CX700 or later single chipset's LVDS2 display source.
  */
 static inline void
commit 9776bffd345ba06810b02b38d5d815e3ca313ee2
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 10:12:58 2017 -0700

    Converted viaLVDS1SetFormat to an inline function
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 21a0076..8be6ce4 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -106,30 +106,6 @@ static DisplayModeRec OLPCMode = {
 #define TD3 25
 
 /*
- * Sets LVDS1 (LVDS Channel 1) integrated LVDS transmitter format.
- */
-static void
-viaLVDS1SetFormat(ScrnInfoPtr pScrn, CARD8 format)
-{
-    vgaHWPtr hwp = VGAHWPTR(pScrn);
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Entered viaLVDS1SetFormat.\n"));
-
-    /* Set LVDS1 format. */
-    /* 3X5.D2[1] - LVDS Channel 1 Format Selection
-     *             0: SPWG Mode
-     *             1: OPENLDI Mode */
-    ViaCrtcMask(hwp, 0xD2, format << 1, 0x02);
-    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                "LVDS1 Format: %s\n",
-                (format & 0x01) ? "OPENLDI" : "SPWG");
-
-    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-                        "Exiting viaLVDS1SetFormat.\n"));
-}
-
-/*
  * Sets output format of LVDS1 to rotation or sequential mode.
  */
 static void
diff --git a/src/via_ums.h b/src/via_ums.h
index 28e9641..4747912 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -672,6 +672,21 @@ viaLVDS1SetIOPadSetting(ScrnInfoPtr pScrn, CARD8 ioPadState)
                         (ioPadState & (BIT(1) | BIT(0)))));
 }
 
+/*
+ * Sets LVDS1 format.
+ */
+static inline void
+viaLVDS1SetFormat(ScrnInfoPtr pScrn, CARD8 format)
+{
+    /* 3X5.D2[1] - LVDS Channel 1 Format Selection
+     *             0: SPWG Mode
+     *             1: OPENLDI Mode */
+    ViaCrtcMask(VGAHWPTR(pScrn), 0xD2, format << 1, BIT(1));
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "LVDS1 Format: %s\n",
+                        (format & BIT(0)) ? "OPENLDI" : "SPWG"));
+}
+
 /* Sets CX700 or later single chipset's LVDS1 display source. */
 static inline void
 viaLVDS1SetDisplaySource(ScrnInfoPtr pScrn, CARD8 displaySource)
commit 605385510f5d136719958da7d9f7bf522c405029
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Jun 11 09:59:44 2017 -0700

    Added viaFPFormat
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index b45d54e..21a0076 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -344,6 +344,34 @@ viaFPIOPadState(ScrnInfoPtr pScrn, CARD8 diPort, Bool ioPadOn)
 }
 
 static void
+viaFPFormat(ScrnInfoPtr pScrn, CARD8 diPort, CARD8 format)
+{
+    CARD8 temp = format & 0x01;
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Entered viaFPFormat.\n"));
+
+    switch(diPort) {
+    case VIA_DI_PORT_LVDS1:
+        viaLVDS1SetFormat(pScrn, temp);
+        break;
+    case VIA_DI_PORT_LVDS2:
+        viaLVDS2SetFormat(pScrn, temp);
+        break;
+    case (VIA_DI_PORT_LVDS1 |
+          VIA_DI_PORT_LVDS2):
+        viaLVDS1SetFormat(pScrn, temp);
+        viaLVDS2SetFormat(pScrn, temp);
+        break;
+    default:
+        break;
+    }
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Exiting viaFPFormat.\n"));
+}
+
+static void
 viaFPDithering(ScrnInfoPtr pScrn, CARD8 diPort, Bool dithering)
 {
     DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -1051,17 +1079,11 @@ via_fp_mode_set(xf86OutputPtr output, DisplayModePtr mode,
         case VIA_VX800:
             /* Set LVDS2 output format to sequential mode. */
             viaLVDS2SetOutputFormat(pScrn, 0x01);
-
-            /* Set LVDS2 output to OPENLDI mode. */
-            viaLVDS2SetFormat(pScrn, 0x01);
             break;
         case VIA_VX855:
         case VIA_VX900:
             /* Set LVDS1 output format to sequential mode. */
             viaLVDS1SetOutputFormat(pScrn, 0x01);
-
-            /* Set LVDS1 output to OPENLDI mode. */
-            viaLVDS1SetFormat(pScrn, 0x01);
             break;
         default:
             break;
@@ -1072,6 +1094,9 @@ via_fp_mode_set(xf86OutputPtr output, DisplayModePtr mode,
         case VIA_VX800:
         case VIA_VX855:
         case VIA_VX900:
+            /* OPENLDI Mode */
+            viaFPFormat(pScrn, pVIAFP->diPort, 0x01);
+
             viaFPDithering(pScrn, pVIAFP->diPort, pVIAFP->useDithering);
             break;
         default:
commit 150bd44b7f61df5ff82b1b4a4a7bfe2d169ffc53
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jun 10 23:35:10 2017 -0700

    Removed via_id.c
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/Makefile.am b/src/Makefile.am
index 821acf4..f0e4eca 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -53,7 +53,6 @@ openchrome_drv_la_SOURCES = \
          via_driver.c \
          via_driver.h \
          via_i2c.c \
-         via_id.c \
          via_fp.c \
          via_memcpy.c \
          via_memmgr.h \
diff --git a/src/via_id.c b/src/via_id.c
deleted file mode 100644
index 00c8720..0000000
--- a/src/via_id.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2005-2015 The Openchrome Project
- *                     [https://www.freedesktop.org/wiki/Openchrome]
- * Copyright 2004-2005 The Unichrome Project  [unichrome.sf.net]
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sub license,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * A big structure with card-ID information, plus some checking functions.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "via_driver.h"
-
-static void
-ViaDoubleCheckCLE266Revision(ScrnInfoPtr pScrn)
-{
-    vgaHWPtr hwp = VGAHWPTR(pScrn);
-    VIAPtr pVia = VIAPTR(pScrn);
-    /* Crtc 0x4F is only defined in CLE266Cx */
-    CARD8 tmp = hwp->readCrtc(hwp, 0x4F);
-
-    hwp->writeCrtc(hwp, 0x4F, 0x55);
-    if (hwp->readCrtc(hwp, 0x4F) == 0x55) {
-        if (CLE266_REV_IS_AX(pVia->ChipRev))
-            xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "CLE266 Revision seems"
-                       " to be Cx, yet %d was detected previously.\n",
-                       pVia->ChipRev);
-    } else {
-        if (CLE266_REV_IS_CX(pVia->ChipRev))
-            xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "CLE266 Revision seems"
-                       " to be Ax, yet %d was detected previously.\n",
-                       pVia->ChipRev);
-    }
-    hwp->writeCrtc(hwp, 0x4F, tmp);
-}


More information about the Openchrome-devel mailing list