[Openchrome-devel] xf86-video-openchrome: 4 commits - configure.ac src/via_lvds.c
Kevin Brace
kevinbrace at kemper.freedesktop.org
Fri Aug 5 18:25:28 UTC 2016
configure.ac | 2 -
src/via_lvds.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 70 insertions(+), 5 deletions(-)
New commits:
commit 42de5b31ef5c7cb3ff11ad692d9c0b2d7a8d3cf2
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Fri Aug 5 11:24:53 2016 -0700
Version bumped to 0.5.115
Signed-off-by: Kevin Brace <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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)
{
More information about the Openchrome-devel
mailing list