configure.ac | 2 +- src/via_display.c | 42 +++++++----------------------------------- src/via_ums.c | 12 ++++++++++-- 3 files changed, 18 insertions(+), 38 deletions(-)
New commits: commit 5acbb0a71aa639e381829d15b3a34145752d7ac5 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Jan 13 11:40:31 2017 -0600 Version bumped to 0.5.181 This version restricts the horizontal screen resolution slightly (4 dots in 32-bit color mode) to avoid display issues on the right side screen in dual screen mode. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/configure.ac b/configure.ac index 3914d6b..7f156c8 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ(2.57) AC_INIT([xf86-video-openchrome], - [0.5.180], + [0.5.181], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome], [xf86-video-openchrome]) commit 1496cc2f5f6ea94ceb4679a8a87b3369045b192a Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Jan 13 11:36:27 2017 -0600 Limit horizontal direction screen resolution slightly Allowing 2048 horizontal screen resolution in 32-bit color mode causes a problem displaying the correct image on the right side screen, so the allowed horizontal screen resolution will now be restricted by a few dots. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_ums.c b/src/via_ums.c index ffd1a66..eba18b6 100644 --- a/src/via_ums.c +++ b/src/via_ums.c @@ -1015,6 +1015,14 @@ umsCrtcInit(ScrnInfoPtr pScrn) iga2_rec->index = 1; iga2->driver_private = iga2_rec; + if (!pScrn->bitsPerPixel) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Detected bitsPerPixel to be 0 bit.\n"); + xf86CrtcDestroy(iga2); + xf86CrtcDestroy(iga1); + return FALSE; + } + /* * CLE266A: * Max Line Pitch: 4080, (FB corruption when higher, driver problem?) @@ -1027,8 +1035,8 @@ umsCrtcInit(ScrnInfoPtr pScrn) * We should be able to limit the memory available for a mode to 32 MB, * but miScanLineWidth fails to catch this properly (apertureSize). */ - max_pitch = 8192 / ((pScrn->bitsPerPixel + 7) >> 3); - max_height = max_pitch; + max_pitch = (8192 / ((pScrn->bitsPerPixel + 7) >> 3)) - (16 / ((pScrn->bitsPerPixel + 7) >> 3)); + max_height = 8192 / ((pScrn->bitsPerPixel + 7) >> 3); xf86CrtcSetSizeRange(pScrn, 320, 200, max_pitch, max_height); commit 0f34b8d53e60e02a844f0f8eb039207f11f24bf2 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Jan 13 11:25:13 2017 -0600 Made corrections to IGA2 display read count and starting address Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_display.c b/src/via_display.c index 417aa70..b04bfe9 100644 --- a/src/via_display.c +++ b/src/via_display.c @@ -2971,12 +2971,6 @@ viaIGA2SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode) /* Set IGA2 horizontal offset adjustment. */ temp = (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)) >> 3; - /* Make sure that this is 32-byte aligned. */ - if (temp & 0x03) { - temp += 0x03; - temp &= ~0x03; - } - /* 3X5.66[7:0] - Second Display Horizontal Offset Bits [7:0] */ hwp->writeCrtc(hwp, 0x66, temp & 0xFF); @@ -2984,22 +2978,16 @@ viaIGA2SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode) ViaCrtcMask(hwp, 0x67, temp >> 8, 0x03); - /* Set IGA2 alignment. */ - temp = (mode->CrtcHDisplay * (pScrn->bitsPerPixel >> 3)) >> 3; - - /* Make sure that this is 32-byte aligned. */ - if (temp & 0x03) { - temp += 0x03; - temp &= ~0x03; - } + /* Set IGA2 fetch count. */ + temp = (mode->CrtcHDisplay * (pScrn->bitsPerPixel >> 3)) >> 4; /* 3X5.65[7:0] - Second Display Horizontal - * 2-Quadword Count Data Bits [7:0] */ - hwp->writeCrtc(hwp, 0x65, (temp >> 1) & 0xFF); + * 2-Quadword Count Data Bits [7:0] */ + hwp->writeCrtc(hwp, 0x65, temp & 0xFF); /* 3X5.67[3:2] - Second Display Horizontal - * 2-Quadword Count Data Bits [9:8] */ - ViaCrtcMask(hwp, 0x67, temp >> 7, 0x0C); + * 2-Quadword Count Data Bits [9:8] */ + ViaCrtcMask(hwp, 0x67, temp >> 6, 0x0C); DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Exiting viaIGA2SetDisplayRegister.\n")); commit 72933a40be8764d2ed09b168e1895ad5f730e707 Author: Kevin Brace <kevinbr...@gmx.com> Date: Fri Jan 13 10:44:17 2017 -0600 Made corrections to IGA1 display read count and starting address Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_display.c b/src/via_display.c index 4737500..417aa70 100644 --- a/src/via_display.c +++ b/src/via_display.c @@ -1690,12 +1690,6 @@ viaIGA1SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode) /* Set IGA1 horizontal offset adjustment. */ temp = (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)) >> 3; - /* Make sure that this is 32-byte aligned. */ - if (temp & 0x03) { - temp += 0x03; - temp &= ~0x03; - } - /* 3X5.13[7:0] - Primary Display Horizontal Offset Bits [7:0] */ hwp->writeCrtc(hwp, 0x13, temp & 0xFF); @@ -1704,17 +1698,7 @@ viaIGA1SetDisplayRegister(ScrnInfoPtr pScrn, DisplayModePtr mode) /* Set IGA1 horizontal display fetch (read) count. */ - temp = (mode->CrtcHDisplay * (pScrn->bitsPerPixel >> 3)) >> 3; - - /* Make sure that this is 32-byte aligned. */ - if (temp & 0x03) { - temp += 0x03; - temp &= ~0x03; - } - - /* Primary Display Horizontal Display Fetch Count Data needs to be - * 16-byte aligned. */ - temp = temp >> 1; + temp = (mode->CrtcHDisplay * (pScrn->bitsPerPixel >> 3)) >> 4; /* 3C5.1C[7:0] - Primary Display Horizontal Display * Fetch Count Data Bits [7:0] */ _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel