[Openchrome-devel] xf86-video-openchrome: 2 commits - configure.ac src/via_analog.c
Kevin Brace
kevinbrace at kemper.freedesktop.org
Tue Jan 9 08:01:59 UTC 2018
configure.ac | 2 +-
src/via_analog.c | 25 ++++++++++++++++++++++++-
2 files changed, 25 insertions(+), 2 deletions(-)
New commits:
commit 2dbff5e58c897bd946dc8cf295f72c9c6576ab32
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Tue Jan 9 00:01:25 2018 -0800
Version bumped to 0.6.170
Put in a fix for single chip Chrome IGP not detecting a VGA connector
from time to time.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/configure.ac b/configure.ac
index 9a9859a..457eec3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ(2.57)
AC_INIT([xf86-video-openchrome],
- [0.6.169],
+ [0.6.170],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
[xf86-video-openchrome])
commit 17dc6fe1f414f0d630ca2a15fc906bffa3328e79
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Mon Jan 8 23:56:23 2018 -0800
Fix for single chip Chrome IGP not detecting a VGA connector sometimes
It was observed that VX900 chipset was having issues with detecting a
VGA connector after standby resume fairly frequently. This also affected
VX855 chipset as well.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/src/via_analog.c b/src/via_analog.c
index 7394e66..473b7aa 100644
--- a/src/via_analog.c
+++ b/src/via_analog.c
@@ -145,6 +145,7 @@ viaAnalogInitReg(ScrnInfoPtr pScrn)
case VIA_VX900:
/* Make sure 3C5.01[5] does not turn off analog (VGA) DAC. */
viaAnalogSetDACOff(pScrn, FALSE);
+
break;
default:
break;
@@ -167,16 +168,28 @@ viaAnalogDetectConnector(ScrnInfoPtr pScrn)
vgaHWPtr hwp = VGAHWPTR(pScrn);
VIAPtr pVia = VIAPTR(pScrn);
Bool connectorDetected = FALSE;
- CARD8 sr40, cr36, cr47;
+ CARD8 sr40, cr36, cr37, cr43, cr44, cr47;
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Entered viaAnalogDetectConnector.\n"));
sr40 = hwp->readSeq(hwp, 0x40);
cr36 = hwp->readCrtc(hwp, 0x36);
+ cr37 = hwp->readCrtc(hwp, 0x37);
+ cr43 = hwp->readCrtc(hwp, 0x43);
+ cr44 = hwp->readCrtc(hwp, 0x44);
cr47 = hwp->readCrtc(hwp, 0x47);
+ if ((pVia->Chipset == VIA_CX700)
+ || (pVia->Chipset == VIA_VX800)
+ || (pVia->Chipset == VIA_VX855)
+ || (pVia->Chipset == VIA_VX900)) {
+ ViaCrtcMask(hwp, 0x43, 0x90, BIT(7) | BIT(6) | BIT(5) | BIT(4));
+ hwp->writeCrtc(hwp, 0x44, 0x00);
+ }
+
/* Turn on DAC. */
+ ViaCrtcMask(hwp, 0x37, 0x04, 0xff);
ViaCrtcMask(hwp, 0x47, 0x00, BIT(2));
/* Power On DPMS. */
@@ -217,6 +230,16 @@ viaAnalogDetectConnector(ScrnInfoPtr pScrn)
/* Restore */
hwp->writeCrtc(hwp, 0x47, cr47);
+
+ if ((pVia->Chipset == VIA_CX700)
+ || (pVia->Chipset == VIA_VX800)
+ || (pVia->Chipset == VIA_VX855)
+ || (pVia->Chipset == VIA_VX900)) {
+ hwp->writeCrtc(hwp, 0x44, cr44);
+ hwp->writeCrtc(hwp, 0x43, cr43);
+ }
+
+ hwp->writeCrtc(hwp, 0x37, cr37);
hwp->writeCrtc(hwp, 0x36, cr36);
hwp->writeSeq(hwp, 0x40, sr40);
More information about the Openchrome-devel
mailing list