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 <kevinbr...@gmx.com> Date: Sun May 1 09:17:37 2016 -0700 Version bumped to 0.4.144 Signed-off-by: Kevin Brace <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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); _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel