[Openchrome-devel] xf86-video-openchrome: 3 commits - configure.ac src/via_display.c src/via_outputs.c src/via_ums.c src/via_ums.h
Kevin Brace
kevinbrace at kemper.freedesktop.org
Sun May 1 16:21:48 UTC 2016
configure.ac | 2 -
src/via_display.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/via_outputs.c | 6 ++--
src/via_ums.c | 2 -
src/via_ums.h | 3 +-
5 files changed, 74 insertions(+), 6 deletions(-)
New commits:
commit f77a2fa21101322019b5eb426c19a2b0a3ba0df8
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sun May 1 09:17:37 2016 -0700
Version bumped to 0.4.144
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/configure.ac b/configure.ac
index b55a714..b1a6f7f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ(2.57)
AC_INIT([xf86-video-openchrome],
- [0.4.143],
+ [0.4.144],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome],
[xf86-video-openchrome])
commit 70d89a2e02213522ab484c5437178602e4898231
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sun May 1 09:13:57 2016 -0700
Added viaIGAInitCommon function
This function helps initialize the common (shared) registers between
IGA1 and IGA2. Whenever there is a mode set, IGA1 and IGA2 will both
call this function.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/src/via_display.c b/src/via_display.c
index c832ccb..ad44a18 100644
--- a/src/via_display.c
+++ b/src/via_display.c
@@ -285,6 +285,71 @@ ViaCRTCInit(ScrnInfoPtr pScrn)
ViaCRTCSetAttributeRegisters(pScrn);
}
+/*
+ * Initialize common IGA (Integrated Graphics Accelerator) registers.
+ */
+void
+viaIGAInitCommon(ScrnInfoPtr pScrn)
+{
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+ CARD8 temp;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Entered viaIGAInitCommon.\n"));
+
+ /* Unlock VIA Technologies extended VGA registers. */
+ /* 3C5.10[0] - Unlock Accessing of I/O Space
+ * 0: Disable
+ * 1: Enable */
+ ViaSeqMask(hwp, 0x10, 0x01, 0x01);
+
+ ViaCRTCSetGraphicsRegisters(pScrn);
+ ViaCRTCSetAttributeRegisters(pScrn);
+
+ temp = hwp->readSeq(hwp, 0x15);
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SR15: 0x%02X\n", temp));
+
+ /* Be careful with 3C5.15[5].
+ * It must be set to 1 for correct operation. */
+ /* 3C5.15[7] - 8/6 Bits LUT
+ * 0: 6-bit
+ * 1: 8-bit
+ * 3C5.15[6] - Text Column Control
+ * 0: 80 column
+ * 1: 132 column
+ * 3C5.15[5] - Wrap Around Disable
+ * 0: Disable (For Mode 0-13)
+ * 1: Enable
+ * 3C5.15[4] - Hi Color Mode Select
+ * 0: 555
+ * 1: 565
+ * 3C5.15[3:2] - Display Color Depth Select
+ * 00: 8bpp
+ * 01: 16bpp
+ * 10: 30bpp
+ * 11: 32bpp
+ * 3C5.15[1] - Extended Display Mode Enable
+ * 0: Disable
+ * 1: Enable
+ * 3C5.15[0] - Reserved */
+ ViaSeqMask(hwp, 0x15, 0x22, 0x62);
+
+ temp = hwp->readSeq(hwp, 0x1A);
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SR1A: 0x%02X\n", temp));
+ /* 3C5.1A[7]: Read Cache Enable
+ * 0 = Disable
+ * 1 = Enable
+ * 3C5.1A[3]: Extended Mode Memory Access Enable
+ * 0 = Disable
+ * 1 = Enable */
+ ViaSeqMask(hwp, 0x1A, 0x88, 0x88);
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Exiting viaIGAInitCommon.\n"));
+}
+
void
viaIGA1SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
@@ -1268,6 +1333,7 @@ iga1_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
/* Turn off IGA1 during mode setting. */
viaIGA1DPMSControl(pScrn, 0x03);
+ viaIGAInitCommon(pScrn);
ViaCRTCInit(pScrn);
viaIGA1SetMode(pScrn, adjusted_mode);
@@ -1680,6 +1746,7 @@ iga2_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
/* Turn off IGA2 during mode setting. */
viaIGA2Screen(pScrn, FALSE);
+ viaIGAInitCommon(pScrn);
ViaCRTCInit(pScrn);
viaIGA2SetMode(pScrn, adjusted_mode);
viaIGA2DisplayChannel(pScrn, TRUE);
diff --git a/src/via_ums.h b/src/via_ums.h
index 928839b..53d28d7 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -212,6 +212,7 @@ void ViaDisplayEnableSimultaneous(ScrnInfoPtr pScrn);
void ViaDisplayDisableSimultaneous(ScrnInfoPtr pScrn);
void ViaGammaDisable(ScrnInfoPtr pScrn);
void ViaCRTCInit(ScrnInfoPtr pScrn);
+void viaIGAInitCommon(ScrnInfoPtr pScrn);
void viaIGA1SetFBStartingAddress(xf86CrtcPtr crtc, int x, int y);
void viaIGA1SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode);
void viaIGA1SetMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
commit bed15c0f7f6760884237ce83cca5fb74d386ad2e
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sun May 1 09:06:07 2016 -0700
Changing ViaOutputsDetect to viaOutputDetect
This function is located inside via_outputs.c.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/src/via_outputs.c b/src/via_outputs.c
index 4d40957..bc79d4e 100644
--- a/src/via_outputs.c
+++ b/src/via_outputs.c
@@ -996,13 +996,13 @@ via_dvi_init(ScrnInfoPtr pScrn)
}
void
-ViaOutputsDetect(ScrnInfoPtr pScrn)
+viaOutputDetect(ScrnInfoPtr pScrn)
{
VIAPtr pVia = VIAPTR(pScrn);
VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Entered ViaOutputsDetect.\n"));
+ "Entered viaOutputDetect.\n"));
pBIOSInfo->analog = NULL;
@@ -1025,7 +1025,7 @@ ViaOutputsDetect(ScrnInfoPtr pScrn)
*/
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Exiting ViaOutputsDetect.\n"));
+ "Exiting viaOutputDetect.\n"));
}
#ifdef HAVE_DEBUG
diff --git a/src/via_ums.c b/src/via_ums.c
index 4f12b55..83ade2e 100644
--- a/src/via_ums.c
+++ b/src/via_ums.c
@@ -1041,7 +1041,7 @@ umsCrtcInit(ScrnInfoPtr pScrn)
xf86CrtcSetSizeRange(pScrn, 320, 200, max_pitch, max_height);
- ViaOutputsDetect(pScrn);
+ viaOutputDetect(pScrn);
return TRUE;
}
diff --git a/src/via_ums.h b/src/via_ums.h
index 78f94cf..928839b 100644
--- a/src/via_ums.h
+++ b/src/via_ums.h
@@ -189,7 +189,7 @@ Bool umsPreInit(ScrnInfoPtr pScrn);
Bool umsCrtcInit(ScrnInfoPtr pScrn);
/* via_output.c */
-void ViaOutputsDetect(ScrnInfoPtr pScrn);
+void viaOutputDetect(ScrnInfoPtr pScrn);
CARD32 ViaGetMemoryBandwidth(ScrnInfoPtr pScrn);
CARD32 ViaModeDotClockTranslate(ScrnInfoPtr pScrn, DisplayModePtr mode);
void viaTMDSPower(ScrnInfoPtr pScrn, Bool On);
More information about the Openchrome-devel
mailing list