configure.ac | 2 +- src/via_display.c | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-)
New commits: commit 4212ab0ca3899b35075bffa9ecf8535894e27441 Author: Kevin Brace <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <patrickc...@via.com.tw> Signed-off-by: Kevin Brace <kevinbr...@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) _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel