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

Kevin Brace kevinbrace at kemper.freedesktop.org
Tue Mar 21 00:02:29 UTC 2017


 configure.ac |    2 -
 src/via_fp.c |   66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 65 insertions(+), 3 deletions(-)

New commits:
commit 936e428c501dcb4099f87a91d43d08d5ef198fd4
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Mar 20 16:59:47 2017 -0700

    Version bumped to 0.6.99
    
    Made improvements in supporting VX855 and VX900 chipsets' LVDS FP.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/configure.ac b/configure.ac
index b751558..fef1a3e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-openchrome],
-        [0.6.0],
+        [0.6.99],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
         [xf86-video-openchrome])
 
commit 39cc3ba9bf9f44a6180d476d3630bfa0f1f53199
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Mar 19 21:13:04 2017 -0700

    Improved FP mode setting code for VX855 and VX900 chipsets
    
    Now, only LVDS1 (LVDS Channel 1) is initialized when FP (Flat Panel)
    is in use for VX855 and VX900 chipsets. These chipsets appear to have
    only one LVDS channel.
    
    Signed-off-by: Xavier Bachelot <xavier at bachelot.org>
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 6bdc7f0..4ef4914 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -1332,8 +1332,6 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
             break;
         case VIA_CX700:
         case VIA_VX800:
-        case VIA_VX855:
-        case VIA_VX900:
             viaLVDS2SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
 
             /* Set LVDS2 output color dithering. */
@@ -1345,6 +1343,19 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
             /* Set LVDS2 output to OPENLDI mode. */
             viaLVDS2SetFormat(pScrn, 0x01);
             break;
+        case VIA_VX855:
+        case VIA_VX900:
+            viaLVDS1SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00);
+
+            /* Set LVDS1 output color dithering. */
+            viaLVDS1SetDithering(pScrn, Panel->useDithering ? TRUE : FALSE);
+
+            /* Set LVDS1 output format to sequential mode. */
+            viaLVDS1SetOutputFormat(pScrn, 0x01);
+
+            /* Set LVDS1 output to OPENLDI mode. */
+            viaLVDS1SetFormat(pScrn, 0x01);
+            break;
         default:
             break;
         }
commit 081f831bcec9bd307691c7ab40564bea0e4b3350
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Mar 19 20:48:32 2017 -0700

    Added viaLVDS1SetOutputFormat
    
    This function was added to via_fp.c.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index 1cc5276..6bdc7f0 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -205,6 +205,31 @@ viaLVDS1SetDithering(ScrnInfoPtr pScrn, CARD8 ditheringStatus)
 }
 
 /*
+ * 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 CX700 or later single chipset's LVDS2 I/O pad state.
  */
 static void
commit 01e503c8b65ac5efd340cc377758cc022056a5b4
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sun Mar 19 20:40:07 2017 -0700

    Added viaLVDS1SetDithering
    
    This function was added to via_fp.c.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_fp.c b/src/via_fp.c
index dea6ec9..1cc5276 100644
--- a/src/via_fp.c
+++ b/src/via_fp.c
@@ -179,6 +179,32 @@ viaLVDS1SetFormat(ScrnInfoPtr pScrn, CARD8 format)
 }
 
 /*
+ * Turns LVDS1 output color dithering on or off. (18-bit color display vs.
+ * 24-bit color display)
+ */
+static void
+viaLVDS1SetDithering(ScrnInfoPtr pScrn, CARD8 ditheringStatus)
+{
+    vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Entered viaLVDS1SetDithering.\n"));
+
+    /* Set LVDS1 output color dithering bit. */
+    /* 3X5.88[0] - LVDS Channel 1 Output Bits
+     *             0: 24 bits (dithering off)
+     *             1: 18 bits (dithering on) */
+    ViaCrtcMask(hwp, 0x88, ditheringStatus ? 0x01 : 0x00, 0x01);
+
+    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                "LVDS1 Output Color Dithering: %s\n",
+                ditheringStatus ? "On (18 bit)" : "Off (24 bit)");
+
+    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                        "Exiting viaLVDS1SetDithering.\n"));
+}
+
+/*
  * Sets CX700 or later single chipset's LVDS2 I/O pad state.
  */
 static void


More information about the Openchrome-devel mailing list