configure.ac | 2 - src/via_lvds.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 70 insertions(+), 5 deletions(-)
New commits: commit 42de5b31ef5c7cb3ff11ad692d9c0b2d7a8d3cf2 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Aug 5 11:24:53 2016 -0700 Version bumped to 0.5.115 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/configure.ac b/configure.ac index c66b9c6..ede6ba9 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ(2.57) AC_INIT([xf86-video-openchrome], - [0.5.114], + [0.5.115], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome], [xf86-video-openchrome]) commit 6fd3420b46bdd75bce029a34e1e8993352b950d8 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Aug 5 11:23:47 2016 -0700 Setting LVDS2 display source from via_lvds_mode_set Taking this functionality out of viaSetLVDSOutput function. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_lvds.c b/src/via_lvds.c index 7857bfd..954837a 100644 --- a/src/via_lvds.c +++ b/src/via_lvds.c @@ -848,9 +848,6 @@ viaSetLVDSOutput(ScrnInfoPtr pScrn) case VIA_VX800: case VIA_VX855: case VIA_VX900: - /* IGA2 for LVDS Channel 2. */ - ViaCrtcMask(hwp, 0x97, 0x10, 0x10); - /* Do not power down LVDS Channel 2. */ /* For now, use OPENLDI mode for LVDS Channel 2. */ ViaCrtcMask(hwp, 0xD2, 0x01, 0x41); @@ -875,6 +872,7 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode, { ViaPanelInfoPtr Panel = output->driver_private; ScrnInfoPtr pScrn = output->scrn; + drmmode_crtc_private_ptr iga = output->crtc->driver_private; VIAPtr pVia = VIAPTR(pScrn); if (Panel->Scale) { @@ -885,7 +883,20 @@ via_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode, ViaPanelScaleDisable(pScrn); } - viaSetLVDSOutput(pScrn); + if (output->crtc) { + viaSetLVDSOutput(pScrn); + + switch (pVia->Chipset) { + case VIA_CX700: + case VIA_VX800: + case VIA_VX855: + case VIA_VX900: + viaLVDS2SetDisplaySource(pScrn, iga->index ? 0x01 : 0x00); + break; + default: + break; + } + } } static int commit e4c69d74acef15a023b76d171adce4995fd0ac15 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Aug 5 10:11:36 2016 -0700 Added viaLVDS2SetDisplaySource viaLVDS2SetDisplaySource function sets the display source of LVDS2 integrated LVDS transmitter. This function is located inside via_lvds.c. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_lvds.c b/src/via_lvds.c index 40d8868..7857bfd 100644 --- a/src/via_lvds.c +++ b/src/via_lvds.c @@ -126,6 +126,33 @@ viaLVDS1SetDisplaySource(ScrnInfoPtr pScrn, CARD8 displaySource) "Exiting viaLVDS1SetDisplaySource.\n")); } +/* + * Sets IGA1 or IGA2 as the display output source for VIA Technologies + * Chrome IGP LVDS2 integrated LVDS transmitter. + */ +static void +viaLVDS2SetDisplaySource(ScrnInfoPtr pScrn, CARD8 displaySource) +{ + vgaHWPtr hwp = VGAHWPTR(pScrn); + CARD8 temp = displaySource; + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Entered viaLVDS2SetDisplaySource.\n")); + + /* Set LVDS2 integrated LVDS transmitter display output source. + /* 3X5.97[4] - LVDS Channel 2 Data Source Selection + * 0: Primary Display + * 1: Secondary Display */ + ViaCrtcMask(hwp, 0x97, temp << 4, 0x10); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "LVDS2 Integrated LVDS Transmitter Display Output " + "Source: IGA%d\n", + (temp & 0x01) + 1); + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Exiting viaLVDS2SetDisplaySource.\n")); +} + static void ViaLVDSSoftwarePowerFirstSequence(ScrnInfoPtr pScrn, Bool on) { commit f55d4d76b066c91e9934f3e6182d24f746fb83d9 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Aug 5 10:02:55 2016 -0700 Added viaLVDS1SetDisplaySource viaLVDS1SetDisplaySource function sets the display source of LVDS1 integrated LVDS transmitter. This function is located inside via_lvds.c. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_lvds.c b/src/via_lvds.c index aee1b0c..40d8868 100644 --- a/src/via_lvds.c +++ b/src/via_lvds.c @@ -99,6 +99,33 @@ static DisplayModeRec OLPCMode = { #define TD2 0 #define TD3 25 +/* + * Sets IGA1 or IGA2 as the display output source for VIA Technologies + * Chrome IGP LVDS1 integrated LVDS transmitter. + */ +static void +viaLVDS1SetDisplaySource(ScrnInfoPtr pScrn, CARD8 displaySource) +{ + vgaHWPtr hwp = VGAHWPTR(pScrn); + CARD8 temp = displaySource; + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Entered viaLVDS1SetDisplaySource.\n")); + + /* Set LVDS1 integrated LVDS transmitter display output source. + /* 3X5.99[4] - LVDS Channel 1 Data Source Selection + * 0: Primary Display + * 1: Secondary Display */ + ViaCrtcMask(hwp, 0x99, temp << 4, 0x10); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "LVDS1 Integrated LVDS Transmitter Display Output " + "Source: IGA%d\n", + (temp & 0x01) + 1); + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Exiting viaLVDS1SetDisplaySource.\n")); +} + static void ViaLVDSSoftwarePowerFirstSequence(ScrnInfoPtr pScrn, Bool on) { _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel