configure.ac | 2 - src/via_fp.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 69 insertions(+), 18 deletions(-)
New commits: commit 16f71176657a269e312fec0a2c5843a6899e7eb1 Author: Kevin Brace <kevinbr...@gmx.com> Date: Sun Apr 23 17:59:17 2017 -0700 Version bumped to 0.6.109 Signed-off-by: Kevin Brace <kevinbr...@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 <kevinbr...@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 <kevinbr...@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); _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel