ChangeLog | 106 ++++++++++++++ configure.ac | 20 ++ debian/changelog | 12 + debian/control | 4 debian/patches/10-qemu.diff | 8 - src/CirrusClk.c | 1 src/Makefile.am | 3 src/alp.h | 2 src/alp_driver.c | 88 +++++------ src/alp_hwcurs.c | 5 src/alp_i2c.c | 1 src/alp_xaa.c | 6 src/alp_xaam.c | 9 - src/cir.h | 9 - src/cir_dga.c | 20 +- src/cir_driver.c | 19 +- src/cir_pcirename.h | 24 +++ src/cir_shadow.c | 324 ++++++++++++++++++++++++-------------------- src/compat-api.h | 99 +++++++++++++ src/lg.h | 2 src/lg_driver.c | 84 +++++------ src/lg_hwcurs.c | 5 src/lg_i2c.c | 1 src/lg_xaa.c | 7 24 files changed, 582 insertions(+), 277 deletions(-)
New commits: commit 6cd7cef87189c744bdea4e972fb76eb89a0f9772 Author: Michele Cane <[email protected]> Date: Sun Sep 8 21:28:29 2013 +0200 Bump Standards-Version to 3.9.4, no changes needed. diff --git a/debian/changelog b/debian/changelog index 38e9429..270bbea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,13 @@ xserver-xorg-video-cirrus (1:1.5.2-1) UNRELEASED; urgency=low + [ Maarten Lankhorst ] * New upstream release. * Require xserver 1.13rc1 * Refresh 10-qemu.diff + [ Michele Cane ] + * Bump Standards-Version to 3.9.4, no changes needed. + -- Maarten Lankhorst <[email protected]> Mon, 16 Jul 2012 15:30:58 +0200 xserver-xorg-video-cirrus (1:1.4.0-2) unstable; urgency=low diff --git a/debian/control b/debian/control index 7470065..e86ad63 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Build-Depends: x11proto-render-dev, x11proto-xext-dev, xutils-dev -Standards-Version: 3.9.3 +Standards-Version: 3.9.4 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-cirrus Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-cirrus.git commit 257211311d6f94ad50615a632ff99caccbc01bd7 Author: Maarten Lankhorst <[email protected]> Date: Tue Jan 8 11:15:51 2013 +0100 New upstream release. diff --git a/ChangeLog b/ChangeLog index a5d1a48..d730d78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,47 @@ +commit e2bf5b255611de267bc1c56b2fccf51268d28f3d +Author: Maarten Lankhorst <[email protected]> +Date: Tue Jan 8 11:04:38 2013 +0100 + + cirrus: release 1.5.2 + +commit bade70ce71ea26fae4f250f0bd1729dfb0d392df +Author: Maarten Lankhorst <[email protected]> +Date: Tue Jan 8 11:00:33 2013 +0100 + + cirrus: fix out of bounds access to shadowfb + + Perform the same bounds checking other drivers do. Thanks to Dave Gilbert for feedback on this patch. + + Signed-off-by: Maarten Lankhorst <[email protected]> + +commit 5fcb3b018797457c3099a86c6c1257b6e4e89ceb +Author: Adam Jackson <[email protected]> +Date: Tue Sep 25 08:54:36 2012 -0400 + + Remove mibstore.h + + Signed-off-by: Adam Jackson <[email protected]> + +commit aa9016576163b3065910437b6ea51a69f24a41ca +Author: Dave Airlie <[email protected]> +Date: Tue Aug 21 21:01:43 2012 +1000 + + cirrus: fix build against old server + + Reported-by: jobermayer on irc + Signed-off-by: Dave Airlie <[email protected]> + +commit bc04e9ed659be51a3c712f34a038bd60f639f9c5 +Author: Dave Airlie <[email protected]> +Date: Mon Aug 20 13:49:19 2012 +1000 + + cirrus: fix falling back after kernel check + + if we find a kernel driver the code leave the pci slot claimed which + stops us falling back. unclaim the pci slot. + + Signed-off-by: Dave Airlie <[email protected]> + commit 129076c2a9c20ab515736bb7141b4f334699e21b Author: Dave Airlie <[email protected]> Date: Tue Jul 17 16:05:09 2012 +1000 diff --git a/debian/changelog b/debian/changelog index b47b682..dee9d6b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -xserver-xorg-video-cirrus (1:1.5.1-1) UNRELEASED; urgency=low +xserver-xorg-video-cirrus (1:1.5.2-1) UNRELEASED; urgency=low - * New upstream release 1.5.1 + * New upstream release. * Require xserver 1.13rc1 * Refresh 10-qemu.diff commit e2bf5b255611de267bc1c56b2fccf51268d28f3d Author: Maarten Lankhorst <[email protected]> Date: Tue Jan 8 11:04:38 2013 +0100 cirrus: release 1.5.2 diff --git a/configure.ac b/configure.ac index dddf9ef..0e00305 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-cirrus], - [1.5.1], + [1.5.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-cirrus]) AC_CONFIG_SRCDIR([Makefile.am]) commit bade70ce71ea26fae4f250f0bd1729dfb0d392df Author: Maarten Lankhorst <[email protected]> Date: Tue Jan 8 11:00:33 2013 +0100 cirrus: fix out of bounds access to shadowfb Perform the same bounds checking other drivers do. Thanks to Dave Gilbert for feedback on this patch. Signed-off-by: Maarten Lankhorst <[email protected]> diff --git a/src/cir_shadow.c b/src/cir_shadow.c index a9b425b..6bde0fd 100644 --- a/src/cir_shadow.c +++ b/src/cir_shadow.c @@ -15,30 +15,41 @@ #include "cir.h" #include "alp.h" +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) + _X_EXPORT void cirRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { CirPtr pCir = CIRPTR(pScrn); - int width, height, Bpp, FBPitch; + int width, height, Bpp, FBPitch, x1, x2, y1, y2; unsigned char *src, *dst; Bpp = pScrn->bitsPerPixel >> 3; FBPitch = BitmapBytePad(pScrn->displayWidth * pScrn->bitsPerPixel); while(num--) { - width = (pbox->x2 - pbox->x1) * Bpp; - height = pbox->y2 - pbox->y1; - src = pCir->ShadowPtr + (pbox->y1 * pCir->ShadowPitch) + - (pbox->x1 * Bpp); - dst = pCir->FbBase + (pbox->y1 * FBPitch) + (pbox->x1 * Bpp); - - while(height--) { - memcpy(dst, src, width); - dst += FBPitch; - src += pCir->ShadowPitch; - } - - pbox++; + x1 = MAX(pbox->x1, 0); + y1 = MAX(pbox->y1, 0); + x2 = MIN(pbox->x2, pScrn->virtualX); + y2 = MIN(pbox->y2, pScrn->virtualY); + + width = (x2 - x1) * Bpp; + height = y2 - y1; + + if (width <= 0 || height <= 0) + continue; + + src = pCir->ShadowPtr + (y1 * pCir->ShadowPitch) + (x1 * Bpp); + dst = pCir->FbBase + (y1 * FBPitch) + (x1 * Bpp); + + while(height--) { + memcpy(dst, src, width); + dst += FBPitch; + src += pCir->ShadowPitch; + } + + pbox++; } } @@ -64,7 +75,7 @@ _X_EXPORT void cirRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { CirPtr pCir = CIRPTR(pScrn); - int count, width, height, y1, y2, dstPitch, srcPitch; + int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch; CARD8 *dstPtr, *srcPtr, *src; CARD32 *dst; @@ -72,36 +83,44 @@ cirRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox) srcPitch = -pCir->rotate * pCir->ShadowPitch; while(num--) { - width = pbox->x2 - pbox->x1; - y1 = pbox->y1 & ~3; - y2 = (pbox->y2 + 3) & ~3; - height = (y2 - y1) >> 2; /* in dwords */ - - if(pCir->rotate == 1) { - dstPtr = pCir->FbBase + - (pbox->x1 * dstPitch) + pScrn->virtualX - y2; - srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + pbox->x1; - } else { - dstPtr = pCir->FbBase + - ((pScrn->virtualY - pbox->x2) * dstPitch) + y1; - srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + pbox->x2 - 1; - } - - while(width--) { - src = srcPtr; - dst = (CARD32*)dstPtr; - count = height; - while(count--) { - *(dst++) = src[0] | (src[srcPitch] << 8) | - (src[srcPitch * 2] << 16) | - (src[srcPitch * 3] << 24); - src += srcPitch * 4; - } - srcPtr += pCir->rotate; - dstPtr += dstPitch; - } - - pbox++; + x1 = MAX(pbox->x1, 0); + y1 = MAX(pbox->y1, 0); + x2 = MIN(pbox->x2, pScrn->virtualX); + y2 = MIN(pbox->y2, pScrn->virtualY); + + width = x2 - x1; + y1 = y1 & ~3; + y2 = (y2 + 3) & ~3; + height = (y2 - y1) / 4; /* in dwords */ + + if (width <= 0 || height <= 0) + continue; + + if(pCir->rotate == 1) { + dstPtr = pCir->FbBase + + (x1 * dstPitch) + pScrn->virtualX - y2; + srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + x1; + } else { + dstPtr = pCir->FbBase + + ((pScrn->virtualY - x2) * dstPitch) + y1; + srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + x2 - 1; + } + + while(width--) { + src = srcPtr; + dst = (CARD32*)dstPtr; + count = height; + while(count--) { + *(dst++) = src[0] | (src[srcPitch] << 8) | + (src[srcPitch * 2] << 16) | + (src[srcPitch * 3] << 24); + src += srcPitch * 4; + } + srcPtr += pCir->rotate; + dstPtr += dstPitch; + } + + pbox++; } } @@ -110,7 +129,7 @@ _X_EXPORT void cirRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { CirPtr pCir = CIRPTR(pScrn); - int count, width, height, y1, y2, dstPitch, srcPitch; + int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch; CARD16 *dstPtr, *srcPtr, *src; CARD32 *dst; @@ -118,36 +137,44 @@ cirRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox) srcPitch = -pCir->rotate * pCir->ShadowPitch >> 1; while(num--) { - width = pbox->x2 - pbox->x1; - y1 = pbox->y1 & ~1; - y2 = (pbox->y2 + 1) & ~1; - height = (y2 - y1) >> 1; /* in dwords */ - - if(pCir->rotate == 1) { - dstPtr = (CARD16*)pCir->FbBase + - (pbox->x1 * dstPitch) + pScrn->virtualX - y2; - srcPtr = (CARD16*)pCir->ShadowPtr + - ((1 - y2) * srcPitch) + pbox->x1; - } else { - dstPtr = (CARD16*)pCir->FbBase + - ((pScrn->virtualY - pbox->x2) * dstPitch) + y1; - srcPtr = (CARD16*)pCir->ShadowPtr + - (y1 * srcPitch) + pbox->x2 - 1; - } - - while(width--) { - src = srcPtr; - dst = (CARD32*)dstPtr; - count = height; - while(count--) { - *(dst++) = src[0] | (src[srcPitch] << 16); - src += srcPitch * 2; - } - srcPtr += pCir->rotate; - dstPtr += dstPitch; - } - - pbox++; + x1 = MAX(pbox->x1, 0); + y1 = MAX(pbox->y1, 0); + x2 = MIN(pbox->x2, pScrn->virtualX); + y2 = MIN(pbox->y2, pScrn->virtualY); + + width = x2 - x1; + y1 = y1 & ~1; + y2 = (y2 + 1) & ~1; + height = (y2 - y1) / 2; /* in dwords */ + + if (width <= 0 || height <= 0) + continue; + + if(pCir->rotate == 1) { + dstPtr = (CARD16*)pCir->FbBase + + (x1 * dstPitch) + pScrn->virtualX - y2; + srcPtr = (CARD16*)pCir->ShadowPtr + + ((1 - y2) * srcPitch) + x1; + } else { + dstPtr = (CARD16*)pCir->FbBase + + ((pScrn->virtualY - x2) * dstPitch) + y1; + srcPtr = (CARD16*)pCir->ShadowPtr + + (y1 * srcPitch) + x2 - 1; + } + + while(width--) { + src = srcPtr; + dst = (CARD32*)dstPtr; + count = height; + while(count--) { + *(dst++) = src[0] | (src[srcPitch] << 16); + src += srcPitch * 2; + } + srcPtr += pCir->rotate; + dstPtr += dstPitch; + } + + pbox++; } } @@ -157,7 +184,7 @@ _X_EXPORT void cirRefreshArea24(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { CirPtr pCir = CIRPTR(pScrn); - int count, width, height, y1, y2, dstPitch, srcPitch; + int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch; CARD8 *dstPtr, *srcPtr, *src; CARD32 *dst; @@ -165,42 +192,50 @@ cirRefreshArea24(ScrnInfoPtr pScrn, int num, BoxPtr pbox) srcPitch = -pCir->rotate * pCir->ShadowPitch; while(num--) { - width = pbox->x2 - pbox->x1; - y1 = pbox->y1 & ~3; - y2 = (pbox->y2 + 3) & ~3; - height = (y2 - y1) >> 2; /* blocks of 3 dwords */ - - if(pCir->rotate == 1) { - dstPtr = pCir->FbBase + - (pbox->x1 * dstPitch) + ((pScrn->virtualX - y2) * 3); - srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + (pbox->x1 * 3); - } else { - dstPtr = pCir->FbBase + - ((pScrn->virtualY - pbox->x2) * dstPitch) + (y1 * 3); - srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + (pbox->x2 * 3) - 3; - } - - while(width--) { - src = srcPtr; - dst = (CARD32*)dstPtr; - count = height; - while(count--) { - dst[0] = src[0] | (src[1] << 8) | (src[2] << 16) | + x1 = MAX(pbox->x1, 0); + y1 = MAX(pbox->y1, 0); + x2 = MIN(pbox->x2, pScrn->virtualX); + y2 = MIN(pbox->y2, pScrn->virtualY); + + width = x2 - x1; + y1 = y1 & ~3; + y2 = (y2 + 3) & ~3; + height = (y2 - y1) / 4; /* blocks of 3 dwords */ + + if (width <= 0 || height <= 0) + continue; + + if(pCir->rotate == 1) { + dstPtr = pCir->FbBase + + (x1 * dstPitch) + ((pScrn->virtualX - y2) * 3); + srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + (x1 * 3); + } else { + dstPtr = pCir->FbBase + + ((pScrn->virtualY - x2) * dstPitch) + (y1 * 3); + srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + (x2 * 3) - 3; + } + + while(width--) { + src = srcPtr; + dst = (CARD32*)dstPtr; + count = height; + while(count--) { + dst[0] = src[0] | (src[1] << 8) | (src[2] << 16) | (src[srcPitch] << 24); - dst[1] = src[srcPitch + 1] | (src[srcPitch + 2] << 8) | + dst[1] = src[srcPitch + 1] | (src[srcPitch + 2] << 8) | (src[srcPitch * 2] << 16) | (src[(srcPitch * 2) + 1] << 24); - dst[2] = src[(srcPitch * 2) + 2] | (src[srcPitch * 3] << 8) | + dst[2] = src[(srcPitch * 2) + 2] | (src[srcPitch * 3] << 8) | (src[(srcPitch * 3) + 1] << 16) | (src[(srcPitch * 3) + 2] << 24); - dst += 3; - src += srcPitch * 4; - } - srcPtr += pCir->rotate * 3; - dstPtr += dstPitch; - } - - pbox++; + dst += 3; + src += srcPitch * 4; + } + srcPtr += pCir->rotate * 3; + dstPtr += dstPitch; + } + + pbox++; } } @@ -208,41 +243,49 @@ _X_EXPORT void cirRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { CirPtr pCir = CIRPTR(pScrn); - int count, width, height, dstPitch, srcPitch; + int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch; CARD32 *dstPtr, *srcPtr, *src, *dst; dstPitch = pScrn->displayWidth; srcPitch = -pCir->rotate * pCir->ShadowPitch >> 2; while(num--) { - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - if(pCir->rotate == 1) { - dstPtr = (CARD32*)pCir->FbBase + - (pbox->x1 * dstPitch) + pScrn->virtualX - pbox->y2; - srcPtr = (CARD32*)pCir->ShadowPtr + - ((1 - pbox->y2) * srcPitch) + pbox->x1; - } else { - dstPtr = (CARD32*)pCir->FbBase + - ((pScrn->virtualY - pbox->x2) * dstPitch) + pbox->y1; - srcPtr = (CARD32*)pCir->ShadowPtr + - (pbox->y1 * srcPitch) + pbox->x2 - 1; - } - - while(width--) { - src = srcPtr; - dst = dstPtr; - count = height; - while(count--) { - *(dst++) = *src; - src += srcPitch; - } - srcPtr += pCir->rotate; - dstPtr += dstPitch; - } - - pbox++; + x1 = MAX(pbox->x1, 0); + y1 = MAX(pbox->y1, 0); + x2 = MIN(pbox->x2, pScrn->virtualX); + y2 = MIN(pbox->y2, pScrn->virtualY); + + width = x2 - x1; + height = y2 - y1; + + if (width <= 0 || height <= 0) + continue; + + if(pCir->rotate == 1) { + dstPtr = (CARD32*)pCir->FbBase + + (x1 * dstPitch) + pScrn->virtualX - y2; + srcPtr = (CARD32*)pCir->ShadowPtr + + ((1 - y2) * srcPitch) + x1; + } else { + dstPtr = (CARD32*)pCir->FbBase + + ((pScrn->virtualY - x2) * dstPitch) + y1; + srcPtr = (CARD32*)pCir->ShadowPtr + + (y1 * srcPitch) + x2 - 1; + } + + while(width--) { + src = srcPtr; + dst = dstPtr; + count = height; + while(count--) { + *(dst++) = *src; + src += srcPitch; + } + srcPtr += pCir->rotate; + dstPtr += dstPitch; + } + + pbox++; } } commit 5fcb3b018797457c3099a86c6c1257b6e4e89ceb Author: Adam Jackson <[email protected]> Date: Tue Sep 25 08:54:36 2012 -0400 Remove mibstore.h Signed-off-by: Adam Jackson <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index e38c613..36f2039 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -39,9 +39,6 @@ /* All drivers initialising the SW cursor need this */ #include "mipointer.h" -/* All drivers implementing backing store need this */ -#include "mibstore.h" - #include "micmap.h" /* Needed by the Shadow Framebuffer */ @@ -1617,8 +1614,6 @@ AlpScreenInit(SCREEN_INIT_ARGS_DECL) if (init_picture) fbPictureInit (pScreen, 0, 0); - miInitializeBackingStore(pScreen); - /* * Set initial black & white colourmap indices. */ diff --git a/src/lg_driver.c b/src/lg_driver.c index 13f222d..c20bbd0 100644 --- a/src/lg_driver.c +++ b/src/lg_driver.c @@ -46,9 +46,6 @@ /* need this for inputInfo */ #include "inputstr.h" -/* All drivers implementing backing store need this */ -#include "mibstore.h" - #include "micmap.h" /* Needed by the Shadow Framebuffer */ @@ -1373,8 +1370,6 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) fbPictureInit(pScreen, 0, 0); - miInitializeBackingStore(pScreen); - /* * Set initial black & white colourmap indices. */ commit aa9016576163b3065910437b6ea51a69f24a41ca Author: Dave Airlie <[email protected]> Date: Tue Aug 21 21:01:43 2012 +1000 cirrus: fix build against old server Reported-by: jobermayer on irc Signed-off-by: Dave Airlie <[email protected]> diff --git a/src/cir_driver.c b/src/cir_driver.c index c8d5aae..2df4a2e 100644 --- a/src/cir_driver.c +++ b/src/cir_driver.c @@ -258,7 +258,11 @@ CIRProbe(DriverPtr drv, int flags) pPci->device_id, pPci->bus, pPci->domain, pPci->dev, pPci->func); xf86DrvMsg(0, X_ERROR, "cirrus: This driver cannot operate until it has been unloaded.\n"); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 13 + xf86UnclaimPciSlot(pPci); +#else xf86UnclaimPciSlot(pPci, devSections[0]); +#endif free(devSections); return FALSE; } commit bc04e9ed659be51a3c712f34a038bd60f639f9c5 Author: Dave Airlie <[email protected]> Date: Mon Aug 20 13:49:19 2012 +1000 cirrus: fix falling back after kernel check if we find a kernel driver the code leave the pci slot claimed which stops us falling back. unclaim the pci slot. Signed-off-by: Dave Airlie <[email protected]> diff --git a/src/cir_driver.c b/src/cir_driver.c index 5468b6b..c8d5aae 100644 --- a/src/cir_driver.c +++ b/src/cir_driver.c @@ -237,9 +237,10 @@ CIRProbe(DriverPtr drv, int flags) CIRChipsets, CIRPciChipsets, devSections, numDevSections, drv, &usedChips); /* Free it since we don't need that list after this */ - free(devSections); - if (numUsed <= 0) + if (numUsed <= 0) { + free(devSections); return FALSE; + } if (flags & PROBE_DETECT) foundScreen = TRUE; else for (i = 0; i < numUsed; i++) { @@ -257,6 +258,8 @@ CIRProbe(DriverPtr drv, int flags) pPci->device_id, pPci->bus, pPci->domain, pPci->dev, pPci->func); xf86DrvMsg(0, X_ERROR, "cirrus: This driver cannot operate until it has been unloaded.\n"); + xf86UnclaimPciSlot(pPci, devSections[0]); + free(devSections); return FALSE; } #endif @@ -290,6 +293,7 @@ CIRProbe(DriverPtr drv, int flags) pScrn->Probe = NULL; } } + free(devSections); free(usedChips); return foundScreen; commit 793c8649e5ce47298e3c488a85674328aac865db Author: Maarten Lankhorst <[email protected]> Date: Wed Jul 25 09:09:43 2012 +0200 Bump changelog diff --git a/ChangeLog b/ChangeLog index d10418a..a5d1a48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +commit 129076c2a9c20ab515736bb7141b4f334699e21b +Author: Dave Airlie <[email protected]> +Date: Tue Jul 17 16:05:09 2012 +1000 + + xf86-video-cirrus: bump to version 1.5.1 + + Signed-off-by: Dave Airlie <[email protected]> + commit e443ede15981549ff5f6b01f42c3cb8dc909d778 Author: Dave Airlie <[email protected]> Date: Fri Jul 13 14:47:40 2012 +1000 commit 8fc560784e21fdb773c3e21d7b732dff76f29256 Author: Maarten Lankhorst <[email protected]> Date: Wed Jul 25 09:07:48 2012 +0200 New upstream release 1.5.1 diff --git a/debian/changelog b/debian/changelog index 363ed16..b47b682 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -xserver-xorg-video-cirrus (1:1.5.99~somegit) UNRELEASED; urgency=low +xserver-xorg-video-cirrus (1:1.5.1-1) UNRELEASED; urgency=low - * New upstream release 1.5.0 + * New upstream release 1.5.1 * Require xserver 1.13rc1 * Refresh 10-qemu.diff diff --git a/debian/control b/debian/control index cf053c5..7470065 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Build-Depends: x11proto-render-dev, x11proto-xext-dev, xutils-dev -Standards-Version: 3.9.1 +Standards-Version: 3.9.3 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-cirrus Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-cirrus.git commit 129076c2a9c20ab515736bb7141b4f334699e21b Author: Dave Airlie <[email protected]> Date: Tue Jul 17 16:05:09 2012 +1000 xf86-video-cirrus: bump to version 1.5.1 Signed-off-by: Dave Airlie <[email protected]> diff --git a/configure.ac b/configure.ac index 1157ab1..dddf9ef 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-cirrus], - [1.5.0], + [1.5.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-cirrus]) AC_CONFIG_SRCDIR([Makefile.am]) commit a3c79a44c306eb55c77fe227c04f2f133fd73215 Author: Maarten Lankhorst <[email protected]> Date: Mon Jul 16 15:38:46 2012 +0200 Refresh 10-qemu.diff diff --git a/debian/changelog b/debian/changelog index e08d0f2..363ed16 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xserver-xorg-video-cirrus (1:1.5.99~somegit) UNRELEASED; urgency=low * New upstream release 1.5.0 * Require xserver 1.13rc1 + * Refresh 10-qemu.diff -- Maarten Lankhorst <[email protected]> Mon, 16 Jul 2012 15:30:58 +0200 diff --git a/debian/patches/10-qemu.diff b/debian/patches/10-qemu.diff index 4a5532d..7089205 100644 --- a/debian/patches/10-qemu.diff +++ b/debian/patches/10-qemu.diff @@ -5,10 +5,11 @@ Stolen from Fedora. Pointed out by Guido Günther <[email protected]> in #586693. --- a/src/alp_driver.c +++ b/src/alp_driver.c -@@ -734,6 +734,20 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) +@@ -775,7 +775,21 @@ else xf86SetDDCproperties(pScrn,xf86PrintEDID( - xf86DoEDID_DDC2(pScrn->scrnIndex,pCir->I2CPtr1))); + xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),pCir->I2CPtr1))); +- +#ifdef XSERVER_LIBPCIACCESS + if (!pScrn->monitor->DDC && + ((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4)) { @@ -23,6 +24,7 @@ Pointed out by Guido Günther <[email protected]> in #586693. + pScrn->monitor->maxPixClock = 65000; + } +#endif - ++ /* Probe the possible LCD display */ AlpProbeLCD(pScrn); + commit c855e6d70261c02a32388b54c90f8b1ee42716f1 Author: Maarten Lankhorst <[email protected]> Date: Mon Jul 16 15:32:29 2012 +0200 Bump changelog diff --git a/ChangeLog b/ChangeLog index 9881813..d10418a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,57 @@ +commit e443ede15981549ff5f6b01f42c3cb8dc909d778 +Author: Dave Airlie <[email protected]> +Date: Fri Jul 13 14:47:40 2012 +1000 + + cirrus: handle server with no XAA + + this fixes cirrus to work with a server with no XAA module. + + Signed-off-by: Dave Airlie <[email protected]> + +commit 46a9e962c6f33509e89d664115a9a2db51c9b67d +Author: Dave Airlie <[email protected]> +Date: Mon Jul 2 11:57:59 2012 +0100 + + cirrus: bump to 1.5.0 for release. + + Signed-off-by: Dave Airlie <[email protected]> + +commit 7ae890b29b12609d410f5558640bb0407b0fdd2d +Author: Johannes Obermayr <[email protected]> +Date: Sat Jun 9 11:29:02 2012 +0100 + + use int scrnIndex instead of int i in macro SCREEN_INIT_ARGS_DECL. + + Signed-off-by: Dave Airlie <[email protected]> + +commit bab8041291ff81c81a98aca385cce561ecddc9d1 +Author: Dave Airlie <[email protected]> +Date: Tue Jun 5 19:35:39 2012 +0100 + + cirrus: drop xf86PciInfo. + + This drops usage of deprecated header file. + + Signed-off-by: Dave Airlie <[email protected]> + +commit 9a5e19597be4f5ee4c1030e4a716207789e78668 +Author: Dave Airlie <[email protected]> +Date: Tue Jun 5 19:26:15 2012 +0100 + + cirrus: convert to compat server API. + + Signed-off-by: Dave Airlie <[email protected]> + +commit 2e35bc316d7b74feca177c87a49a8050a2a0ff00 +Author: Dave Airlie <[email protected]> +Date: Thu May 17 10:23:34 2012 +0100 + + cirrus: don't bind if there is a PCI kernel driver loaded. + + this should ensure we end up using -modesetting under kms. + + Signed-off-by: Dave Airlie <[email protected]> + commit 52ae4d254fee97a215ac497a45b69b4c83470b2b Author: Alan Coopersmith <[email protected]> Date: Fri Mar 23 18:48:04 2012 -0700 commit fd02fec2f7033d876815e43d02fa8a876db03d8c Author: Maarten Lankhorst <[email protected]> Date: Mon Jul 16 15:32:16 2012 +0200 New upstream release 1.5.0 * New upstream release 1.5.0 * Require xserver 1.13rc1 diff --git a/debian/changelog b/debian/changelog index e4030f1..e08d0f2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-video-cirrus (1:1.5.99~somegit) UNRELEASED; urgency=low + + * New upstream release 1.5.0 + * Require xserver 1.13rc1 + + -- Maarten Lankhorst <[email protected]> Mon, 16 Jul 2012 15:30:58 +0200 + xserver-xorg-video-cirrus (1:1.4.0-1) unstable; urgency=low * New upstream release: diff --git a/debian/control b/debian/control index d2f1197..cf053c5 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Build-Depends: dh-autoreconf, quilt, pkg-config, - xserver-xorg-dev (>= 2:1.9.4), + xserver-xorg-dev (>= 2:1.12.99.901), x11proto-video-dev, x11proto-core-dev, x11proto-fonts-dev, commit e443ede15981549ff5f6b01f42c3cb8dc909d778 Author: Dave Airlie <[email protected]> Date: Fri Jul 13 14:47:40 2012 +1000 cirrus: handle server with no XAA this fixes cirrus to work with a server with no XAA module. Signed-off-by: Dave Airlie <[email protected]> diff --git a/configure.ac b/configure.ac index 1cc4d93..1157ab1 100644 --- a/configure.ac +++ b/configure.ac @@ -72,6 +72,24 @@ AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[]) AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[]) CPPFLAGS="$SAVE_CPPFLAGS" +AC_ARG_ENABLE(xaa, + AS_HELP_STRING([--enable-xaa], + [Enable legacy X Acceleration Architecture (XAA) [default=auto]]), + [XAA="$enableval"], + [XAA=auto]) +if test "x$XAA" != xno; then + save_CFLAGS=$CFLAGS + save_CPPFLAGS=$CPPFLAGS + CFLAGS=$XORG_CFLAGS + CPPFLAGS="$XORG_CFLAGS" + AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no) + CFLAGS=$save_CFLAGS + CPPFLAGS=$save_CPPFLAGS +fi +AC_MSG_CHECKING([whether to include XAA support]) +AM_CONDITIONAL(XAA, test "x$XAA" = xyes) +AC_MSG_RESULT([$XAA]) + if test "x$XSERVER_LIBPCIACCESS" = xyes; then PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" diff --git a/src/alp.h b/src/alp.h index a182d0c..c09e24b 100644 --- a/src/alp.h +++ b/src/alp.h @@ -40,8 +40,10 @@ typedef struct { } AlpRegRec, *AlpRegPtr; extern Bool AlpHWCursorInit(ScreenPtr pScreen, int size); +#ifdef HAVE_XAA_H extern Bool AlpXAAInit(ScreenPtr pScreen); extern Bool AlpXAAInitMMIO(ScreenPtr pScreen); +#endif extern Bool AlpDGAInit(ScreenPtr pScreen); extern Bool AlpI2CInit(ScrnInfoPtr pScrn); diff --git a/src/alp_driver.c b/src/alp_driver.c index d1300df..e38c613 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -1088,7 +1088,12 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) /* Load XAA if needed */ if (!pCir->NoAccel) { - if (!xf86LoadSubModule(pScrn, "xaa")) { +#ifdef HAVE_XAA_H + if (!xf86LoadSubModule(pScrn, "xaa")) +#else + if (1) +#endif + { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n"); pCir->NoAccel = TRUE; @@ -1096,6 +1101,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) } } -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

