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

Kevin Brace kevinbrace at kemper.freedesktop.org
Sun Aug 21 02:34:10 UTC 2016


 configure.ac      |    2 +-
 src/via_display.c |   20 ++++++++++++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

New commits:
commit 4212ab0ca3899b35075bffa9ecf8535894e27441
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Aug 20 19:22:23 2016 -0700

    Version bumped to 0.5.135
    
    This version adds IGA2 > 2048 horizontal resolution support for
    VX900 chipset.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

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

    IGA2 > 2048 horizontal resolution support for VX900 chipset
    
    Patrick Chen of VIA Technologies in December 2011 suggested that
    VX900 chipset supports horizontal resolution > 2048, but no one
    bothered to implement it for OpenChrome UMS code until now.
    
    Suggested-by: Patrick Chen <PatrickChen at via.com.tw>
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/src/via_display.c b/src/via_display.c
index 11ae1f2..4a25cbf 100644
--- a/src/via_display.c
+++ b/src/via_display.c
@@ -2241,6 +2241,11 @@ viaIGA2SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode)
     /* 3X5.55[6:4] - Horizontal Active Data Period Bits [10:8] */
     ViaCrtcMask(hwp, 0x55, temp >> 4, 0x70);
 
+    if (pVia->Chipset == VIA_VX900) {
+        /* 3X5.55[7] - Horizontal Active Data Period Bits [11] */
+        ViaCrtcMask(hwp, 0x55, temp >> 4, 0x80);
+    }
+
 
     /* Set IGA2 horizontal blank start. */
     /* Subtracting 1 from CrtcHBlankStart appears to suppress some
@@ -2257,6 +2262,11 @@ viaIGA2SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode)
     /* 3X5.54[2:0] - Horizontal Blanking Start Bits [10:8] */
     ViaCrtcMask(hwp, 0x54, temp >> 8, 0x07);
 
+    if (pVia->Chipset == VIA_VX900) {
+        /* 3X5.6B[0] - Horizontal Blanking Start Bit [11] */
+        ViaCrtcMask(hwp, 0x6B, temp >> 11, 0x01);
+    }
+
 
     /* Set IGA2 horizontal blank end. */
     /* Horizontal Blanking End: 4096 - 1 (max) */
@@ -2438,10 +2448,16 @@ viaIGA2ModeValid(ScrnInfoPtr pScrn, DisplayModePtr mode)
     if (mode->CrtcHTotal > 4096)
         return MODE_BAD_HVALUE;
 
-    if (mode->CrtcHDisplay > 2048)
+    if (((pVia->Chipset != VIA_VX900)
+            && (mode->CrtcHDisplay > 2048))
+        || ((pVia->Chipset == VIA_VX900)
+            && (mode->CrtcHDisplay > 4096)))
         return MODE_BAD_HVALUE;
 
-    if (mode->CrtcHBlankStart > 2048)
+    if (((pVia->Chipset != VIA_VX900)
+            && (mode->CrtcHBlankStart > 2048))
+        || ((pVia->Chipset == VIA_VX900)
+            && (mode->CrtcHBlankStart > 4096)))
         return MODE_BAD_HVALUE;
 
     if (mode->CrtcHBlankEnd > 4096)


More information about the Openchrome-devel mailing list