configure.ac | 2 - src/via_display.c | 94 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 57 insertions(+), 39 deletions(-)
New commits: commit af80fba649c30a0b5011cf34a572b8bbf9b452bb Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Nov 2 21:03:11 2016 -0700 Version bumped to 0.5.169 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/configure.ac b/configure.ac index 2e742a1..26cc033 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ(2.57) AC_INIT([xf86-video-openchrome], - [0.5.168], + [0.5.169], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome], [xf86-video-openchrome]) commit 56960c27ca176e6eff1844a418bfad077aeb75e6 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Nov 2 21:02:05 2016 -0700 Removing code that will reinitialize VGA registers from IGA2 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_display.c b/src/via_display.c index 563859c..60f5c4b 100644 --- a/src/via_display.c +++ b/src/via_display.c @@ -4292,12 +4292,6 @@ iga2_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, /* Disable IGA2 display channel. */ viaIGA2DisplayChannel(pScrn, FALSE); -// if (!vgaHWInit(pScrn, adjusted_mode)) { -// DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, -// "vgaHWInit failed.\n")); -// goto exit; -// } - viaIGAInitCommon(pScrn); viaIGA2Init(pScrn); @@ -4318,7 +4312,6 @@ iga2_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, viaIGA2SetFBStartingAddress(crtc, x, y); VIAVidAdjustFrame(pScrn, x, y); -exit: /* Enable IGA2 display channel. */ viaIGA2DisplayChannel(pScrn, TRUE); commit 8c51f6779b91978919183a6cacdc3252cc4cb744 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Nov 2 17:16:38 2016 -0700 Setting IGA2 color depth atomically Removed the code that sets IGA2 color depth (i.e., 8-bit, 16-bit, or 32-bit) from viaIGA2SetDisplayRegister function. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_display.c b/src/via_display.c index dcbe6ab..563859c 100644 --- a/src/via_display.c +++ b/src/via_display.c @@ -473,6 +473,56 @@ viaIGA2DisplayChannel(ScrnInfoPtr pScrn, Bool channelState) } /* + * Sets IGA2 color depth. + */ +static void +viaIGA2SetColorDepth(ScrnInfoPtr pScrn, CARD8 bitsPerPixel) +{ + vgaHWPtr hwp = VGAHWPTR(pScrn); + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Entered viaIGA2SetColorDepth.\n")); + + /* Set the color depth for IGA2. */ + switch (pScrn->bitsPerPixel) { + case 8: + /* 3X5.67[7:6] - Display Color Depth Select + * 00: 8bpp + * 01: 16bpp + * 10: 30bpp + * 11: 32bpp */ + ViaCrtcMask(hwp, 0x67, 0x00, 0xC0); + break; + case 16: + ViaCrtcMask(hwp, 0x67, 0x40, 0xC0); + break; + case 24: + case 32: + ViaCrtcMask(hwp, 0x67, 0xC0, 0xC0); + break; + default: + break; + } + + if ((bitsPerPixel == 8) + || (bitsPerPixel == 16) + || (bitsPerPixel == 24) + || (bitsPerPixel == 32)) { + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "IGA2 Color Depth: %d bit\n", + bitsPerPixel); + } else { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Unsupported IGA2 Color Depth: %d bit\n", + bitsPerPixel); + } + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Exiting viaIGA2SetColorDepth.\n")); +} + +/* * Sets IGA2 palette LUT resolution. (6-bit or 8-bit) */ static void @@ -2783,37 +2833,6 @@ viaIGA2SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Requested Screen Mode: %s\n", mode->name); - /* Set the color depth for IGA2. */ - switch (pScrn->bitsPerPixel) { - case 8: - /* Only CLE266.AX uses 6-bit LUT. */ - if (pVia->Chipset == VIA_CLE266 && pVia->ChipRev < 15) { - /* 6-bit LUT */ - /* 3X5.6A[5] - Second Display 8/6 Bits LUT - * 0: 6-bit - * 1: 8-bit */ - ViaCrtcMask(hwp, 0x6A, 0x00, 0x20); - } else { - /* Set IGA2 display LUT to 8-bit */ - ViaCrtcMask(hwp, 0x6A, 0x20, 0x20); - } - - ViaCrtcMask(hwp, 0x67, 0x00, 0xC0); - break; - case 16: - ViaCrtcMask(hwp, 0x67, 0x40, 0xC0); - break; - case 24: - case 32: - ViaCrtcMask(hwp, 0x67, 0xC0, 0xC0); - break; - default: - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Unsupported color depth: %d\n", - pScrn->bitsPerPixel); - break; - } - /* LVDS Channel 1 and 2 should be controlled by PMS * (Power Management Status). */ ViaSeqMask(hwp, 0x2A, 0x0F, 0x0F); @@ -4283,7 +4302,13 @@ iga2_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, viaIGA2Init(pScrn); ViaPrintMode(pScrn, adjusted_mode); + + /* Set color depth. */ + viaIGA2SetColorDepth(pScrn, pScrn->bitsPerPixel); + + /* Set display controller screen parameters. */ viaIGA2SetDisplayRegister(pScrn, adjusted_mode); + ViaSetSecondaryFIFO(pScrn, adjusted_mode); pBIOSInfo->Clock = ViaModeDotClockTranslate(pScrn, adjusted_mode); pBIOSInfo->ClockExternal = FALSE; _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel