diff options
author | root <root@rshg054.dnsready.net> | 2011-08-30 23:14:43 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-08-30 23:14:43 +0000 |
commit | b82f11fd76e83d60504649838e60a235b394160f (patch) | |
tree | 4914b89dc1dbc3ea44ae87c567ac7e9fc821c529 /staging | |
parent | e13fbaf2cbb72b7e8c8278ea94b70dd4a8ce48b2 (diff) |
Tue Aug 30 23:14:43 UTC 2011
Diffstat (limited to 'staging')
37 files changed, 4917 insertions, 3 deletions
diff --git a/staging/xf86-video-apm/PKGBUILD b/staging/xf86-video-apm/PKGBUILD new file mode 100644 index 000000000..6b2a895c1 --- /dev/null +++ b/staging/xf86-video-apm/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136408 2011-08-29 07:40:55Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-apm +pkgver=1.2.3 +pkgrel=4 +pkgdesc="X.org Alliance ProMotion video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('1fa7180cf985a74132f8d5b39a0bf9df08713fac') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-ark/PKGBUILD b/staging/xf86-video-ark/PKGBUILD new file mode 100644 index 000000000..cc9de161e --- /dev/null +++ b/staging/xf86-video-ark/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136410 2011-08-29 07:45:07Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-ark +pkgver=0.7.3 +pkgrel=4 +pkgdesc="X.org ark video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +sha1sums=('56901ec6097a83433689f208268281f9c98c238b' + 'f62cdc7995e9b64c9105382ccfa842732fa81309') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/git-fixes.patch" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-ark/git-fixes.patch b/staging/xf86-video-ark/git-fixes.patch new file mode 100644 index 000000000..2de0f64be --- /dev/null +++ b/staging/xf86-video-ark/git-fixes.patch @@ -0,0 +1,118 @@ +From 9d3769bed020e9796e51411c63de337da5073bb4 Mon Sep 17 00:00:00 2001 +From: Ondrej Zary <linux@rainbow-software.org> +Date: Sat, 04 Dec 2010 00:23:51 +0000 +Subject: Don't assume that FB address registers are initialized properly + +https://bugs.freedesktop.org/show_bug.cgi?id=28249 + +ark driver does not work with Hercules Stingray 64 card (ark2000pv). +X fails to start with: + +[...] +(II) ark(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is +0x0000 +(II) ark(0): Creating default Display subsection in Screen section + "Default Screen Section" for depth/fbbpp 24/32 +(==) ark(0): Depth 24, (--) framebuffer bpp 32 +(==) ark(0): RGB weight 888 +(==) ark(0): Default visual is TrueColor +(**) ark(0): Chipset: "ark2000pv" +(--) ark(0): Framebuffer @ 0xe5e50000 +(==) ark(0): Using gamma correction (1.0, 1.0, 1.0) +(--) ark(0): Detected 2048 bytes video ram +[...] +Fatal server error: +AddScreen/ScreenInit failed for driver 0 + +Comparing with lspci, the framebuffer address is wrong: +00:0f.0 VGA compatible controller: ARK Logic Inc 2000PV [Stingray] (prog-if 00 [VGA controller]) + Flags: medium devsel + Memory at e5000000 (32-bit, prefetchable) [size=4M] + [virtual] Expansion ROM at 1c000000 [disabled] [size=64K] + +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/ark.h b/src/ark.h +index de301dc..077f93b 100644 +--- a/src/ark.h ++++ b/src/ark.h +@@ -34,7 +34,6 @@ typedef struct _ARKRec { + #endif + EntityInfoPtr pEnt; + CARD32 IOAddress; +- CARD32 FBAddress; + unsigned char * FBBase; + unsigned char * MMIOBase; + unsigned long videoRam; +diff --git a/src/ark_driver.c b/src/ark_driver.c +index 5de3b9a..fec3e1a 100644 +--- a/src/ark_driver.c ++++ b/src/ark_driver.c +@@ -363,14 +363,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags) + outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f); + modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01); + +- /* use membase's later on ??? */ +- pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) + +- (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24); +- +- pScrn->memPhysBase = pARK->FBAddress; ++#ifndef XSERVER_LIBPCIACCESS ++ pScrn->memPhysBase = pARK->PciInfo->memBase[0]; ++#else ++ pScrn->memPhysBase = pARK->PciInfo->regions[0].base_addr; ++#endif + + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n", +- (unsigned long)pARK->FBAddress); ++ (unsigned long)pScrn->memPhysBase); + + if (!xf86SetGamma(pScrn, gzeros)) + return FALSE; +@@ -748,8 +748,13 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + new->sr10 = rdinx(isaIOBase + 0x3c4, 0x10) & ~0x1f; + new->sr10 |= 0x1f; + +- new->sr13 = pARK->FBAddress >> 16; +- new->sr14 = pARK->FBAddress >> 24; ++#ifndef XSERVER_LIBPCIACCESS ++ new->sr13 = pARK->PciInfo->memBase[0] >> 16; ++ new->sr14 = pARK->PciInfo->memBase[0] >> 24; ++#else ++ new->sr13 = pARK->PciInfo->regions[0].base_addr >> 16; ++ new->sr14 = pARK->PciInfo->regions[0].base_addr >> 24; ++#endif + + new->sr12 = rdinx(isaIOBase + 0x3c4, 0x12) & ~0x03; + switch (pScrn->videoRam) { +@@ -1022,7 +1027,7 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn) + pARK->PciTag, 0xb8000, 0x8000); + + pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER, +- pARK->PciTag, pARK->FBAddress, ++ pARK->PciTag, pARK->PciInfo->memBase[0], + pScrn->videoRam * 1024); + #else + +@@ -1032,14 +1037,17 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn) + { + void** result = (void**)&pARK->FBBase; + int err = pci_device_map_range(pARK->PciInfo, +- pARK->FBAddress, ++ pARK->PciInfo->regions[0].base_addr, + pScrn->videoRam * 1024, + PCI_DEV_MAP_FLAG_WRITABLE | + PCI_DEV_MAP_FLAG_WRITE_COMBINE, + result); + +- if (err) ++ if (err) { ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++ "Cound not map framebuffer: %d\n", err); + return FALSE; ++ } + } + #endif + +-- +cgit v0.9.0.2-2-gbebe diff --git a/staging/xf86-video-ast/PKGBUILD b/staging/xf86-video-ast/PKGBUILD new file mode 100644 index 000000000..f2e8c9db6 --- /dev/null +++ b/staging/xf86-video-ast/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136412 2011-08-29 07:50:30Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-ast +pkgver=0.93.9 +pkgrel=1 +pkgdesc="X.org ASPEED AST Graphics video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('424cc93d0300e49a882199c0546425f223b3b4bd') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-ati/PKGBUILD b/staging/xf86-video-ati/PKGBUILD new file mode 100644 index 000000000..1f13fede6 --- /dev/null +++ b/staging/xf86-video-ati/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136416 2011-08-29 08:02:09Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-ati +pkgver=6.14.2 +pkgrel=2 +pkgdesc="X.org ati video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=(libpciaccess libdrm udev pixman ati-dri) +makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'glproto') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('2733b3c126ad9e082ea18b7e7663d6d87fce4d49') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --enable-dri + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make "DESTDIR=${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-chips/PKGBUILD b/staging/xf86-video-chips/PKGBUILD new file mode 100644 index 000000000..597c2ef4e --- /dev/null +++ b/staging/xf86-video-chips/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136418 2011-08-29 08:15:40Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-chips +pkgver=1.2.4 +pkgrel=3 +pkgdesc="X.org Chips and Technologies video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=(glibc) +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + gut-overlay-8-16-support-from-driver.patch) +sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4' + 'f6a635196118dacb73fad980571b390849963b3d') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/gut-overlay-8-16-support-from-driver.patch" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch b/staging/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch new file mode 100644 index 000000000..b9c832238 --- /dev/null +++ b/staging/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch @@ -0,0 +1,580 @@ +From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Tue, 29 Mar 2011 03:53:31 +0000 +Subject: chips: gut the overlay 8/16 support from driver. + +This driver is for chips that were bought by Intel in 1997, +this feature means maintaining a lot of code in the X server +for little gain. + +Drop it like its hot. + +Signed-off-by: Dave Airlie <airlied@redhat.com> +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/man/chips.man b/man/chips.man +index 740af38..0c022ee 100644 +--- a/man/chips.man ++++ b/man/chips.man +@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off + Force driver to leave centering and stretching registers alone. This + can fix some laptop suspend/resume problems. Default: off + .TP +-.BI "Option \*qOverlay\*q" +-Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. +-.TP + .BI "Option \*qColorKey\*q \*q" integer \*q + Set the colormap index used for the transparency key for the depth 8 plane + when operating in 8+16 overlay mode. The value must be in the range +diff --git a/src/ct_accel.c b/src/ct_accel.c +index 3920b0a..4b5776a 100644 +--- a/src/ct_accel.c ++++ b/src/ct_accel.c +@@ -428,19 +428,7 @@ chips_imagewrite: + infoPtr->ImageWriteFlags |= NO_PLANEMASK; + #endif + +- +-#ifdef CHIPS_HIQV +- if (XAAInit(pScreen, infoPtr)) { +- if (cPtr->Flags & ChipsOverlay8plus16) +- return(XAAInitDualFramebufferOverlay(pScreen, +- CTNAME(DepthChange))); +- else +- return TRUE; +- } else +- return FALSE; +-#else + return(XAAInit(pScreen, infoPtr)); +-#endif + } + + #ifdef CHIPS_HIQV +@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn, + #endif + w *= cAcl->BytesPerPixel; + ctBLTWAIT; +-#ifdef CHIPS_HIQV +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) && +- (pScrn->depth == 8)) +- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes); +-#endif + ctSETSRCADDR(srcaddr); + ctSETDSTADDR(destaddr); + #ifdef CHIPS_HIQV +@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + patternaddr = (paty * pScrn->displayWidth + + (patx & ~0x3F)) * cAcl->BytesPerPixel; + cAcl->patternyrot = (patx & 0x3F) >> 3; +-#ifdef CHIPS_HIQV +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr += cPtr->FbOffset16; +-#endif + + ctBLTWAIT; + ctSETPATSRCADDR(patternaddr); +@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + + #ifdef CHIPS_HIQV + patternaddr = paty * pScrn->displayWidth + patx; +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr = patternaddr * 2 + cPtr->FbOffset16; +- else +- patternaddr *= cAcl->BytesPerPixel; ++ patternaddr *= cAcl->BytesPerPixel; + #else + patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel; + #endif +@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2; + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + destpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + +@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + y++; + + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETDSTADDR(destaddr); +@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + srcpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM | +@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dst += dstwidth; + y++; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + ctBLTWAIT; + ctSETSRCADDR(srcaddr); + ctSETHEIGHTWIDTHGO(h, bytesPerLine); +diff --git a/src/ct_driver.c b/src/ct_driver.c +index 6624b79..08df050 100644 +--- a/src/ct_driver.c ++++ b/src/ct_driver.c +@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + } + } + +- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) { +- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) { +- if (pScrn->bitsPerPixel == 16) { +- if (cPtr->Flags & ChipsLinearSupport) { +- cPtr->Flags |= ChipsOverlay8plus16; +- if(!xf86GetOptValInteger( +- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey))) +- pScrn->colorKey = TRANSPARENCY_KEY; +- pScrn->overlayFlags = OVERLAY_8_16_DUALFB; +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "PseudoColor overlay enabled.\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"Stretch\" \"ON\".\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"LcdCenter\" \"OFF\".\n"); +- if (cPtr->Flags & ChipsShadowFB) { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Disabling \"Shadow Framebuffer\".\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " Not support with option \"8Plus16\".\n"); +- cPtr->Flags &= ~ChipsShadowFB; +- cPtr->Rotate = 0; +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "Option \"Overlay\" is not supported in this configuration\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "\"%s\" is not a valid value for Option \"Overlay\"\n", s); +- } +- } +- +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, +- &(cPtr->videoKey))) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", ++ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, ++ &(cPtr->videoKey))) { ++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", + cPtr->videoKey); +- } else { +- cPtr->videoKey = (1 << pScrn->offset.red) | ++ } else { ++ cPtr->videoKey = (1 << pScrn->offset.red) | + (1 << pScrn->offset.green) | + (((pScrn->mask.blue >> pScrn->offset.blue) - 1) + << pScrn->offset.blue); +- } + } + + if (cPtr->Flags & ChipsShadowFB) { +@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + /* and 32bits on the others. Thus multiply by a suitable factor */ + if (cPtr->Flags & Chips64BitMemory) { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / bytesPerPixel); + } else { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / bytesPerPixel); + } +@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags) + /* Should we re-save the text mode on each VT enter? */ + if(!chipsModeInit(pScrn, pScrn->currentMode)) + return FALSE; +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) + CHIPSResetVideo(pScrn); + +@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, + int i, index, shift ; + CHIPSEntPtr cPtrEnt; + +- shift = ((pScrn->depth == 15) && +- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0; ++ shift = (pScrn->depth == 15) ? 3 : 0; + + if (cPtr->UseDualChannel) { + cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0], +@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices, + hwp->disablePalette(hwp); + } + +-static Bool +-cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, +- int xsize, int ysize, int dpix, int dpiy, +- int width16, int width8) +-{ +- return +- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8) && +- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8, 16, 8)); +-} +- + /* Mandatory */ + static Bool + CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) +@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!chipsMapMem(pScrn)) + return FALSE; + +- /* Setup a pointer to the overlay if needed */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY; +- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY; +- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Too little memory for overlay. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Max overlay Width/Height 1024 pixels. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- } +- + /* Setup the MMIO register access functions if need */ + if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) { + CHIPSSetMmioExtFuncs(cPtr); +@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + miClearVisualTypes(); + + /* Setup the visuals we support. */ +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){ +- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask, +- pScrn->rgbBits, PseudoColor)) +- return FALSE; +- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor)) +- return FALSE; +- } else { +- if (!miSetVisualTypes(pScrn->depth, ++ if (!miSetVisualTypes(pScrn->depth, + miGetDefaultVisualMask(pScrn->depth), + pScrn->rgbBits, pScrn->defaultVisual)) +- return FALSE; +- } ++ return FALSE; + miSetPixmapDepths (); + + /* +@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + break; + #endif + case 16: +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart + +- cPtr->FbOffset16, FBStart, width, +- height, pScrn->xDpi, pScrn->yDpi, +- displayWidth, displayWidth); +- break; +- } + default: + ret = fbScreenInit(pScreen, FBStart, + width,height, +@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (pScrn->bitsPerPixel < 8) + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY / 2; +- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) +- freespace = allocatebase - pScrn->displayWidth * +- pScrn->virtualY - cPtr->FbSize16; + else + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY * (pScrn->bitsPerPixel >> 3); +@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + AvailFBArea.y2 = cAcl->CacheEnd / + (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); + +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- xf86InitFBManager(pScreen, &AvailFBArea); +- } ++ xf86InitFBManager(pScreen, &AvailFBArea); + } + if (cPtr->Flags & ChipsAccelSupport) { + if (IS_HiQV(cPtr)) { +@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!miCreateDefColormap(pScreen)) + return FALSE; + +- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette, +- NULL, CMAP_RELOAD_ON_MODE_SWITCH)) +- return FALSE; +- } else { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, ++ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, + (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette), + NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) +- return FALSE; +- } ++ return FALSE; + + #ifndef XSERVER_LIBPCIACCESS + racflag = RAC_COLORMAP; +@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + xf86SetSilkenMouse(pScreen); + #endif + +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) { + CHIPSInitVideo(pScreen); + } +@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + Base >>= 3; + break; + case 16: +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- Base >>= 1; +- else +- Base >>= 2; ++ Base >>= 1; + break; + case 24: + if (!IS_HiQV(cPtr)) +@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + cPtr->writeMSS(cPtr, hwp, MSS); + } + +- if (cPtr->Flags & ChipsOverlay8plus16) { +- Base = (Base << 3) & ~(unsigned long)0xF; +- +- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8); +- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF); +- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF); +- } +- + } + + /* Mandatory */ +@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) + ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + CHIPSPtr cPtr = CHIPSPTR(pScrn); + +- if (flags & MODECHECK_FINAL) { +- /* Don't subtract FrambufferSize here as it should be subtracted already */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY +- < 0)) +- return MODE_MEM; +- } + /* The tests here need to be expanded */ + if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD)) + return MODE_NO_INTERLACE; +@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } else { + ChipsStd->Attribute[0x10] = 0x01; /* mode */ + } +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) { +- /* Make sure that the overlay isn't visible in the overscan region */ +- if (ChipsStd->Attribute[0x11] == pScrn->colorKey) +- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1; +- } else +- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ ++ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ + ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */ + ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */ + +@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* set virtual screen width */ + tmp = pScrn->displayWidth >> 3; + if (pScrn->bitsPerPixel == 16) { +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- tmp <<= 1; /* double the width of the buffer */ ++ tmp <<= 1; /* double the width of the buffer */ + } else if (pScrn->bitsPerPixel == 24) { + tmp += tmp << 1; + } else if (pScrn->bitsPerPixel == 32) { +@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + + /* centering/stretching */ + if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) { +- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) || +- (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) { + ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */ + ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */ + ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */ +@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + +- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) +- || (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) { + ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */ + ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */ + } else { +@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + ChipsNew->XR[0x82] |=0x02; + + /* software mode flag */ +- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ? +- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ? ++ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ? + min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) : + mode->CrtcHDisplay, mode->CrtcVDisplay); + #ifdef DEBUG +@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + /* bpp depend */ +- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) { ++ if (pScrn->bitsPerPixel == 16) { + ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4; + if (cPtr->Flags & ChipsGammaSupport) + ChipsNew->XR[0x82] |= 0x0C; +@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* Turn off multimedia by default as it degrades performance */ + ChipsNew->XR[0xD0] &= 0x0f; + +- /* Setup the video/overlay */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ +-#ifdef SAR04 +- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */ +-#endif +- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */ +- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE)) +- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */ +- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */ +- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */ +- if (pScrn->weight.green == 5) +- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */ +- +- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */ +- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */ +- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */ +- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */ +- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */ +- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1; +- +- /* Left Edge of Overlay */ +- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX; +- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7); +- /* Right Edge of Overlay */ +- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) & 0xFF; +- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) >> 8) & 0x07; +- /* Top Edge of Overlay */ +- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY; +- ChipsNew->MR[0x2F] &= 0xF8; +- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7); +- /* Bottom Edge of Overlay*/ +- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF; +- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY - +- 1 ) >> 8) & 0x07; +- +- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */ +- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */ +- ChipsNew->MR[0x3D] = 0x00; +- ChipsNew->MR[0x3E] = 0x00; +- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */ +- ChipsNew->MR[0x40] = 0xFF; +- ChipsNew->MR[0x41] = 0xFF; +- ChipsNew->MR[0x42] = 0x00; +- } else if (cPtr->Flags & ChipsVideoSupport) { ++ if (cPtr->Flags & ChipsVideoSupport) { + #if 0 /* if we do this even though video isn't playing we kill performance */ + ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ + #endif +@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs) + } + + /* Set SAR04 multimedia register correctly */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- || (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + #ifdef SAR04 + cPtr->writeXR(cPtr, 0x4E, 0x04); + if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F]) +diff --git a/src/ct_driver.h b/src/ct_driver.h +index d8ce228..10a24d4 100644 +--- a/src/ct_driver.h ++++ b/src/ct_driver.h +@@ -114,7 +114,6 @@ typedef struct { + /* Options flags for the C&T chipsets */ + #define ChipsHWCursor 0x00001000 + #define ChipsShadowFB 0x00002000 +-#define ChipsOverlay8plus16 0x00004000 + #define ChipsUseNewFB 0x00008000 + + /* Architecture type flags */ +diff --git a/src/ct_video.c b/src/ct_video.c +index a68acb9..c9e5bb4 100644 +--- a/src/ct_video.c ++++ b/src/ct_video.c +@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen) + CHIPSPtr cPtr = CHIPSPTR(pScrn); + int num_adaptors; + +- if (!(cPtr->Flags & ChipsOverlay8plus16) && +- (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + newAdaptor = CHIPSSetupImageVideo(pScreen); + CHIPSInitOffscreenImages(pScreen); + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/staging/xf86-video-neomagic/PKGBUILD b/staging/xf86-video-neomagic/PKGBUILD new file mode 100644 index 000000000..33637f4a0 --- /dev/null +++ b/staging/xf86-video-neomagic/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136420 2011-08-29 08:17:07Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-neomagic +pkgver=1.2.5 +pkgrel=5 +pkgdesc="X.org neomagic video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-nouveau/PKGBUILD b/staging/xf86-video-nouveau/PKGBUILD new file mode 100644 index 000000000..eb970fd63 --- /dev/null +++ b/staging/xf86-video-nouveau/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 136432 2011-08-29 08:59:19Z ibiru $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: buddabrod <buddabrod@gmail.com> + +pkgname=xf86-video-nouveau +_gitdate=20110829 +pkgver=0.0.16_git${_gitdate} # see configure.ac +pkgrel=1 +pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)" +arch=('i686' 'x86_64') +url="http://nouveau.freedesktop.org/wiki/" +license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e +depends=('libdrm' 'udev') +optdepends=('nouveau-dri: experimental gallium3d features') +makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +install=${pkgname}.install +source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2) +md5sums=('8f484f6602a3711f4adfbce74fd886c1') + +# source PKGBUILD && mksource +mksource() { + mkdir /tmp/${pkgname}-${_gitdate} + pushd /tmp/${pkgname}-${_gitdate} + git clone -v --depth 1 git://anongit.freedesktop.org/nouveau/xf86-video-nouveau + cd xf86-video-nouveau + git archive --prefix=xf86-video-nouveau-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2 + popd +} + +build() { + cd ${srcdir}/xf86-video-nouveau-${_gitdate} + ./autogen.sh --prefix=/usr + make +} + +package() { + cd ${srcdir}/xf86-video-nouveau-${_gitdate} + make DESTDIR=${pkgdir} install +} diff --git a/staging/xf86-video-nouveau/xf86-video-nouveau.install b/staging/xf86-video-nouveau/xf86-video-nouveau.install new file mode 100644 index 000000000..027154ff3 --- /dev/null +++ b/staging/xf86-video-nouveau/xf86-video-nouveau.install @@ -0,0 +1,16 @@ +post_install () { + cat << _EOF + ==> make sure you use KernelModeSetting (KMS) + ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more +_EOF +} + +post_upgrade() { + if [ "`vercmp $2 0.0.15_git20100117-1`" -lt 0 ]; then + cat << _EOF + ==> ATTENTION: Usermode support has been dropped + ==> make sure you use KernelModeSetting (KMS) + ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more +_EOF + fi +} diff --git a/staging/xf86-video-nv/PKGBUILD b/staging/xf86-video-nv/PKGBUILD new file mode 100644 index 000000000..c752fe8b2 --- /dev/null +++ b/staging/xf86-video-nv/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 136430 2011-08-29 08:54:52Z jgc $ +# Maintainer:Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-nv +pkgver=2.1.18 +pkgrel=4 +pkgdesc="X.org nv video driver" +arch=(i686 x86_64) +license=('custom') +url="http://xorg.freedesktop.org/" +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('d35b2fa5a26a507a9cc95b69243d9fd0c0f32aa2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-openchrome/PKGBUILD b/staging/xf86-video-openchrome/PKGBUILD new file mode 100644 index 000000000..10153833b --- /dev/null +++ b/staging/xf86-video-openchrome/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 136434 2011-08-29 09:20:09Z jgc $ +# Contributor: Paul Mattal <paul@mattal.com> +# Maintainer: Juergen Hoetzel <juergen@hoetzel.info> + +pkgname=xf86-video-openchrome +pkgver=0.2.904 +_svnver=r933 +pkgrel=6 +pkgdesc="X.Org Openchrome drivers" +arch=(i686 x86_64) +license=('custom') +url="http://www.openchrome.org" +depends=('libdrm' 'libxvmc' 'unichrome-dri') +makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto') +replaces=('openchrome' 'xf86-video-via') +options=('!libtool' '!makeflags') +conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.0') +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-${_svnver}.tar.bz2) +md5sums=('d661460276a31d3d012d8cdb1a0a73c1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-r128/PKGBUILD b/staging/xf86-video-r128/PKGBUILD new file mode 100644 index 000000000..214c11051 --- /dev/null +++ b/staging/xf86-video-r128/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 136428 2011-08-29 08:48:55Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-r128 +pkgver=6.8.1 +pkgrel=7 +pkgdesc="X.org ati Rage128 video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc' 'r128-dri') +makedepends=('xorg-server-devel>=1.11.0' 'xf86driproto' 'libdrm' 'mesa' 'glproto') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +md5sums=('2b90854a62a4d45d652062f582dc8d13' + '3937776d4427861d0797e47119ac327d') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/git-fixes.patch" + + autoreconf -fi + ./configure --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-r128/git-fixes.patch b/staging/xf86-video-r128/git-fixes.patch new file mode 100644 index 000000000..933e8fb2a --- /dev/null +++ b/staging/xf86-video-r128/git-fixes.patch @@ -0,0 +1,842 @@ +diff --git a/COPYING b/COPYING +index 7f33cbf..05bcb74 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,12 +1,91 @@ +-This is a stub file. This package has not yet had its complete licensing +-information compiled. Please see the individual source files for details on +-your rights to use and modify this software. ++Copyright 2007 George Sapountzis + +-Please submit updated COPYING files to the Xorg bugzilla: ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: + +-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. + +-All licensing questions regarding this software should be directed at the +-Xorg mailing list: ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. ++ ++Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, ++ Precision Insight, Inc., Cedar Park, Texas, and ++ VA Linux Systems Inc., Fremont, California. ++ ++All Rights Reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation on the rights to use, copy, modify, merge, ++publish, distribute, sublicense, and/or sell copies of the Software, ++and to permit persons to whom the Software is furnished to do so, ++subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the ++next paragraph) shall be included in all copies or substantial ++portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX ++SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++OTHER DEALINGS IN THE SOFTWARE. ++ ++Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. ++Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. ++All Rights Reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++DEALINGS IN THE SOFTWARE. ++ ++Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org ++ ++Permission to use, copy, modify, distribute, and sell this software and its ++documentation for any purpose is hereby granted without fee, provided that ++the above copyright notice appear in all copies and that both that copyright ++notice and this permission notice appear in supporting documentation, and ++that the name of Marc Aurele La France not be used in advertising or ++publicity pertaining to distribution of the software without specific, ++written prior permission. Marc Aurele La France makes no representations ++about the suitability of this software for any purpose. It is provided ++"as-is" without express or implied warranty. ++ ++MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO ++EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++PERFORMANCE OF THIS SOFTWARE. + +-http://lists.freedesktop.org/mailman/listinfo/xorg +diff --git a/Makefile.am b/Makefile.am +index 1f4c3c4..4c278ba 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,21 +18,15 @@ + # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-AUTOMAKE_OPTIONS = foreign + SUBDIRS = src man ++MAINTAINERCLEANFILES = ChangeLog INSTALL + +-if BUILD_LINUXDOC +-README.r128: README.r128.sgml +- $(MAKE_TEXT) README.r128.sgml && mv README.r128.txt README.r128 ++.PHONY: ChangeLog INSTALL + +-endif +- +-EXTRA_DIST = README.r128 README.r128.sgml ChangeLog +-CLEANFILES = ChangeLog +- +-.PHONY: ChangeLog ++INSTALL: ++ $(INSTALL_CMD) + + ChangeLog: + $(CHANGELOG_CMD) + +-dist-hook: ChangeLog ++dist-hook: ChangeLog INSTALL +diff --git a/README b/README +index cb61870..5c6f59d 100644 +--- a/README ++++ b/README +@@ -1,4 +1,161 @@ +-xf86-video-r128 - ATI Rage 128 video driver for the Xorg X server ++ Information for ATI Rage 128 Users ++ Precision Insight, Inc., SuSE GmbH ++ 13 June 2000 ++ ____________________________________________________________ ++ ++ Table of Contents ++ ++ ++ 1. Supported Hardware ++ 2. Features ++ 3. Technical Notes ++ 4. Reported Working Video Cards ++ 5. Configuration ++ 6. Driver Options ++ 7. Known Limitations ++ 8. Authors ++ ++ ++ ______________________________________________________________________ ++ ++ 1. Supported Hardware ++ ++ ++ o ATI Rage 128 based cards ++ ++ ++ ++ 2. Features ++ ++ ++ o Full support (including hardware accelerated 2D drawing) for 8, 15, ++ 16, 24 bit pixel depths. ++ ++ o Hardware cursor support to reduce sprite flicker. ++ ++ o Support for high resolution video modes up to 1800x1440 @ 70Hz. ++ ++ o Support for doublescan video modes (e.g., 320x200 and 320x240). ++ ++ o Support for gamma correction at all pixel depths. ++ ++ o Fully programmable clock supported. ++ ++ o Robust text mode restore for VT switching. ++ ++ ++ ++ 3. Technical Notes ++ ++ ++ o None ++ ++ ++ ++ 4. Reported Working Video Cards ++ ++ ++ o Rage Fury AGP 32MB ++ ++ o XPERT 128 AGP 16MB ++ ++ o XPERT 99 AGP 8MB ++ ++ ++ ++ 5. Configuration ++ ++ The driver auto-detects all device information necessary to initialize ++ the card. The only lines you need in the "Device" section of your ++ xorg.conf file are: ++ ++ Section "Device" ++ Identifier "Rage 128" ++ Driver "r128" ++ EndSection ++ ++ ++ or let xorgconfig do this for you. ++ ++ However, if you have problems with auto-detection, you can specify: ++ ++ o VideoRam - in kilobytes ++ ++ o MemBase - physical address of the linear framebuffer ++ ++ o IOBase - physical address of the memory mapped IO registers ++ ++ o ChipID - PCI DEVICE ID ++ ++ ++ ++ 6. Driver Options ++ ++ ++ o "hw_cursor" - request hardware cursor (default) ++ ++ o "sw_cursor" - software cursor only ++ ++ o "no_accel" - software rendering only ++ ++ o "dac_8_bit" - use color weight 888 in 8 bpp mode (default) ++ ++ o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation) ++ ++ ++ ++ 7. Known Limitations ++ ++ ++ o None ++ ++ ++ ++ 8. Authors ++ ++ The X11R7.5 driver was originally part of XFree86 4.4 rc2. ++ ++ The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: ++ ++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com> ++ ++ o Kevin E. Martin <mailto:kevin@precisioninsight.com> ++ ++ The XFree86 4 driver was funded by ATI and was donated to The XFree86 ++ Project by: ++ ++ Precision Insight, Inc. ++ Cedar Park, TX ++ USA ++ ++ ++ The XFree86 3.3.x driver used for the port was written by: ++ ++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com> ++ ++ o Kevin E. Martin <mailto:kevin@precisioninsight.com> ++ ++ The XFree86 3.3.x driver was funded by ATI and was donated to The ++ XFree86 Project by Precision Insight, Inc. It was based in part on ++ an earlier driver that was written by: ++ ++ o Alan Hourihane <mailto:alanh@fairlite.demon.co.uk> ++ ++ o Dirk Hohndel <mailto:hohndel@suse.de> ++ ++ This early driver was funded and donated to The XFree86 Project by: ++ ++ SuSE GmbH ++ Schanzaekerstr. 10 ++ 90443 Nuernberg ++ Germany ++ ++ ++ ++ http://www.precisioninsight.com ++ ++ http://www.suse.com ++ + + Please submit bugs & patches to the Xorg bugzilla: + +diff --git a/README.r128 b/README.r128 +deleted file mode 100644 +index dcc2715..0000000 +--- a/README.r128 ++++ /dev/null +@@ -1,160 +0,0 @@ +- Information for ATI Rage 128 Users +- Precision Insight, Inc., SuSE GmbH +- 13 June 2000 +- ____________________________________________________________ +- +- Table of Contents +- +- +- 1. Supported Hardware +- 2. Features +- 3. Technical Notes +- 4. Reported Working Video Cards +- 5. Configuration +- 6. Driver Options +- 7. Known Limitations +- 8. Authors +- +- +- ______________________________________________________________________ +- +- [1m1. Supported Hardware[0m +- +- +- +o ATI Rage 128 based cards +- +- +- +- [1m2. Features[0m +- +- +- +o Full support (including hardware accelerated 2D drawing) for 8, 15, +- 16, 24 bit pixel depths. +- +- +o Hardware cursor support to reduce sprite flicker. +- +- +o Support for high resolution video modes up to 1800x1440 @ 70Hz. +- +- +o Support for doublescan video modes (e.g., 320x200 and 320x240). +- +- +o Support for gamma correction at all pixel depths. +- +- +o Fully programmable clock supported. +- +- +o Robust text mode restore for VT switching. +- +- +- +- [1m3. Technical Notes[0m +- +- +- +o None +- +- +- +- [1m4. Reported Working Video Cards[0m +- +- +- +o Rage Fury AGP 32MB +- +- +o XPERT 128 AGP 16MB +- +- +o XPERT 99 AGP 8MB +- +- +- +- [1m5. Configuration[0m +- +- The driver auto-detects all device information necessary to initialize +- the card. The only lines you need in the "Device" section of your +- xorg.conf file are: +- +- Section "Device" +- Identifier "Rage 128" +- Driver "r128" +- EndSection +- +- +- or let xorgconfig do this for you. +- +- However, if you have problems with auto-detection, you can specify: +- +- +o VideoRam - in kilobytes +- +- +o MemBase - physical address of the linear framebuffer +- +- +o IOBase - physical address of the memory mapped IO registers +- +- +o ChipID - PCI DEVICE ID +- +- +- +- [1m6. Driver Options[0m +- +- +- +o "hw_cursor" - request hardware cursor (default) +- +- +o "sw_cursor" - software cursor only +- +- +o "no_accel" - software rendering only +- +- +o "dac_8_bit" - use color weight 888 in 8 bpp mode (default) +- +- +o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation) +- +- +- +- [1m7. Known Limitations[0m +- +- +- +o None +- +- +- +- [1m8. Authors[0m +- +- The X11R6.8 driver was originally part of XFree86 4.4 rc2. +- +- The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: +- +- +o Rickard E. (Rik) Faith <faith@precisioninsight.com> +- +- +o Kevin E. Martin <kevin@precisioninsight.com> +- +- The XFree86 4 driver was funded by ATI and was donated to The XFree86 +- Project by: +- +- Precision Insight, Inc. +- Cedar Park, TX +- USA +- +- +- The XFree86 3.3.x driver used for the port was written by: +- +- +o Rickard E. (Rik) Faith <faith@precisioninsight.com> +- +- +o Kevin E. Martin <kevin@precisioninsight.com> +- +- The XFree86 3.3.x driver was funded by ATI and was donated to The +- XFree86 Project by Precision Insight, Inc. It was based in part on +- an earlier driver that was written by: +- +- +o Alan Hourihane <alanh@fairlite.demon.co.uk> +- +- +o Dirk Hohndel <hohndel@suse.de> +- +- This early driver was funded and donated to The XFree86 Project by: +- +- SuSE GmbH +- Schanzaekerstr. 10 +- 90443 Nuernberg +- Germany +- +- +- +- http://www.precisioninsight.com +- +- http://www.suse.com +- +- +- +diff --git a/README.r128.sgml b/README.r128.sgml +deleted file mode 100644 +index 8d7f448..0000000 +--- a/README.r128.sgml ++++ /dev/null +@@ -1,138 +0,0 @@ +-<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN"[ +-<!ENTITY % defs SYSTEM "defs.ent"> %defs; +-]> +- +-<article> +-<title>Information for ATI Rage 128 Users +-<author>Precision Insight, Inc., SuSE GmbH +-<date>13 June 2000 +- +-<ident> +-</ident> +- +-<toc> +- +-<sect>Supported Hardware +-<p> +-<itemize> +- <item>ATI Rage 128 based cards +-</itemize> +- +- +-<sect>Features +-<p> +-<itemize> +- <item>Full support (including hardware accelerated 2D drawing) for 8, 15, +- 16, 24 bit pixel depths. +- <item>Hardware cursor support to reduce sprite flicker. +- <item>Support for high resolution video modes up to 1800x1440 @ 70Hz. +- <item>Support for doublescan video modes (e.g., 320x200 and 320x240). +- <item>Support for gamma correction at all pixel depths. +- <item>Fully programmable clock supported. +- <item>Robust text mode restore for VT switching. +-</itemize> +- +- +-<sect>Technical Notes +-<p> +-<itemize> +- <item>None +-</itemize> +- +- +-<sect>Reported Working Video Cards +-<p> +-<itemize> +- <item>Rage Fury AGP 32MB +- <item>XPERT 128 AGP 16MB +- <item>XPERT 99 AGP 8MB +-</itemize> +- +- +-<sect>Configuration +-<p> +-The driver auto-detects all device information necessary to +-initialize the card. The only lines you need in the "Device" +-section of your xorg.conf file are: +-<verb> +- Section "Device" +- Identifier "Rage 128" +- Driver "r128" +- EndSection +-</verb> +-or let <tt>xorgconfig</tt> do this for you. +- +-However, if you have problems with auto-detection, you can specify: +-<itemize> +- <item>VideoRam - in kilobytes +- <item>MemBase - physical address of the linear framebuffer +- <item>IOBase - physical address of the memory mapped IO registers +- <item>ChipID - PCI DEVICE ID +-</itemize> +- +- +-<sect>Driver Options +-<p> +-<itemize> +- <item>"hw_cursor" - request hardware cursor (default) +- <item>"sw_cursor" - software cursor only +- <item>"no_accel" - software rendering only +- <item>"dac_8_bit" - use color weight 888 in 8 bpp mode (default) +- <item>"dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation) +-</itemize> +- +- +-<sect>Known Limitations +-<p> +-<itemize> +- <item>None +-</itemize> +- +- +-<sect>Authors +-<p> +-The X11R&relvers; driver was originally part of XFree86 4.4 rc2. +- +-The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: +-<itemize> +- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email> +- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email> +-</itemize> +-<p> +-The XFree86 4 driver was funded by ATI and was donated to The XFree86 +-Project by: +-<verb> +- Precision Insight, Inc. +- Cedar Park, TX +- USA +-</verb> +-<p> +-The XFree86 3.3.x driver used for the port was written by: +-<itemize> +- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email> +- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email> +-</itemize> +-The XFree86 3.3.x driver was funded by ATI and was donated to The XFree86 +-Project by Precision Insight, Inc. It was based in part on an earlier +-driver that was written by: +-<itemize> +- <item>Alan Hourihane <email>alanh@fairlite.demon.co.uk</email> +- <item>Dirk Hohndel <email>hohndel@suse.de</email> +-</itemize> +-<p>This early driver was funded and donated to The XFree86 Project by: +-<verb> +- SuSE GmbH +- Schanzaekerstr. 10 +- 90443 Nuernberg +- Germany +-</verb> +- +-<p> +-<htmlurl name="http://www.precisioninsight.com" +- url="http://www.precisioninsight.com"> +-<p> +-<htmlurl name="http://www.suse.com" +- url="http://www.suse.com"> +- +- +-</article> +diff --git a/configure.ac b/configure.ac +index 4e0f463..d5a0821 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,28 +20,30 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-r128], +- 6.8.1, ++ [6.8.1], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-r128) +- ++ [xf86-video-r128]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + +-AM_INIT_AUTOMAKE([dist-bzip2]) ++# Initialize Automake ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + +-# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG +-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.2) ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS ++m4_ifndef([XORG_MACROS_VERSION], ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) ++XORG_DEFAULT_OPTIONS + + AM_MAINTAINER_MODE + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + if test "x$GCC" = "xyes"; then + CPPFLAGS="$CPPFLAGS -Wall" +@@ -49,38 +51,35 @@ fi + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], ++AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], + [Disable DRI support [[default=auto]]]), + [DRI="$enableval"], + [DRI=auto]) + +-# Checks for extensions +-XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), + HAVE_XEXTPROTO_71="no") + AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) +-sdkdir=$(pkg-config --variable=sdkdir xorg-server) ++sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- + if test "$DRI" != no; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) +@@ -126,26 +125,20 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-AC_SUBST([XORG_CFLAGS]) +-AC_SUBST([DRI_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=r128 + AC_SUBST([DRIVER_NAME]) + +-XORG_MANPAGE_SECTIONS +-XORG_RELEASE_VERSION +-XORG_CHECK_LINUXDOC +-XORG_CHANGELOG +- + AC_MSG_NOTICE( + [Please change the Driver line in xorg.conf from "ati" to "r128" or install] + [the ati wrapper as well:] + [ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati] + ) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 858ba62..4e22d61 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,27 +1,24 @@ + # + # Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. + # + + drivermandir = $(DRIVER_MAN_DIR) +@@ -34,25 +31,11 @@ EXTRA_DIST = r128.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/r128.man b/man/r128.man +index 5c7c4fe..4ba933d 100644 +--- a/man/r128.man ++++ b/man/r128.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.man,v 1.3 2001/06/01 02:10:05 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH R128 __drivermansuffix__ __vendorversion__ +diff --git a/src/r128_driver.c b/src/r128_driver.c +index d6448b6..9d08d77 100644 +--- a/src/r128_driver.c ++++ b/src/r128_driver.c +@@ -938,14 +938,6 @@ static Bool R128PreInitConfig(ScrnInfoPtr pScrn) + /* BIOS */ + from = X_PROBED; + info->BIOSAddr = info->PciInfo->biosBase & 0xfffe0000; +- if (dev->BiosBase) { +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, +- "BIOS address override, using 0x%08lx instead of 0x%08lx\n", +- dev->BiosBase, +- info->BIOSAddr); +- info->BIOSAddr = dev->BiosBase; +- from = X_CONFIG; +- } + if (info->BIOSAddr) { + xf86DrvMsg(pScrn->scrnIndex, from, + "BIOS at 0x%08lx\n", info->BIOSAddr); diff --git a/staging/xf86-video-rendition/PKGBUILD b/staging/xf86-video-rendition/PKGBUILD new file mode 100644 index 000000000..703577317 --- /dev/null +++ b/staging/xf86-video-rendition/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 136426 2011-08-29 08:41:36Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-rendition +pkgver=4.2.4 +pkgrel=5 +pkgdesc="X.org Rendition video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool' '!strip') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + + strip --strip-unneeded "${pkgdir}/usr/lib/xorg/modules/drivers/rendition_drv.so" +} diff --git a/staging/xf86-video-s3/LICENSE b/staging/xf86-video-s3/LICENSE new file mode 100644 index 000000000..a4c8d5dd4 --- /dev/null +++ b/staging/xf86-video-s3/LICENSE @@ -0,0 +1,25 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + + Copyright 2001 Ani Joshi <ajoshi@unixbox.com> + + XFree86 4.x driver for S3 chipsets + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation and +that the name of Ani Joshi not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. Ani Joshi makes no representations +about the suitability of this software for any purpose. It is provided +"as-is" without express or implied warranty. + +ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/staging/xf86-video-s3/PKGBUILD b/staging/xf86-video-s3/PKGBUILD new file mode 100644 index 000000000..943a07d97 --- /dev/null +++ b/staging/xf86-video-s3/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136424 2011-08-29 08:32:45Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-s3 +pkgver=0.6.3 +pkgrel=6 +pkgdesc="X.org S3 video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +md5sums=('5eb06d88533fb327d067928faeb20860' + '77a455ce7e254c73b1cbd408c7f4ecf4') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/git-fixes.patch" + autoreconf -fi + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/staging/xf86-video-s3/git-fixes.patch b/staging/xf86-video-s3/git-fixes.patch new file mode 100644 index 000000000..712b3c9c0 --- /dev/null +++ b/staging/xf86-video-s3/git-fixes.patch @@ -0,0 +1,458 @@ +diff --git a/COPYING b/COPYING +index 7f33cbf..458ab5f 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,12 +1,70 @@ +-This is a stub file. This package has not yet had its complete licensing +-information compiled. Please see the individual source files for details on +-your rights to use and modify this software. ++ Copyright 2001 Ani Joshi <ajoshi@unixbox.com> + +-Please submit updated COPYING files to the Xorg bugzilla: ++ XFree86 4.x driver for S3 chipsets + +-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg + +-All licensing questions regarding this software should be directed at the +-Xorg mailing list: ++Permission to use, copy, modify, distribute, and sell this software and its ++documentation for any purpose is hereby granted without fee, provided that ++the above copyright notice appear in all copies and that both that copyright ++notice and this permission notice appear in supporting documentation and ++that the name of Ani Joshi not be used in advertising or ++publicity pertaining to distribution of the software without specific, ++written prior permission. Ani Joshi makes no representations ++about the suitability of this software for any purpose. It is provided ++"as-is" without express or implied warranty. ++ ++ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++PERFORMANCE OF THIS SOFTWARE. ++Copyright 2007 George Sapountzis ++ ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. ++ ++Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy of ++this software and associated documentation files (the "Software"), to deal in ++the Software without restriction, including without limitation the rights to ++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ++of the Software, and to permit persons to whom the Software is furnished to do ++so, subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all ++copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- ++NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++Except as contained in this notice, the name of the XFree86 Project shall not ++be used in advertising or otherwise to promote the sale, use or other dealings ++in this Software without prior written authorization from the XFree86 Project. ++ ++ ++Copyright 1995-1997 The XFree86 Project, Inc. ++Copyright (c) 1999,2000 The XFree86 Project Inc. + +-http://lists.freedesktop.org/mailman/listinfo/xorg +diff --git a/ChangeLog b/ChangeLog +deleted file mode 100644 +index ad0b227..0000000 +--- a/ChangeLog ++++ /dev/null +@@ -1,133 +0,0 @@ +-2009-06-25 Evgeny M. zubok <evgeny.zubok@tochka.ru> +- +- * src/s3_driver.c: +- Revert the old behaviour when the BIOS settings are used for +- intialization of DRAM/VRAM timings, i. e. we don't touch the +- timings during initialization phase until any memory option (like +- slow_edodram) is specified. +- +- Add manual page. +- +-2009-05-25 Evgeny M. Zubok <evgeny.zubok@tochka.ru> +- +- * src/s3_driver.c: +- * src/s3_video.c: +- +- Enable Xv extension for Trio64V+ (thanks to Egor Ivanov for +- testing on real hardware) and Trio64UV+ (Tested only on Trio64V2 by +- overriding Chipset with "Trio64UV+" but not on real hardware). +- +- S3 Trio64V+ now using NewMMIO. Trio64V+ chips have the same ChipId +- as Trio32/64 but only with chip revision greater or eq 0x40. So if +- you have problems with NewMMIO, you may override ChipRev in "Device" +- section of your xorg.conf: "ChipRev" 0x00. Note: disabling the NewMMIO +- also disables overlay video (Xv) because it isn't implemented for +- Old MMIO yet. +- +-2009-05-04 Evgeny M. Zubok <evgeny.zubok@tochka.ru> +- +- * src/s3_driver.c: +- * src/s3_shadow.c: +- +- Add shadowFB option. It can be used to speedup drawing when +- hardware acceleration is undesirable or unavailable (for colour depth +- 24 with 24 bpp framebuffer, for example). shadowFB is disabled by +- default. Enabling shadowFB option disables HW acceleration. Thanks +- to Egor Ivanov for initial porting of shadowFB from s3virge. +- +- Interlace mode support. +- +- Close bug #14999. +- +-2008-07-06 Evgeny M. Zubok <evgeny.zubok@tochka.ru> +- +- * src/s3_video.c: +- +- Streams Processor initialization. +- +- XVideo support for 16, 24 and 32 bpp (only for TRIO64V2). +- +- * src/s3_driver.c: +- +- Add XVideo option (enabled by default). +- +- Replace "swcursor" by "hwcursor" option (HW cursor +- not implemented yet for all chipsets). +- +- Close bug #5527: 24-bit colour depth support (24bpp and +- 32bpp framebuffer) for TRIOs. Acceleration doesn't work +- with packed colour mode (24 bpp FB) but works with 32bpp +- framebuffer mode (hardware limitation? -- need data). +- +- Fix system hang-up when switching between console and X session. +- +- Some minor changes of driver messages. +- +-2008-02-23 Evgeny M. Zubok <evgeny.zubok@tochka.ru> +- +- * src/s3_driver.c: Add DPMS support for S3 Trio64V2 and possibly +- others (need testing): S3 Trio64UV+. S3 Aurora64V+ and S3 Trio32/64 +- * src/s3_Trio64DAC: Change clocks for S3 Trio64V2 to make +- the 1024x768@16bpp mode work. +- Thanks to Richard Driscoll for these patches. +- +-2006-04-07 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- * src/s3.h: +- Bump to 0.4.1 for Xv changes. +- +-2006-04-07 Aaron Plattner <aplattner@nvidia.com> +- +- * src/s3_video.c: (S3PutImage): +- Add a DrawablePtr argument to the XV functions to pave the way for +- redirected video. +- +-2006-04-07 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- * src/s3.h: +- * src/s3_IBMRGB.c: +- * src/s3_Ti.c: +- * src/s3_Trio64DAC.c: +- * src/s3_bios.c: +- * src/s3_cursor.c: +- * src/s3_dga.c: +- * src/s3_driver.c: +- * src/s3_video.c: +- Unlibcwrap. Bump server version requirement. Bump to 0.4.0. +- +-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version for X11R7 release. +- +-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for final X11R7 release candidate. +- +-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for X11R7 RC3 release. +- +-2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Remove extraneous AC_MSG_RESULT. +- +-2005-11-29 Adam Jackson <ajax@freedesktop.org> +- +- * configure.ac: +- Only build dlloader modules by default. +- +-2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update package version number for X11R7 RC2 release. +- +-2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org> +- +- * configure.ac: +- Update pkgcheck dependencies to work with separate build roots. +diff --git a/Makefile.am b/Makefile.am +index 7052905..4c278ba 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,5 +18,15 @@ + # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-AUTOMAKE_OPTIONS = foreign + SUBDIRS = src man ++MAINTAINERCLEANFILES = ChangeLog INSTALL ++ ++.PHONY: ChangeLog INSTALL ++ ++INSTALL: ++ $(INSTALL_CMD) ++ ++ChangeLog: ++ $(CHANGELOG_CMD) ++ ++dist-hook: ChangeLog INSTALL +diff --git a/configure.ac b/configure.ac +index 0eecc87..0ac34f9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,42 +20,50 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-s3], +- 0.6.3, ++ [0.6.3], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-s3) +- ++ [xf86-video-s3]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + +-AM_INIT_AUTOMAKE([dist-bzip2]) +- ++# Initialize Automake ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE + +-# Checks for programs. ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS ++m4_ifndef([XORG_MACROS_VERSION], ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) ++XORG_DEFAULT_OPTIONS ++ ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC ++ ++# Checks for programs. ++AM_PROG_CC_C_O + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES]) +-sdkdir=$(pkg-config --variable=sdkdir xorg-server) + + # Checks for libraries. + SAVE_CPPFLAGS="$CPPFLAGS" +@@ -65,28 +73,20 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS, + [#include "xorg-server.h"]) + CPPFLAGS="$SAVE_CPPFLAGS" + +-# Checks for header files. +-AC_HEADER_STDC +- + if test "x$XSERVER_LIBPCIACCESS" = xyes; then + PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) + XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=s3 + AC_SUBST([DRIVER_NAME]) + +-XORG_MANPAGE_SECTIONS +-XORG_RELEASE_VERSION +- +-XORG_CHECK_LINUXDOC +- +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index f0eb29b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,27 +1,24 @@ + # + # Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. + # + + drivermandir = $(DRIVER_MAN_DIR) +@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/src/s3.h b/src/s3.h +index 49b8a54..0875fc9 100644 +--- a/src/s3.h ++++ b/src/s3.h +@@ -113,7 +113,6 @@ typedef struct _S3Rec { + XAAInfoRecPtr pXAA; + xf86CursorInfoPtr pCurs; + xf86Int10InfoPtr pInt10; +- vbeInfoPtr pVBE; + XF86VideoAdaptorPtr adaptor; + S3PortPrivPtr portPrivate; + +diff --git a/src/s3_driver.c b/src/s3_driver.c +index 29e343d..4519b33 100644 +--- a/src/s3_driver.c ++++ b/src/s3_driver.c +@@ -309,6 +309,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags) + S3Ptr pS3; + vgaHWPtr hwp; + ClockRangePtr clockRanges; ++ vbeInfoPtr pVBE; + rgb zeros = {0, 0, 0}; + Gamma gzeros = {0.0, 0.0, 0.0}; + int i, vgaCRIndex, vgaCRReg; +@@ -436,7 +437,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags) + } + + if (xf86LoadSubModule(pScrn, "vbe")) { +- pS3->pVBE = VBEInit(pS3->pInt10, pEnt->index); ++ pVBE = VBEInit(pS3->pInt10, pEnt->index); ++ vbeFree(pVBE); + } + + if (pS3->shadowFB) { diff --git a/staging/xf86-video-sis/PKGBUILD b/staging/xf86-video-sis/PKGBUILD new file mode 100644 index 000000000..a889a881e --- /dev/null +++ b/staging/xf86-video-sis/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 136422 2011-08-29 08:27:06Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-sis +pkgver=0.10.3 +pkgrel=5 +pkgdesc="X.org SiS video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc' 'sis-dri') +makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch b/staging/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch new file mode 100644 index 000000000..fd87b6c8c --- /dev/null +++ b/staging/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch @@ -0,0 +1,25 @@ +From e4f6a2fcd5712d0f994d3719b9c6c13f5b02bc7c Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Fri, 9 Jan 2009 16:34:01 -0800 +Subject: [PATCH 01/10] Remove xorgconfig & xorgcfg from See Also list in man page + +--- + man/sis.man | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/man/sis.man b/man/sis.man +index d743fe6..c321808 100644 +--- a/man/sis.man ++++ b/man/sis.man +@@ -429,7 +429,7 @@ The amount is to be specified in megabyte, the default is 8. + none. + .SH "SEE ALSO" + #ifdef __xservername__ +-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) ++__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) + #else + XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__) + #endif +-- +1.6.5.4 + diff --git a/staging/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch b/staging/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch new file mode 100644 index 000000000..860e593c6 --- /dev/null +++ b/staging/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch @@ -0,0 +1,91 @@ +diff -p -up xf86-video-sis-0.9.1/configure.ac.orig xf86-video-sis-0.9.1/configure.ac +--- xf86-video-sis-0.9.1/configure.ac.orig 2010-01-27 15:34:26.000000000 -0500 ++++ xf86-video-sis-0.9.1/configure.ac 2010-01-27 15:34:43.000000000 -0500 +@@ -58,7 +58,6 @@ XORG_DRIVER_CHECK_EXT(XINERAMA, xinerama + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) +-XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + + # Checks for pkg-config packages +diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c +--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-27 15:35:05.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:35:39.000000000 -0500 +@@ -86,8 +86,6 @@ + #include "mibank.h" + #include "mipointer.h" + #include "mibstore.h" +-#define _XF86MISC_SERVER_ +-#include <X11/extensions/xf86misc.h> + #include "edid.h" + + #define SIS_NEED_inSISREG +@@ -506,11 +504,6 @@ xf86DrvMsg(0, X_INFO, " + pScrn->FreeScreen = SISFreeScreen; + pScrn->ValidMode = SISValidMode; + pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/ +-#ifdef X_XF86MiscPassMessage +-// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) { +-// pScrn->HandleMessage = SISHandleMessage; +-// } +-#endif + foundScreen = TRUE; + } + #ifdef SISDUALHEAD +diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h +--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2010-01-27 15:35:49.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:36:04.000000000 -0500 +@@ -791,10 +791,6 @@ static Bool SISHotkeySwitchMode(ScrnInfo + #ifdef SISDUALHEAD + static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode); + #endif +-#ifdef X_XF86MiscPassMessage +-extern int SISHandleMessage(int scrnIndex, const char *msgtype, +- const char *msgval, char **retmsg); +-#endif + static void SISFreeScreen(int scrnIndex, int flags); + static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode, + Bool verbose, int flags); +diff -p -up xf86-video-sis-0.9.1/src/sis_utility.c.orig xf86-video-sis-0.9.1/src/sis_utility.c +--- xf86-video-sis-0.9.1/src/sis_utility.c.orig 2010-01-27 15:36:23.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_utility.c 2010-01-27 15:36:59.000000000 -0500 +@@ -40,8 +40,6 @@ + #define NEED_EVENTS + #include <X11/X.h> + #include "dixstruct.h" +-#define _XF86MISC_SERVER_ +-#include <X11/extensions/xf86misc.h> + + #include "sis_videostr.h" + +@@ -262,9 +260,6 @@ typedef struct { + int (*HandleSiSDirectCommand[SISCTRL_MAX_SCREENS])(xSiSCtrlCommandReply *); + } xSiSCtrlScreenTable; + +-#ifdef X_XF86MiscPassMessage +-int SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg); +-#endif + void SiSCtrlExtInit(ScrnInfoPtr pScrn); + void SiSCtrlExtUnregister(SISPtr pSiS, int index); + +@@ -975,19 +970,6 @@ unsigned int SISVGADetected(ScrnInfoPtr + } + + /*********************************** +- * MessageHandler interface * +- * (unused now; use extension) * +- ***********************************/ +- +-#ifdef X_XF86MiscPassMessage +-int +-SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg) +-{ +- return BadMatch; +-} +-#endif +- +-/*********************************** + * SiSCtrl extension interface * + ***********************************/ + diff --git a/staging/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch b/staging/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch new file mode 100644 index 000000000..4fc355bbb --- /dev/null +++ b/staging/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch @@ -0,0 +1,65 @@ +From 9b010b7db7f0c6730c1a1b3cd473d49b01ed5b5f Mon Sep 17 00:00:00 2001 +From: Ander Conselvan de Oliveira <ander@mandriva.com.br> +Date: Mon, 22 Jun 2009 16:07:26 -0400 +Subject: [PATCH] Fix build with -Werror=format-security + +--- + src/sis_driver.c | 4 ++-- + src/sis_mergedfb.c | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 5b91004..0a154db 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -831,14 +831,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...) + static const char *str = "**************************************************\n"; + + va_start(ap, format); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " ERROR:\n"); + xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap); + va_end(ap); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " END OF MESSAGE\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + } + + static void +diff --git a/src/sis_mergedfb.c b/src/sis_mergedfb.c +index 61b4255..feca024 100644 +--- a/src/sis_mergedfb.c ++++ b/src/sis_mergedfb.c +@@ -357,7 +357,7 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest, + + strcat(printbuffer, namebuf1); + +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, printbuffer); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s", printbuffer); + } + + mode->next = mode; +@@ -2137,7 +2137,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1) + if(infochanged && !usenonrect) { + xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, + "Current screen size does not match maximum display modes...\n"); +- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine); ++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine); + } + + } else if(infochanged && usenonrect) { +@@ -2145,7 +2145,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1) + usenonrect = FALSE; + xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, + "Only clone modes available for this screen size...\n"); +- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine); ++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine); + + } + +-- +1.6.2.4 + diff --git a/staging/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch b/staging/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch new file mode 100644 index 000000000..68ec63138 --- /dev/null +++ b/staging/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch @@ -0,0 +1,32 @@ +From 49c641b638ac36d2a559555c04a3bd2777c8d071 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Fri, 1 May 2009 16:52:10 -0700 +Subject: [PATCH 04/10] Make sisRegs3D4 big enough to hold all values written to it + +Increase size from 0xff to 0x100 since SiS315Save (sis_dac.c line 752) +writes values into sisRegs3D4[0x00..0xff] if ChipType >= XGI_20 + +[This bug was found by the Parfait bug checking tool. + For more information see http://research.sun.com/projects/parfait ] + +Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> +--- + src/sis.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/sis.h b/src/sis.h +index 9bafd4b..773f709 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -747,7 +747,7 @@ typedef struct { + UChar sisRegsGR[10]; + UChar sisDAC[768]; + UChar sisRegs3C4[0x80]; +- UChar sisRegs3D4[0xff]; ++ UChar sisRegs3D4[0x100]; + UChar sisRegs3C2; + UChar sisCapt[0x60]; + UChar sisVid[0x50]; +-- +1.6.5.4 + diff --git a/staging/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch b/staging/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch new file mode 100644 index 000000000..038322bf6 --- /dev/null +++ b/staging/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch @@ -0,0 +1,38 @@ +From 933dd8f860883c613acb5bcdf6b66100dbdfa952 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Fri, 1 May 2009 16:57:22 -0700 +Subject: [PATCH 05/10] Correct bounds check of blitClip array access + +Array is defined as blitClip[NUM_BLIT_PORTS], so invalid indexes +are >= NUM_BLIT_PORTS, not just > NUM_BLIT_PORTS + +[This bug was found by the Parfait bug checking tool. + For more information see http://research.sun.com/projects/parfait ] + +Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> +--- + src/sis_video.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +Index: xf86-video-sis-0.9.1/src/sis_video.c +=================================================================== +--- xf86-video-sis-0.9.1.orig/src/sis_video.c ++++ xf86-video-sis-0.9.1/src/sis_video.c +@@ -4656,7 +4656,7 @@ SISStopVideoBlit(ScrnInfoPtr pScrn, ULon + * adapt->flags but we provide it anyway. + */ + +- if(index > NUM_BLIT_PORTS) return; ++ if(index >= NUM_BLIT_PORTS) return; + + REGION_EMPTY(pScrn->pScreen, &pPriv->blitClip[index]); + +@@ -4698,7 +4698,7 @@ SISPutImageBlit_671( + int xoffset = 0, yoffset = 0; + Bool first; + +- if(index > NUM_BLIT_PORTS) ++ if(index >= NUM_BLIT_PORTS) + return BadMatch; + + if(!height || !width) diff --git a/staging/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch b/staging/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch new file mode 100644 index 000000000..f023c774e --- /dev/null +++ b/staging/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch @@ -0,0 +1,25 @@ +From 910073e0ab3a7bf9e5c9d97437a879d97edc2714 Mon Sep 17 00:00:00 2001 +From: root <root@greentea.conectiva> +Date: Wed, 1 Jul 2009 09:59:39 -0400 +Subject: [PATCH] Fix backlight off on SiS30x. video bridges. + +--- + src/init301.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/init301.c b/src/init301.c +index c179ae8..70a6aab 100644 +--- a/src/init301.c ++++ b/src/init301.c +@@ -9261,7 +9261,7 @@ void + SiS_SiS30xBLOff(struct SiS_Private *SiS_Pr) + { + /* Switch off LCD backlight on SiS30xLV */ +- SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFE); ++ SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFC); + SiS_DDC2Delay(SiS_Pr,0xff00); + } + +-- +1.5.4.3 + diff --git a/staging/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch b/staging/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch new file mode 100644 index 000000000..8ebc799a7 --- /dev/null +++ b/staging/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch @@ -0,0 +1,89 @@ +From 072af02d180c1965f30246ea269d208292ed6f05 Mon Sep 17 00:00:00 2001 +From: root <root@greentea.conectiva> +Date: Wed, 1 Jul 2009 14:13:52 -0400 +Subject: [PATCH] Add IgnoreHotkeyFlag driver option. + +Some BIOSes do not set the hotkey flag correctly. Without this option +set, the driver won't change the mirroring state of LCD and VGA +connections if the BIOS did not set this flag. +--- + src/sis.h | 3 +++ + src/sis_driver.c | 2 +- + src/sis_opt.c | 13 ++++++++++++- + 3 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/src/sis.h b/src/sis.h +index c50690b..c82c302 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -1565,6 +1565,9 @@ typedef struct { + + /* Enable special 1366x768x60hz mode of LVDS panel. Ivans@090109 */ + Bool EnablePanel_1366x768; ++ ++ /* Ignore hotkey flag on capability changed APM events */ ++ Bool IgnoreHotkeyFlag; + + } SISRec, *SISPtr; + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index c935c11..2a5001c 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -11370,7 +11370,7 @@ SISPMEvent(int scrnIndex, pmEvent event, Bool undo) + inSISIDXREG(SISCR,0x3d,hotkeyflag);/*check device switch flag from BIOS CR 0x3d bit[2].*/ + + +- if(hotkeyflag & 0x04) ++ if(pSiS->IgnoreHotkeyFlag || (hotkeyflag & 0x04)) + { + + SISCRT1PreInit(pScrn); /*redetecting CRT1, pSiS->CRT1detected will update.*/ +diff --git a/src/sis_opt.c b/src/sis_opt.c +index 4b79f7f..7f726ea 100644 +--- a/src/sis_opt.c ++++ b/src/sis_opt.c +@@ -159,7 +159,8 @@ typedef enum { + OPTION_PSEUDO, + OPTION_FUTRO_TIMING, /*chaoyu's modified: for Fuji-Siemans specail timing*/ + OPTION_TRACEVGAMISCW, +- OPTION_USETIMING1366 /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/ ++ OPTION_USETIMING1366, /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/ ++ OPTION_IGNOREHOTKEYFLAG + } SISOpts; + + static const OptionInfoRec SISOptions[] = { +@@ -305,6 +306,7 @@ static const OptionInfoRec SISOptions[] = { + { OPTION_FUTRO_TIMING, "FutroTiming", OPTV_BOOLEAN, {0}, FALSE },/*chaoyu's modified: for Fuji-seimans special timing*/ + { OPTION_TRACEVGAMISCW, "TraceVgaMISCW", OPTV_BOOLEAN, {0}, FALSE },/*Ivans added for helping detected CRT1 using BIOS setting.*/ + { OPTION_USETIMING1366, "UseTiming1366", OPTV_BOOLEAN, {0}, FALSE },/*enable 1366 timing on LVDS, Ivans@090109*/ ++ { OPTION_IGNOREHOTKEYFLAG, "IgnoreHotkeyFlag", OPTV_BOOLEAN, {0}, FALSE }, + { -1, NULL, OPTV_NONE, {0}, FALSE } + }; + +@@ -624,6 +626,7 @@ SiSOptions(ScrnInfoPtr pScrn) + pSiS->CRT2IsScrn0 = FALSE; + #endif + #endif ++ pSiS->IgnoreHotkeyFlag = FALSE; + + /* Chipset dependent defaults */ + +@@ -2419,6 +2422,14 @@ SiSOptions(ScrnInfoPtr pScrn) + pSiS->EnablePanel_1366x768 = TRUE; + } + } ++ /* Ignore hotkey flag for video switch, switch on every ++ * XF86_APM_CAPABILITY_CHANGED event */ ++ if(xf86GetOptValBool(pSiS->Options, OPTION_IGNOREHOTKEYFLAG, &val)){ ++ if(val){ ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Ignoring hotkey flag\n"); ++ pSiS->IgnoreHotkeyFlag = TRUE; ++ } ++ } + + } + +-- +1.5.4.3 + diff --git a/staging/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch b/staging/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch new file mode 100644 index 000000000..395213375 --- /dev/null +++ b/staging/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch @@ -0,0 +1,249 @@ +From ae1a7dcebdac904c8068cc38fb77648c548f5075 Mon Sep 17 00:00:00 2001 +From: Paulo Ricardo Zanoni <pzanoni@mandriva.com> +Date: Thu, 22 Apr 2010 11:19:29 -0300 +Subject: [PATCH] Remove useless loader symbol lists + +Adaption of xf86-video-sis patch 74553b5ee476a0dd28e136f5a33a546ea0c3ef28 +--- + src/sis_driver.c | 150 +----------------------------------------------------- + 1 files changed, 1 insertions(+), 149 deletions(-) + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index d56182f..96255d3 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -227,126 +227,6 @@ static PciChipsets XGIPciChipsets[] = { + { -1, -1, RES_UNDEFINED } + }; + +-#ifdef SIS_USE_XAA +-static const char *xaaSymbols[] = { +- "XAACreateInfoRec", +- "XAADestroyInfoRec", +- "XAAHelpPatternROP", +- "XAAInit", +- NULL +-}; +-#endif +- +-#ifdef SIS_USE_EXA +-static const char *exaSymbols[] = { +- "exaGetVersion", +- "exaDriverInit", +- "exaDriverFini", +- "exaOffscreenAlloc", +- "exaOffscreenFree", +- NULL +-}; +-#endif +- +-static const char *fbSymbols[] = { +- "fbPictureInit", +- "fbScreenInit", +- NULL +-}; +- +-static const char *shadowSymbols[] = { +- "ShadowFBInit", +- NULL +-}; +- +-static const char *ramdacSymbols[] = { +- "xf86CreateCursorInfoRec", +- "xf86DestroyCursorInfoRec", +- "xf86InitCursor", +- NULL +-}; +- +-static const char *ddcSymbols[] = { +- "xf86PrintEDID", +- "xf86InterpretEDID", +- NULL +-}; +- +-static const char *int10Symbols[] = { +- "xf86FreeInt10", +- "xf86InitInt10", +- NULL +-}; +- +-static const char *vbeSymbols[] = { +-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) +- "VBEInit", +-#else +- "VBEExtendedInit", +-#endif +- "vbeDoEDID", +- "vbeFree", +- "VBEGetVBEInfo", +- "VBEFreeVBEInfo", +- "VBEGetModeInfo", +- "VBEFreeModeInfo", +- "VBESaveRestore", +- "VBESetVBEMode", +- "VBEGetVBEMode", +- "VBESetDisplayStart", +- "VBESetGetLogicalScanlineLength", +- NULL +-}; +- +-#ifdef XF86DRI +-static const char *drmSymbols[] = { +- "drmAddMap", +- "drmAgpAcquire", +- "drmAgpRelease", +- "drmAgpAlloc", +- "drmAgpFree", +- "drmAgpBase", +- "drmAgpBind", +- "drmAgpUnbind", +- "drmAgpEnable", +- "drmAgpGetMode", +- "drmCtlInstHandler", +- "drmCtlUninstHandler", +- "drmGetInterruptFromBusID", +-#ifndef SISHAVEDRMWRITE +- "drmSiSAgpInit", +-#else +- "drmCommandWrite", +-#endif +-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0) +- "drmGetVersion", +- "drmFreeVersion", +-#endif +- NULL +-}; +- +-static const char *driSymbols[] = { +- "DRICreateInfoRec", +- "DRIScreenInit", +- "DRIFinishScreenInit", +- "DRIDestroyInfoRec", +- "DRICloseScreen", +- "DRIGetSAREAPrivate", +- "DRILock", +- "DRIUnlock", +- "DRIQueryVersion", +- "GlxSetVisualConfigs", +- NULL +-}; +- +-#ifdef XFree86LOADER +-static const char *driRefSymbols[] = { +- "DRICreatePCIBusID", /* not REQUIRED, but eventually referenced */ +- NULL +-}; +-#endif +-#endif /* XF86DRI */ +- + #ifdef XFree86LOADER + + static MODULESETUPPROTO(sisSetup); +@@ -382,19 +262,6 @@ sisSetup(pointer module, pointer opts, int *errmaj, int *errmin) + if(!setupDone) { + setupDone = TRUE; + xf86AddDriver(&SIS, module, SIS_HaveDriverFuncs); +- LoaderRefSymLists(fbSymbols, +-#ifdef SIS_USE_XAA +- xaaSymbols, +-#endif +-#ifdef SIS_USE_EXA +- exaSymbols, +-#endif +- shadowSymbols, ramdacSymbols, +- vbeSymbols, int10Symbols, +-#ifdef XF86DRI +- drmSymbols, driSymbols, driRefSymbols, +-#endif +- NULL); + return (pointer)TRUE; + } + +@@ -1068,7 +935,6 @@ SiS_LoadInitVBE(ScrnInfoPtr pScrn) + return; + + if(xf86LoadSubModule(pScrn, "vbe")) { +- xf86LoaderReqSymLists(vbeSymbols, NULL); + #if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) + pSiS->pVbe = VBEInit(pSiS->pInt, pSiS->pEnt->index); + #else +@@ -1092,7 +958,6 @@ SiSLoadInitDDCModule(ScrnInfoPtr pScrn) + return TRUE; + + if(xf86LoadSubModule(pScrn, "ddc")) { +- xf86LoaderReqSymLists(ddcSymbols, NULL); + pSiS->haveDDC = TRUE; + return TRUE; + } +@@ -3586,7 +3451,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Initializing adapter through int10\n"); + if(xf86LoadSubModule(pScrn, "int10")) { +- xf86LoaderReqSymLists(int10Symbols, NULL); + pSiS->pInt = xf86InitInt10(pSiS->pEnt->index); + } else { + SISErrorLog(pScrn, "Failed to load int10 module\n"); +@@ -3683,7 +3547,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + SISErrorLog(pScrn, "Could not load ramdac module\n"); + goto my_error_1; + } +- xf86LoaderReqSymLists(ramdacSymbols, NULL); + + /* Set pScrn->monitor */ + pScrn->monitor = pScrn->confScreen->monitor; +@@ -5868,22 +5731,18 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + SISErrorLog(pScrn, "Unsupported framebuffer bpp (%d)\n", pScrn->bitsPerPixel); + goto my_error_1; + } +- xf86LoaderReqSymLists(fbSymbols, NULL); + + /* Load XAA/EXA (if needed) */ + if(!pSiS->NoAccel) { + char *modName = NULL; +- const char **symNames = NULL; + #ifdef SIS_USE_XAA + if(!pSiS->useEXA) { + modName = "xaa"; +- symNames = xaaSymbols; + } + #endif + #ifdef SIS_USE_EXA + if(pSiS->useEXA) { + modName = "exa"; +- symNames = exaSymbols; + } + #endif + if(modName && (!xf86LoadSubModule(pScrn, modName))) { +@@ -5894,9 +5753,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pSiS->NoXvideo = TRUE; + } + #endif +- } else if(symNames) { +- xf86LoaderReqSymLists(symNames, NULL); +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled, modename %s\n",modName); + } + } + +@@ -5909,8 +5765,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pSiS->ShadowFB = FALSE; + pSiS->Rotate = pSiS->Reflect = 0; + } +- } else { +- xf86LoaderReqSymLists(shadowSymbols, NULL); + } + } + +@@ -5920,9 +5774,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + if(!xf86LoaderCheckSymbol("DRIScreenInit")) { + if(xf86LoadSubModule(pScrn, "dri")) { + if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) { +- if(xf86LoadSubModule(pScrn, "glx")) { +- xf86LoaderReqSymLists(driSymbols, drmSymbols, NULL); +- } else { ++ if(! xf86LoadSubModule(pScrn, "glx")) { + SISErrorLog(pScrn, "Failed to load glx module\n"); + } + } +-- +1.6.4.4 + diff --git a/staging/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch b/staging/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch new file mode 100644 index 000000000..1dcbdf05c --- /dev/null +++ b/staging/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch @@ -0,0 +1,45 @@ +From 59ea80738d22c69a2850fd7ff89bd75330cc310b Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Thu, 16 Jul 2009 01:55:25 +0000 +Subject: Update to xextproto 7.1 support. + +DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers +need to include dpmsconst.h if xextproto 7.1 is available. + +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +--- +diff --git a/configure.ac b/configure.ac +index 089c5fa..f19c1b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -62,6 +62,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + + # Checks for pkg-config packages + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES]) ++PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], ++ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), ++ HAVE_XEXTPROTO_71="no") ++AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) + sdkdir=$(pkg-config --variable=sdkdir xorg-server) + + # Checks for libraries. +diff --git a/src/sis_driver.c b/src/sis_driver.c +index ef7b522..a1ced97 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -78,8 +78,13 @@ + + #include "globals.h" + ++#ifdef HAVE_XEXTPROTO_71 ++#include <X11/extensions/dpmsconst.h> ++#else + #define DPMS_SERVER + #include <X11/extensions/dpms.h> ++#endif ++ + + #ifdef XF86DRI + #include "dri.h" +-- +cgit v0.8.3-6-g21f6 diff --git a/staging/xf86-video-sisimedia/0009-update-for-rac-removal.patch b/staging/xf86-video-sisimedia/0009-update-for-rac-removal.patch new file mode 100644 index 000000000..df1421798 --- /dev/null +++ b/staging/xf86-video-sisimedia/0009-update-for-rac-removal.patch @@ -0,0 +1,69 @@ +From 9e1ebb9530bbb71be7fcab9e6f8f9a475be72efe Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Tue, 28 Jul 2009 03:32:37 +0000 +Subject: sis: update for resources/RAC API removal + +--- +diff --git a/src/sis.h b/src/sis.h +index 773f709..e859c78 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -77,7 +77,9 @@ + #include "xf86Pci.h" + #include "xf86Priv.h" + #include "xf86_OSproc.h" ++#ifndef XSERVER_LIBPCIACCESS + #include "xf86Resources.h" ++#endif + #include "xf86.h" + #include "xf86PciInfo.h" + #include "xf86Cursor.h" +diff --git a/src/sis_driver.c b/src/sis_driver.c +index a1ced97..bb11cbb 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -49,7 +49,9 @@ + + #include "sis.h" + ++#ifndef XSERVER_LIBPCIACCESS + #include "xf86RAC.h" ++#endif + #include "dixstruct.h" + #include "shadowfb.h" + #include "fb.h" +@@ -3552,6 +3554,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + SiS_MapVGAMem(pScrn); + #endif + ++#ifndef XSERVER_LIBPCIACCESS + /* Set operating state */ + + /* 1. memory */ +@@ -3581,6 +3584,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + /* Operations for which I/O access is required */ + pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT; + ++#endif ++ + /* Load ramdac module */ + if(!xf86LoadSubModule(pScrn, "ramdac")) { + SISErrorLog(pScrn, "Could not load ramdac module\n"); +@@ -4424,6 +4429,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + xf86DrvMsg(pScrn->scrnIndex, from, "MMIO registers at 0x%lX (size %ldK)\n", + (ULong)pSiS->IOAddress, pSiS->mmioSize); + ++#ifndef XSERVER_LIBPCIACCESS + /* Register the PCI-assigned resources */ + if(xf86RegisterResources(pSiS->pEnt->index, NULL, ResExclusive)) { + SISErrorLog(pScrn, "PCI resource conflicts detected\n"); +@@ -4435,6 +4441,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + SISFreeRec(pScrn); + return FALSE; + } ++#endif + + from = X_PROBED; + if(pSiS->pEnt->device->videoRam != 0) { +-- +cgit v0.8.3-6-g21f6 diff --git a/staging/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch b/staging/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch new file mode 100644 index 000000000..cb9fd7ea5 --- /dev/null +++ b/staging/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch @@ -0,0 +1,34 @@ +From 8c3eca873717e877048c2bde345c02b1e9099e50 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Tue, 28 Jul 2009 05:22:41 +0000 +Subject: sis: change to using ABI version check + +--- +diff --git a/src/sis.h b/src/sis.h +index e859c78..400b83f 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -77,7 +77,7 @@ + #include "xf86Pci.h" + #include "xf86Priv.h" + #include "xf86_OSproc.h" +-#ifndef XSERVER_LIBPCIACCESS ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86Resources.h" + #endif + #include "xf86.h" +diff --git a/src/sis_driver.c b/src/sis_driver.c +index bb11cbb..994b02d 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -49,7 +49,7 @@ + + #include "sis.h" + +-#ifndef XSERVER_LIBPCIACCESS ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86RAC.h" + #endif + #include "dixstruct.h" +-- +cgit v0.8.3-6-g21f6 diff --git a/staging/xf86-video-sisimedia/0011-more-rac-removal.patch b/staging/xf86-video-sisimedia/0011-more-rac-removal.patch new file mode 100644 index 000000000..8175dea98 --- /dev/null +++ b/staging/xf86-video-sisimedia/0011-more-rac-removal.patch @@ -0,0 +1,13 @@ +diff -Nrup xf86-video-sis-0.9.1/src/sis_hwmc.c patched/src/sis_hwmc.c +--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2008-03-04 14:31:10.000000000 -0300 ++++ patched/src/sis_hwmc.c 2010-04-20 17:10:21.073690167 -0300 +@@ -43,7 +43,9 @@ THE USE OR OTHER DEALINGS IN THE SOFTWAR + + #include "xf86.h" + #include "xf86_OSproc.h" ++#ifndef GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86Resources.h" ++#endif + #include "compiler.h" + #include "xf86PciInfo.h" + #include "xf86Pci.h" diff --git a/staging/xf86-video-sisimedia/COPYING b/staging/xf86-video-sisimedia/COPYING new file mode 100644 index 000000000..d643012d7 --- /dev/null +++ b/staging/xf86-video-sisimedia/COPYING @@ -0,0 +1,139 @@ +Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3) The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (C) 1998, 1999 by Alan Hourihane, Wigan, England. +Parts Copyright (C) 2001-2005 Thomas Winischhofer, Vienna, Austria. + +Licensed under the following terms: + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appears in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +and that the name of the copyright holder not be used in advertising +or publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holder makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without expressed or implied warranty. + +THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO +EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Copyright (C) 2003 Eric Anholt + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appears in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +and that the name of the copyright holder not be used in advertising +or publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holder makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without expressed or implied warranty. + +THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO +EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Copyright (C) 2000 by Alan Hourihane, Sychdyn, North Wales, UK. +Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria + +Portions from radeon_dga.c which is + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + +Licensed under the following terms: + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the providers not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The providers make no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THE PROVIDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE PROVIDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Copyright 2007 George Sapountzis + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Copyright (C) 1999-2004 by The XFree86 Project, Inc. +based on code written by Mark Vojkovich +Copyright (C) 2003-2005 Thomas Winischhofer + +Licensed under the following terms: + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appears in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +and that the name of the copyright holder not be used in advertising +or publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holder makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without expressed or implied warranty. + +THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO +EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/staging/xf86-video-sisimedia/PKGBUILD b/staging/xf86-video-sisimedia/PKGBUILD new file mode 100644 index 000000000..e4a3b1d78 --- /dev/null +++ b/staging/xf86-video-sisimedia/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 136441 2011-08-29 10:48:07Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-sisimedia +pkgver=0.9.1 +pkgrel=1 +pkgdesc="X.org SiS 671 video driver" +arch=(i686 x86_64) +url="http://www.linuxconsulting.ro/xorg-drivers/" +license=('custom') +depends=('glibc' 'sis-dri') +makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2 + xf86-video-sis-0.9.1-20102701.patch + 0002-Remove-XFree86-Misc-PassMessage-support.patch + 0003-Fix-build-with-Werror-format-security.patch + 0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch + 0006-Add-IgnoreHotkeyFlag-driver-option.patch + xf86-video-sis-0.9.1-dump-regs-after-video-init.patch + 0007-Remove-useless-loader-symbol-lists.patch + 0008-update-to-xextproto-7-1-support.patch + 0009-update-for-rac-removal.patch + 0010-change-to-use-abi-version-check.patch + 0011-more-rac-removal.patch + 0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch + 0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch + 0005-Correct-bounds-check-of-blitClip-array-access.patch + xserver19.patch + COPYING) +sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430' + '61715bb86180decde55a56fad9a12d841c89fbb2' + '33fdea57187a2758802bcb9572d3a864aaab4d59' + '6f05eae535b099b01c2819e63c68d4489b940267' + 'a6cb5da9312d32d729ad2619d8ae50cb26ba7d4d' + 'df728052a89c4152abbe89826756040dac23b624' + '4bed1c2455ed447f7053cb0729e99cbe598b3274' + 'd7802db5c49540ab136e71450cc846cfccd8b8d1' + 'e2236d2d00338f1658c66d9b972919af39897071' + '0c6b9322e6cb22c67e04d50a0b818a2dd4585cf2' + '802829a8ebd2b7e35fcc86665d842b1594a8ba30' + 'c26afe7508183735b7568b435be9c270ceeb62f1' + 'd2fa2a21454f3a161bcd8ae4d349657561049edd' + '5e288526bfa2c534f1feabdb571da16da8a1c7a6' + 'e86d702cb0b5e9bf43ff732696229965e176db7c' + 'b5f260bed7e705808ec05620316e503ed5d52ee5' + 'a64e244f274bcb155f892d0488a1a4b1b2f7d70d') + +build() { + cd "${srcdir}/xf86-video-sis-${pkgver}" + patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-20102701.patch" + patch -Np1 -i "${srcdir}/0002-Remove-XFree86-Misc-PassMessage-support.patch" + patch -Np1 -i "${srcdir}/0003-Fix-build-with-Werror-format-security.patch" + patch -Np1 -i "${srcdir}/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch" + patch -Np1 -i "${srcdir}/0006-Add-IgnoreHotkeyFlag-driver-option.patch" + patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch" + patch -Np1 -i "${srcdir}/0007-Remove-useless-loader-symbol-lists.patch" + patch -Np1 -i "${srcdir}/0008-update-to-xextproto-7-1-support.patch" + patch -Np1 -i "${srcdir}/0009-update-for-rac-removal.patch" + patch -Np1 -i "${srcdir}/0010-change-to-use-abi-version-check.patch" + patch -Np1 -i "${srcdir}/0011-more-rac-removal.patch" + patch -Np1 -i "${srcdir}/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch" + patch -Np1 -i "${srcdir}/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch" + patch -Np1 -i "${srcdir}/0005-Correct-bounds-check-of-blitClip-array-access.patch" + patch -Np1 -i "${srcdir}/xserver19.patch" + + sed -i -e 's,sis_drv,sisimedia_drv,g' src/Makefile.am + sed -i -e 's,\"sis\",\"sisimedia\",g' src/sis.h + sed -i -e 's,sisModuleData,sisimediaModuleData,g' src/sis_driver.c + + autoreconf -fi + + ./configure --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}/usr/share/man" + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch b/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch new file mode 100644 index 000000000..944eceb12 --- /dev/null +++ b/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch @@ -0,0 +1,1376 @@ +diff -p -up xf86-video-sis-0.9.1/src/sis.h.orig xf86-video-sis-0.9.1/src/sis.h +--- xf86-video-sis-0.9.1/src/sis.h.orig 2010-01-27 15:27:11.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis.h 2010-01-27 15:22:42.000000000 -0500 +@@ -98,6 +98,7 @@ + #define XF86_VERSION_CURRENT XF86_VERSION_NUMERIC(4,3,99,902,0) + #endif + ++#if 0 + /*** Xorg Version Path <= X-Server 2.0 ***/ + /* K.T for xorg 1.3 */ + #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(2,0,0,0,0) +@@ -109,33 +110,36 @@ + #define NEW_XORG_VERSION 1 + #endif + #endif ++#endif ++#define NEW_XORG_VERSION 1 + +-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0) ++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0) + #define SIS_HAVE_RR_FUNC + #ifdef HaveDriverFuncs + #undef SIS_HaveDriverFuncs + #define SIS_HaveDriverFuncs HaveDriverFuncs + #define SIS_HAVE_DRIVER_FUNC + #endif /* HaveDriverFuncs */ +-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0) ++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0) + #define SISISXORG6899900 +-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0) ++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0) + #define SISISXORG6899901 + #ifdef RANDR + #define SIS_HAVE_RR_GET_MODE_MM + #define SIS_HAVE_RANDR_SIZE_PATCH + #endif /* RANDR */ +-#endif /* >= 6.8.99.901 */ +-#endif /* >= 6.8.99.900 */ +-#endif /* >= 6.8.0.0 */ +-#else /* XORG_VERSION_CURRENT */ +-#include "xf86Version.h" +-#define SISMYSERVERNAME "XFree86" ++//#endif /* >= 6.8.99.901 */ ++//#endif /* >= 6.8.99.900 */ ++//#endif /* >= 6.8.0.0 */ ++//#else /* XORG_VERSION_CURRENT */ ++//#include "xf86Version.h" ++//#define SISMYSERVERNAME "XFree86" + #endif + + /*I.L. modified*/ + //#define NEC_CASE /*It used the old Xorg_Version with new PCI structure.*/ + ++#if 0 + #ifdef XSERVER_LIBPCIACCESS + #ifdef NEC_CASE + #define XORG_VERSION_CURRENT (((7) * 10000000) + ((1) * 100000) + ((0) * 1000) + 0) +@@ -143,6 +147,7 @@ + #define XORG_VERSION_CURRENT (((7) * 10000000) + ((4) * 100000) + ((0) * 1000) + 0) + #endif + #endif ++#endif + + + #define SIS_NAME "SIS" +@@ -268,16 +273,16 @@ + + #undef SISCHECKOSSSE + #ifdef XORG_VERSION_CURRENT +-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0) ++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0) + #define SISCHECKOSSSE /* Automatic check OS for SSE; requires SigIll facility */ +-#endif ++//#endif + #endif + + #undef SISGAMMARAMP + #ifdef XORG_VERSION_CURRENT +-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0) ++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0) + #define SISGAMMARAMP /* Driver can set gamma ramp; requires additional symbols in xf86sym.h */ +-#endif ++//#endif + #endif + + #if 0 /* Perhaps for future use */ +@@ -1031,6 +1036,7 @@ typedef struct { + #endif + + PCITAG PciTag; ++ + int PciBus, PciDevice, PciFunc; + EntityInfoPtr pEnt; + int Chipset; +diff -p -up xf86-video-sis-0.9.1/src/sis300_accel.c.orig xf86-video-sis-0.9.1/src/sis300_accel.c +--- xf86-video-sis-0.9.1/src/sis300_accel.c.orig 2007-05-29 22:12:02.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis300_accel.c 2010-01-27 15:21:54.000000000 -0500 +@@ -1231,8 +1231,8 @@ SiS300AccelInit(ScreenPtr pScreen) + + #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */ + if(pSiS->useEXA) { +-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) +- ++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++#if 0 + if(pSiS->scrnOffset < 8192) { + int obase = 0; + /* data */ +@@ -1430,7 +1430,8 @@ SiS300AccelInit(ScreenPtr pScreen) + pSiS->exa_scratch = exaOffscreenAlloc(pScreen, 128 * 1024, 16, TRUE, + SiSScratchSave, pSiS); + +- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++// #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++ #if 0 + if(pSiS->exa_scratch) { + pSiS->exa_scratch_next = pSiS->exa_scratch->offset; + pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch; +diff -p -up xf86-video-sis-0.9.1/src/sis310_accel.c.orig xf86-video-sis-0.9.1/src/sis310_accel.c +--- xf86-video-sis-0.9.1/src/sis310_accel.c.orig 2007-09-29 05:13:12.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis310_accel.c 2010-01-27 15:21:54.000000000 -0500 +@@ -65,9 +65,9 @@ + # define SIS_NEED_ARRAY + # undef SISNEWRENDER + # ifdef XORG_VERSION_CURRENT +-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0) ++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0) + # define SISNEWRENDER +-# endif ++//# endif + # endif + # endif + #endif +@@ -1463,7 +1463,7 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma + int dst_pitch, size, w, h, bytes; + + w = pSrc->drawable.width; +- ++/* + #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0) + dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) + + pSiS->EXADriverPtr->card.offscreenPitch - 1) & +@@ -1472,17 +1472,17 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma + dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) + + pSiS->EXADriverPtr->card.pixmapPitchAlign - 1) & + ~(pSiS->EXADriverPtr->card.pixmapPitchAlign - 1); +-#else ++#else*/ + dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) + + pSiS->EXADriverPtr->pixmapPitchAlign - 1) & + ~(pSiS->EXADriverPtr->pixmapPitchAlign - 1); + +-#endif ++//#endif + size = dst_pitch * pSrc->drawable.height; + + if(size > pSiS->exa_scratch->size) + return FALSE; +- ++/* + #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0) + pSiS->exa_scratch_next = (pSiS->exa_scratch_next + + pSiS->EXADriverPtr->card.offscreenByteAlign - 1) & +@@ -1491,34 +1491,34 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma + pSiS->exa_scratch_next = (pSiS->exa_scratch_next + + pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1) & + ~(pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1); +-#else ++#else*/ + pSiS->exa_scratch_next = (pSiS->exa_scratch_next + + pSiS->EXADriverPtr->pixmapOffsetAlign - 1) & + ~(pSiS->EXADriverPtr->pixmapOffsetAlign - 1); +-#endif +- ++//#endif ++/* + #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) + if(pSiS->exa_scratch_next + size > + pSiS->exa_scratch->offset + pSiS->exa_scratch->size) { + (pSiS->EXADriverPtr->accel.WaitMarker)(pSrc->drawable.pScreen, 0); + pSiS->exa_scratch_next = pSiS->exa_scratch->offset; + } +-#else ++#else*/ + if(pSiS->exa_scratch_next + size > + pSiS->exa_scratch->offset + pSiS->exa_scratch->size) { + (pSiS->EXADriverPtr->WaitMarker)(pSrc->drawable.pScreen, 0); + pSiS->exa_scratch_next = pSiS->exa_scratch->offset; + } +-#endif ++//#endif + + memcpy(pDst, pSrc, sizeof(*pDst)); + pDst->devKind = dst_pitch; + +-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) +- pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next; +-#else ++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++// pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next; ++//#else + pDst->devPrivate.ptr = pSiS->EXADriverPtr->memoryBase + pSiS->exa_scratch_next; +-#endif ++//#endif + + pSiS->exa_scratch_next += size; + +@@ -1762,7 +1762,8 @@ SiS315AccelInit(ScreenPtr pScreen) + + #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */ + if(pSiS->useEXA) { +-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++#if 0 ++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) + + int obase = 0; + +@@ -1952,11 +1953,11 @@ SiS315AccelInit(ScreenPtr pScreen) + SiSScratchSave, pSiS); + if(pSiS->exa_scratch) { + pSiS->exa_scratch_next = pSiS->exa_scratch->offset; +- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) +- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch; +- #else ++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch; ++ //#else + pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch; +- #endif ++ //#endif + } + + } else { +diff -p -up xf86-video-sis-0.9.1/src/sis_3daccel.c.orig xf86-video-sis-0.9.1/src/sis_3daccel.c +--- xf86-video-sis-0.9.1/src/sis_3daccel.c.orig 2007-08-10 04:22:16.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis_3daccel.c 2010-01-27 15:21:54.000000000 -0500 +@@ -64,9 +64,9 @@ + # define SIS_NEED_ARRAY + # undef SISNEWRENDER + # ifdef XORG_VERSION_CURRENT +-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0) ++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0) + # define SISNEWRENDER +-# endif ++//# endif + # endif + # endif + #endif +diff -p -up xf86-video-sis-0.9.1/src/sis_accel.c.orig xf86-video-sis-0.9.1/src/sis_accel.c +--- xf86-video-sis-0.9.1/src/sis_accel.c.orig 2007-05-29 22:12:02.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis_accel.c 2010-01-27 15:21:54.000000000 -0500 +@@ -781,50 +781,50 @@ SiSAccelInit(ScreenPtr pScreen) + + #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */ + if(pSiS->useEXA) { +-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) + + /* data */ +- pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase; +- pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem; +- pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY +- * (pScrn->bitsPerPixel >> 3); +- if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) { +- pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS; +- } else { +- pSiS->NoXvideo = TRUE; +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, +- "Not enough video RAM for offscreen memory manager. Xv disabled\n"); +- } +-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0) +- pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */ +- pSiS->EXADriverPtr->card.offscreenPitch = 1; +-#else +- pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */ +- pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */ +-#endif +- pSiS->EXADriverPtr->card.maxX = 2047; +- pSiS->EXADriverPtr->card.maxY = 2047; ++// pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase; ++// pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem; ++// pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY ++// * (pScrn->bitsPerPixel >> 3); ++// if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) { ++// pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS; ++// } else { ++// pSiS->NoXvideo = TRUE; ++// xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++// "Not enough video RAM for offscreen memory manager. Xv disabled\n"); ++// } ++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0) ++// pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */ ++// pSiS->EXADriverPtr->card.offscreenPitch = 1; ++//#else ++// pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */ ++// pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */ ++//#endif ++// pSiS->EXADriverPtr->card.maxX = 2047; ++// pSiS->EXADriverPtr->card.maxY = 2047; + + /* Sync */ +- pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync; ++// pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync; + + /* Solid fill */ +- pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid; +- pSiS->EXADriverPtr->accel.Solid = SiSSolid; +- pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid; ++// pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid; ++// pSiS->EXADriverPtr->accel.Solid = SiSSolid; ++// pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid; + + /* Copy */ +- pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy; +- pSiS->EXADriverPtr->accel.Copy = SiSCopy; +- pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy; ++// pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy; ++// pSiS->EXADriverPtr->accel.Copy = SiSCopy; ++// pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy; + + /* Composite not supported */ + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; ++// pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; ++// pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; + +-#else /*xorg>=7.0*/ ++//#else /*xorg>=7.0*/ + + pSiS->EXADriverPtr->exa_major = 2; + pSiS->EXADriverPtr->exa_minor = 0; +@@ -867,7 +867,7 @@ SiSAccelInit(ScreenPtr pScreen) + + #endif /*end of Xorg>=7.0 EXA Setting*/ + } +-#endif /* EXA */ ++//#endif /* EXA */ + + } /* NoAccel */ + +@@ -946,11 +946,11 @@ SiSAccelInit(ScreenPtr pScreen) + SiSScratchSave, pSiS); + if(pSiS->exa_scratch) { + pSiS->exa_scratch_next = pSiS->exa_scratch->offset; +- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) +- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch; +- #else ++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0) ++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch; ++ //#else + pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch; +- #endif ++ //#endif + } + + } else { +diff -p -up xf86-video-sis-0.9.1/src/sis_dri.c.orig xf86-video-sis-0.9.1/src/sis_dri.c +--- xf86-video-sis-0.9.1/src/sis_dri.c.orig 2008-11-04 08:27:14.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_dri.c 2010-01-27 15:21:54.000000000 -0500 +@@ -56,7 +56,8 @@ extern Bool drmSiSAgpInit(int driSubFD, + + #ifdef XORG_VERSION_CURRENT + #define SISHAVECREATEBUSID +-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0) ++#if 0 ++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0) + /*I.L. modified*/ + #ifndef XSERVER_LIBPCIACCESS + extern char *DRICreatePCIBusID(pciVideoPtr PciInfo); +diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c +--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2009-06-22 08:15:54.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:21:54.000000000 -0500 +@@ -140,6 +140,17 @@ static int pix24bpp = 0; + * an upper-case version of the driver name. + */ + ++#if XSERVER_LIBPCIACCESS ++#define SIS_DEVICE_MATCH(d, i)\ ++ {PCI_VENDOR_SIS, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (i) } ++ ++static const struct pci_id_match SIS_device_match[] = { ++ SIS_DEVICE_MATCH (PCI_CHIP_SIS670, 0), ++ SIS_DEVICE_MATCH (PCI_CHIP_SIS671, 0), ++ {0, 0, 0 }, ++ }; ++#endif ++ + #ifdef _X_EXPORT + _X_EXPORT + #endif +@@ -147,7 +158,11 @@ DriverRec SIS = { + SIS_CURRENT_VERSION, + SIS_DRIVER_NAME, + SISIdentify, ++#if XSERVER_LIBPCIACCESS ++ NULL, ++#else + SISProbe, ++#endif + SISAvailableOptions, + NULL, + 0 +@@ -155,6 +170,11 @@ DriverRec SIS = { + , + SISDriverFunc + #endif ++#if XSERVER_LIBPCIACCESS ++ , ++ SIS_device_match, ++ SIS_pci_probe ++#endif + }; + + static SymTabRec SISChipsets[] = { +@@ -453,7 +473,94 @@ SISDriverFunc(ScrnInfoPtr pScrn, SISDRIV + /****************************************************/ + /* Probe() */ + /****************************************************/ ++static Bool SIS_pci_probe (DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data) ++{ ++ ScrnInfoPtr pScrn; ++#ifdef SISDUALHEAD ++ EntityInfoPtr pEnt; ++ Bool foundScreen = FALSE; ++#endif ++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - begin, entity_num=%d\n", entity_num); ++xf86DrvMsg(0, X_INFO, " vendor_id=0x%x\n", device->vendor_id); ++xf86DrvMsg(0, X_INFO, " device_id=0x%x\n", device->device_id); ++xf86DrvMsg(0, X_INFO, " bus=%d\n", device->bus); ++xf86DrvMsg(0, X_INFO, " dev=%d\n", device->dev); ++xf86DrvMsg(0, X_INFO, " func=%d\n", device->func); ++ pScrn = NULL; ++ if((pScrn = xf86ConfigPciEntity(pScrn, 0, ++ entity_num, ++ SISPciChipsets, ++ NULL, NULL, NULL, NULL, NULL))) { ++ xf86DrvMsg(0, X_INFO, "SIS_pci_probe - ConfigPciEntity found\n"); ++ /* Fill in what we can of the ScrnInfoRec */ ++ pScrn->driverVersion = SIS_CURRENT_VERSION; ++ pScrn->driverName = SIS_DRIVER_NAME; ++ pScrn->name = SIS_NAME; ++ pScrn->Probe = NULL;//SISProbe; ++ pScrn->PreInit = SISPreInit; ++ pScrn->ScreenInit = SISScreenInit; ++ pScrn->SwitchMode = SISSwitchMode; ++ pScrn->AdjustFrame = SISAdjustFrame; ++ pScrn->EnterVT = SISEnterVT; ++ pScrn->LeaveVT = SISLeaveVT; ++ pScrn->FreeScreen = SISFreeScreen; ++ pScrn->ValidMode = SISValidMode; ++ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/ ++#ifdef X_XF86MiscPassMessage ++// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) { ++// pScrn->HandleMessage = SISHandleMessage; ++// } ++#endif ++ foundScreen = TRUE; ++ } ++ #ifdef SISDUALHEAD ++ pEnt = xf86GetEntityInfo(entity_num); ++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - GetEntityInfo chipset is 0x%x\n",pEnt->chipset); ++ switch(pEnt->chipset) { ++ case PCI_CHIP_SIS300: ++ case PCI_CHIP_SIS540: ++ case PCI_CHIP_SIS630: ++ case PCI_CHIP_SIS550: ++ case PCI_CHIP_SIS315: ++ case PCI_CHIP_SIS315H: ++ case PCI_CHIP_SIS315PRO: ++ case PCI_CHIP_SIS650: ++ case PCI_CHIP_SIS330: ++ case PCI_CHIP_SIS660: ++ case PCI_CHIP_SIS340: ++ case PCI_CHIP_SIS670: ++ case PCI_CHIP_SIS671: ++ case PCI_CHIP_XGIXG40: ++ { ++ SISEntPtr pSiSEnt = NULL; ++ DevUnion *pPriv; ++ ++ xf86SetEntitySharable(entity_num); ++ if(SISEntityIndex < 0) { ++ SISEntityIndex = xf86AllocateEntityPrivateIndex(); ++ } ++ pPriv = xf86GetEntityPrivate(pScrn->entityList[0], SISEntityIndex); ++ if(!pPriv->ptr) { ++ pPriv->ptr = xnfcalloc(sizeof(SISEntRec), 1); ++ pSiSEnt = pPriv->ptr; ++ memset(pSiSEnt, 0, sizeof(SISEntRec)); ++ pSiSEnt->lastInstance = -1; ++ } else { ++ pSiSEnt = pPriv->ptr; ++ } ++ pSiSEnt->lastInstance++; ++ xf86SetEntityInstanceForScreen(pScrn, pScrn->entityList[0], ++ pSiSEnt->lastInstance); ++ } ++ break; + ++ default: ++ break; ++ } ++#endif /* DUALHEAD */ ++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - end\n"); ++ return foundScreen; ++} + + static Bool + SISProbe(DriverPtr drv, int flags) +@@ -464,7 +571,7 @@ SISProbe(DriverPtr drv, int flags) + int numDevSections; + int numUsed, numUsedSiS, numUsedXGI; + Bool foundScreen = FALSE; +- ++xf86DrvMsg(0, X_INFO, "SISPRobe() begin, flags=%d\n", flags); + /* + * The aim here is to find all cards that this driver can handle, + * and for the ones not already claimed by another driver, claim +@@ -490,6 +597,7 @@ SISProbe(DriverPtr drv, int flags) + * There's no matching device section in the config file, so quit + * now. + */ ++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchDevice fail\n"); + return FALSE; + } + +@@ -526,14 +634,16 @@ SISProbe(DriverPtr drv, int flags) + xfree(devSections); + + numUsed = numUsedSiS + numUsedXGI; +- +- if(numUsed <= 0) ++xf86DrvMsg(0, X_INFO, "SISPRobe - test1\n"); ++ if(numUsed <= 0) { ++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchPciInstances fail\n"); + return FALSE; ++ } + + if(flags & PROBE_DETECT) { + + foundScreen = TRUE; +- ++ xf86DrvMsg(0, X_INFO, "SISProbe - flags already probe"); + } else for(i = 0; i < numUsed; i++) { + + ScrnInfoPtr pScrn; +@@ -548,6 +658,7 @@ SISProbe(DriverPtr drv, int flags) + (i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS], + (i < numUsedSiS) ? SISPciChipsets : XGIPciChipsets, + NULL, NULL, NULL, NULL, NULL))) { ++ xf86DrvMsg(0, X_INFO, "SISProbe - ConfigPciEntity found\n"); + /* Fill in what we can of the ScrnInfoRec */ + pScrn->driverVersion = SIS_CURRENT_VERSION; + pScrn->driverName = SIS_DRIVER_NAME; +@@ -563,16 +674,16 @@ SISProbe(DriverPtr drv, int flags) + pScrn->ValidMode = SISValidMode; + pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/ + #ifdef X_XF86MiscPassMessage +- if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) { +- pScrn->HandleMessage = SISHandleMessage; ++ if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) { ++// pScrn->HandleMessage = SISHandleMessage; + } + #endif + foundScreen = TRUE; + } +- ++xf86DrvMsg(0, X_INFO, "SISProbe - test2\n"); + #ifdef SISDUALHEAD + pEnt = xf86GetEntityInfo((i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS]); +- ++ xf86DrvMsg(0, X_INFO, "SISProbe - GetEntityInfo done\n"); + switch(pEnt->chipset) { + case PCI_CHIP_SIS300: + case PCI_CHIP_SIS540: +@@ -620,7 +731,7 @@ SISProbe(DriverPtr drv, int flags) + + if(usedChipsSiS) xfree(usedChipsSiS); + if(usedChipsXGI) xfree(usedChipsXGI); +- ++xf86DrvMsg(0, X_INFO, "SISProbe end\n"); + return foundScreen; + } + +@@ -1306,7 +1417,11 @@ SiSReadROM(ScrnInfoPtr pScrn) + } + + if(readpci) { ++#ifndef XSERVER_LIBPCIACCESS + xf86ReadPciBIOS(0, pSiS->PciTag, 0, pSiS->BIOS, biossize); ++#else ++ pci_device_read_rom(pSiS->PciInfo, pSiS->BIOS); ++#endif + if(SISCheckBIOS(pSiS, mypciid, mypcivendor, biossize)) { + found = TRUE; + } +@@ -2224,8 +2339,7 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr + { 2, 0x04, 56.6 }, + { 2, 0x02, 60.1 }, + { 2, 0x01, 80.1 } +- }; +- ++ }; + const myvddctiming myvtiming[11] = { + { 1, 0x02, 56 }, + { 1, 0x01, 60 }, +@@ -2240,11 +2354,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr + { 2, 0x01, 75 } + }; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSSetSyncRangeFromEdid\n"); +-#endif +- + if(flag) { /* HSync */ + + for(i = 0; i < 4; i++) { +@@ -2350,12 +2459,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr + static Bool + SiSAllowSyncOverride(SISPtr pSiS, Bool fromDDC, int mfbcrt) + { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSAllowSyncOverride\n"); +-#endif +-// return TRUE; +- + if(!(pSiS->VBFlags2 & VB2_VIDEOBRIDGE)) return FALSE; + + #ifdef SISDUALHEAD +@@ -2382,11 +2485,10 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f + } + #endif + +-// PCF +-// if(!(pSiS->VBFlags & DISPTYPE_CRT1)) { ++ if(!(pSiS->VBFlags & DISPTYPE_CRT1)) { + if( (pSiS->VBFlags & CRT2_TV) || + ((pSiS->VBFlags & CRT2_LCD) && (!fromDDC)) ) return TRUE; +-// } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE; ++ } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE; + + return FALSE; + } +@@ -2394,8 +2496,6 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f + static Bool + SiSCheckForH(float hsync, MonPtr monitor) + { +- +- + int i; + for(i = 0; i < monitor->nHsync; i++) { + if((hsync > monitor->hsync[i].lo * (1.0 - SYNC_TOLERANCE)) && +@@ -2409,7 +2509,6 @@ SiSCheckForH(float hsync, MonPtr monitor + static Bool + SiSCheckForV(float vrefresh, MonPtr monitor) + { +- + int i; + for(i = 0; i < monitor->nVrefresh; i++) { + if((vrefresh > monitor->vrefresh[i].lo * (1.0 - SYNC_TOLERANCE)) && +@@ -2424,21 +2523,11 @@ static Bool + SiSCheckAndOverruleH(ScrnInfoPtr pScrn, MonPtr monitor) + { + DisplayModePtr mode = monitor->Modes; +-// PCF + float mymin = 30.0, mymax = 80.0, hsync; +- + Bool doit = FALSE; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleH\n"); +-#endif +- + for(hsync = mymin; hsync <= mymax; hsync += .5) { +- if(!SiSCheckForH(hsync, monitor)) +- { +- doit = TRUE; +- } ++ if(!SiSCheckForH(hsync, monitor)) doit = TRUE; + } + + if(mode) { +@@ -2461,7 +2550,6 @@ SiSCheckAndOverruleH(ScrnInfoPtr pScrn, + return TRUE; + } + +- + return FALSE; + } + +@@ -2469,20 +2557,11 @@ static Bool + SiSCheckAndOverruleV(ScrnInfoPtr pScrn, MonPtr monitor) + { + DisplayModePtr mode = monitor->Modes; +-// PCF +- float mymin = 57.0, mymax = 63.0, vrefresh; ++ float mymin = 59.0, mymax = 61.0, vrefresh; + Bool doit = FALSE, ret = FALSE; +- +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleV\n"); +-#endif + + for(vrefresh = mymin; vrefresh <= mymax; vrefresh += 1.0) { +- if(!SiSCheckForV(vrefresh, monitor)) +- { +- doit = TRUE; +- } ++ if(!SiSCheckForV(vrefresh, monitor)) doit = TRUE; + } + + if(mode) { +@@ -2515,7 +2594,6 @@ SiSCheckAndOverruleV(ScrnInfoPtr pScrn, + monitor->nVrefresh++; + ret = TRUE; + } +- + return ret; + } + +@@ -2529,11 +2607,6 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int + static const char *saneh = "Correcting %s CRT%d monitor HSync range\n"; + static const char *sanev = "Correcting %s CRT%d monitor VRefresh range\n"; + int crtnum; +- +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSFixupHVRanges\n"); +-#endif + + #ifdef SISDUALHEAD + if(pSiS->DualHeadMode) { +@@ -2610,8 +2683,7 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int + } + } + } +-// PCF +-// return TRUE; ++ + return freqoverruled; + } + +@@ -2623,11 +2695,6 @@ SiSMakeOwnModeList(ScrnInfoPtr pScrn, Bo + Bool isfordvi, Bool *havecustommodes, Bool fakecrt2modes, Bool IsForCRT2) + { + DisplayModePtr tempmode, delmode, mymodes; +- +- // PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSMakeOwnModeList\n"); +-#endif + + if((mymodes = SiSBuildBuiltInModeList(pScrn, includelcdmodes, isfordvi, fakecrt2modes, IsForCRT2))) { + if(!acceptcustommodes) { +@@ -2676,11 +2743,6 @@ SiSSetupModeListParmsCRT1(SISPtr pSiS, u + Bool *acceptcustommodes, Bool *includelcdmodes, Bool *isfordvi, + Bool *fakecrt2modes, Bool *IsForCRT2, Bool *AllowInterlace) + { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSSetupModeListParmsCRT1\n"); +-#endif +- + (*acceptcustommodes) = TRUE; /* Accept user modelines */ + (*includelcdmodes) = TRUE; /* Include modes reported by DDC */ + (*isfordvi) = FALSE; /* Is for digital DVI output */ +@@ -2815,11 +2877,6 @@ SiSReplaceModeList(ScrnInfoPtr pScrn, Cl + * -) crt2 device is not TV, and + * -) crt1 is not LCDA, unless bridge is TMDS/LCDA capable (301C) + */ +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSReplaceModeList\n"); +-#endif +- + + if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) { + +@@ -2881,11 +2938,6 @@ SiSClearModesPrivate(DisplayModePtr mode + { + DisplayModePtr tempmode; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSClearModesPrivate\n"); +-#endif +- + /* Make sure that the Private field is NULL */ + /* (This way we don't have to care for MergedFB + * when freeing the mode; just check the Private +@@ -2904,11 +2956,6 @@ SiSDuplicateMode(DisplayModePtr source) + { + DisplayModePtr dest = NULL; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSDuplicateMode\n"); +-#endif +- + if(source) { + if((dest = xalloc(sizeof(DisplayModeRec)))) { + memcpy(dest, source, sizeof(DisplayModeRec)); +@@ -2972,11 +3019,6 @@ SiSBuildVesaModeList(ScrnInfoPtr pScrn, + SISPtr pSiS = SISPTR(pScrn); + int i = 0; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSBuildVesaModeList\n"); +-#endif +- + while(vbe->VideoModePtr[i] != 0xffff) { + sisModeInfoPtr m; + VbeModeInfoBlock *mode; +@@ -3014,7 +3056,7 @@ SiSSetMinMaxPixelClock(ScrnInfoPtr pScrn + { + SISPtr pSiS = SISPTR(pScrn); + MessageType from; +- ++ + /* Set the min pixel clock */ + pSiS->MinClock = 5000; + if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) { +@@ -3061,11 +3103,6 @@ SiSRemoveUnsuitableModes(ScrnInfoPtr pSc + int maxUsedClock = 0; + static const char *notsuitablestr = "Not using mode \"%s\" (not suitable for %s mode)\n"; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiSRemoveUnsuitableModes\n"); +-#endif +- + if((p = first = initial)) { + + do { +@@ -3222,11 +3259,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + static const char *crtsetupstr = "*************************** CRT%d setup ***************************\n"; + #endif + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SISPreInit Start\n"); +-#endif +- + if(flags & PROBE_DETECT) { + + vbeInfoPtr pVbe; +@@ -4716,10 +4748,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + mymax = 8192 * 1024; + else if(total <= 32768) /* <= 32MB: Use 16MB for X */ + mymax = 16384 * 1024; +- else +-// PCF /* Otherwise: Use 20MB for X */ +-// mymax = 20 * 1024 * 1024; +- mymax = 20 * 1024 *1024; ++ else /* Otherwise: Use 20MB for X */ ++ mymax = 20 * 1024 * 1024; + /* availMem is right now adjusted to not use the UMA + * area. Make sure that our default doesn't reach + * into the UMA area either. +@@ -4758,9 +4788,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + if(pScrn->videoRam <= 65536) + pSiS->maxxfbmem = 16384 * 1024; /* On >=315 series and <=64MB, use 16MB */ + else +-// PCF +-// pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */ +- pSiS->maxxfbmem = 20 * 1024 * 1024; ++ pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */ + } else + pSiS->maxxfbmem = 12288 * 1024; /* On <315 series, use 12MB */ + +@@ -4980,7 +5008,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + * via CRT2.) + * (TODO: This might need some modification for the + * 307 bridges, if these are capable of driving +- * LCDs > via channel B) ++ * LCDs > 1600 via channel B) + */ + if((pSiS->SiS_SD_Flags & SiS_SD_SUPPORTLCDA) && + (pSiS->VBFlags & CRT2_LCD) && +@@ -4995,10 +5023,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + */ + if(pSiS->ChipType < SIS_662 || pSiS->ChipType >= XGI_20) pSiS->ForceCRT1Type = CRT1_LCDA; + pSiS->ForceCRT2Type = CRT2_TV; +-// PCF +-// } else if(pSiS->LCDwidth > 1600) { +- } else if(pSiS->LCDwidth > 1920) { +- ++ } else if(pSiS->LCDwidth > 1600) { + /* If LCD is > 1600, default to LCDA if we don't need CRT1/VGA for other head */ + Bool NeedCRT1VGA = FALSE; + #ifdef SISDUALHEAD +@@ -5591,11 +5616,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + clockRanges->minClock = pSiS->MinClock; + clockRanges->maxClock = pSiS->MaxClock; + clockRanges->clockIndex = -1; /* programmable */ +-// PCF +-// clockRanges->interlaceAllowed = TRUE; +-// clockRanges->doubleScanAllowed = TRUE; +- clockRanges->interlaceAllowed = FALSE; +- clockRanges->doubleScanAllowed = FALSE; ++ clockRanges->interlaceAllowed = TRUE; ++ clockRanges->doubleScanAllowed = TRUE; + + /* Replace default mode list */ + SiSReplaceModeList(pScrn, clockRanges, FALSE); +@@ -5623,11 +5645,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + break; + case SIS_300_VGA: + case SIS_315_VGA: +-// PCF + maxpitch = 4088; +- maxheight = 4096; +-// maxpitch = 1600; +-// maxheight = 1200; ++ maxheight = 4096; + break; + default: + maxpitch = 2048; +@@ -5688,12 +5707,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pScrn->monitor->DDC = NULL; + } + #endif +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"xf86ValidateModes Start\n"); +- xf86DrvMsg(0, X_INFO,"virtualX = %d, virtualY = %d, maxpitch = %d, maxheight = %d, maxxfbmem = %ld \n", +- pScrn->display->virtualX,pScrn->display->virtualY,maxpitch,maxheight,pSiS->maxxfbmem/1024); +-#endif ++ + i = xf86ValidateModes(pScrn, + pScrn->monitor->Modes, + pScrn->display->modes, +@@ -5703,13 +5717,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + pScrn->bitsPerPixel * 8, + minheight, maxheight, + pScrn->display->virtualX, +- pScrn->display->virtualY, ++ pScrn->display->virtualY, + pSiS->maxxfbmem, + LOOKUP_BEST_REFRESH); +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"xf86ValidateModes End\n"); +-#endif + + pScrn->monitor->DDC = backupddc; + } +@@ -5745,28 +5755,17 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + #endif + + /* Prune the modes marked as invalid */ +-// PCF +-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes Start\n"); + xf86PruneDriverModes(pScrn); +-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes End\n"); +- + + if(i == 0 || pScrn->modes == NULL) { + SISErrorLog(pScrn, "No valid modes found - check VertRefresh/HorizSync\n"); + goto my_error_1; + } + +-// PCF +-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes Start\n"); + xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V); +-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes End\n"); +- + + /* Clear the modes' Private field */ +-// PCF +-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate Start\n"); + SiSClearModesPrivate(pScrn->modes); +-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate End\n"); + + /* Save virtualX/Y calculated by ValidateModes + * and overwrite them with our values assumed to +@@ -5823,23 +5822,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + } + + if(usemyprint) { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SiSPrintModes Start\n"); +-#endif + SiSPrintModes(pScrn, printfreq); +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SiSPrintModes End\n"); +-#endif + } else { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"xf86PrintModes Start\n"); +-#endif + xf86PrintModes(pScrn); +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"xf86PrintModes End\n"); +-#endif + } + } + +@@ -6072,10 +6057,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags) + + /*xf86DrvMsg(0,X_INFO,"CurrentMode=%d. \n",pSiS->Hkey_Device_Switch_State); + xf86DrvMsg(0,X_INFO,"Init_VBFlags=0X%x. \n",pSiS->VBFlags);*/ +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0,X_INFO,"SISPreInit End\n"); +-#endif ++ + return TRUE; + + /* ---- */ +@@ -7523,9 +7505,7 @@ SiSPreSetMode(ScrnInfoPtr pScrn, Display + xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, SISVERBLEVEL, "VBFlags=0x%x\n", pSiS->VBFlags); + + CR30 = 0x00; +-// PCF +-// CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */ +- CR31 &= ~0x20; /* Clear VB_Drivermode & VB_OutputDisable */ ++ CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */ + CR31 |= 0x04; /* Set VB_NotSimuMode (not for 30xB/1400x1050?) */ + CR35 = 0x00; + +@@ -8633,11 +8613,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISEntPtr pSiSEnt = NULL; + #endif + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit\n"); +-#endif +- + andSISIDXREG(SISCR,0x11,0x7f); /* Unlock CRTC registers */ + + SISModifyModeInfo(mode); /* Quick check of the mode parameters */ +@@ -8647,14 +8622,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + } + + if(pSiS->UseVESA) { /* With VESA: */ +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n"); +-#endif + + #ifdef SISDUALHEAD + /* No dual head mode when using VESA */ +@@ -8679,7 +8646,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSSetVESAMode() failed\n"); + return FALSE; + } +- + sisSaveUnlockExtRegisterLock(pSiS, NULL, NULL); + if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) { + SiSPreSetMode(pScrn, mode, SIS_MODE_SIMU); +@@ -8697,21 +8663,11 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SiSVGAProtect(pScrn, TRUE); + (*pSiS->SiSRestore)(pScrn, &pSiS->ModeReg); + SiSVGAProtect(pScrn, FALSE); +-// xf86DrvMsg(0, X_INFO,"VESA DualHeadMode SetMode\n"); ++ + } else { /* Without VESA: */ +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n"); +-#endif + + #ifdef SISDUALHEAD + if(pSiS->DualHeadMode) { +- +- xf86DrvMsg(0, X_INFO,"SISModeInit DualHeadMode\n"); + + if(!(*pSiS->ModeInit)(pScrn, mode)) { + SISErrorLog(pScrn, "ModeInit() failed\n"); +@@ -8730,10 +8686,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT2\n"); +-#endif + SiSPostSetMode(pScrn, &pSiS->ModeReg); + if(pSiSEnt->pScrn_2) { + /* No need to go through pScrn->AdjustFrame; the coords +@@ -8752,11 +8704,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT1\n"); +-#endif +- + SiS_SiSLVDSBackLight(pSiS, TRUE); + SiSPostSetMode(pScrn, &pSiS->ModeReg); + if(pSiSEnt->pScrn_1) { +@@ -8771,20 +8718,8 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + + } else { + #endif +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n"); +- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n"); +-#endif + + if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit SIS_315_VGA\n"); +-#endif + + if(!(*pSiS->ModeInit)(pScrn, mode)) { + SISErrorLog(pScrn, "ModeInit() failed\n"); +@@ -8795,10 +8730,7 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + + #ifdef SISMERGED + if(pSiS->MergedFB) { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit SISMERGED\n"); +-#endif ++ + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting MergedFB mode %dx%d\n", + mode->HDisplay, mode->VDisplay); + +@@ -8813,10 +8745,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT1\n"); +-#endif + + SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2); + +@@ -8827,10 +8755,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT2\n"); +-#endif + + SiS_SiSLVDSBackLight(pSiS, TRUE); + +@@ -8838,25 +8762,9 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + + } else { + #endif +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit Not SISMERGED\n"); +-#endif + + if((pSiS->VBFlags & CRT1_LCDA) || (!(mode->type & M_T_DEFAULT))) { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit #1\n"); +- if(pSiS->VBFlags & CRT1_LCDA) +- { +- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDA\n"); +- +- } +- else +- { +- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDB\n"); +- } +-#endif ++ + pSiS->SiS_Pr->SiS_EnableBackLight = FALSE; + + SiSPreSetMode(pScrn, mode, SIS_MODE_CRT1); +@@ -8867,10 +8775,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT1\n"); +-#endif + + SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2); + +@@ -8880,28 +8784,10 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n"); + return FALSE; + } +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT2\n"); +-#endif +- + + SiS_SiSLVDSBackLight(pSiS, TRUE); + + } else { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit #2\n"); +- +- if(pSiS->VBFlags & CRT1_LCDA) +- { +- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDA\n"); +- } +- else +- { +- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDB\n"); +- } +-#endif + + pSiS->SiS_Pr->SiS_EnableBackLight = TRUE; + +@@ -8918,11 +8804,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + #ifdef SISMERGED + } + #endif +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit #3\n"); +-#endif +- + SiSPostSetMode(pScrn, &pSiS->ModeReg); + #ifdef TWDEBUG + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VBFlags %lx\n", pSiS->VBFlags); +@@ -8932,10 +8813,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo + #endif + + } else { +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO,"SISModeInit Old method\n"); +-#endif + + /* For other chipsets, use the old method */ + +@@ -9147,7 +9024,7 @@ SISSaveScreenDH(ScreenPtr pScreen, int m + static void + SISDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags) + { +- SISPtr pSiS = SISPTR(pScrn); ++ SISPtr pSiS = SISPTR(pScrn); + Bool docrt1 = TRUE, docrt2 = TRUE, backlight = TRUE; + UChar sr1=0, cr17=0, cr63=0, pmreg=0, sr7=0; + UChar p1_13=0, p2_0=0, oldpmreg=0; +@@ -10237,7 +10114,6 @@ SISScreenInit(int scrnIndex, ScreenPtr p + static Bool + SiSValidLCDUserMode(SISPtr pSiS, unsigned int VBFlags, DisplayModePtr mode, Bool isforlcda) + { +- + if(mode->Flags & V_INTERLACE) return FALSE; + + if(mode->HDisplay > 2048) return FALSE; +@@ -10352,7 +10228,7 @@ SiS_CheckModeCRT1(ScrnInfoPtr pScrn, Dis + } + + } +- ++ + return(SiS_GetModeID(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, + i, pSiS->FSTN, pSiS->LCDwidth, pSiS->LCDheight)); + } +@@ -10370,12 +10246,8 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis + xf86DrvMsg(0, X_INFO, "Inside CheckCalcModeIndex (VBFlags %lx, mode %dx%d)\n", + VBFlags,mode->HDisplay, mode->VDisplay); + #endif ++ + if(VBFlags & CRT2_LCD) { /* CRT2 is LCD */ +- +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d\n",pSiS->LCDwidth,pSiS->LCDheight); +-#endif + + if((pSiS->VBFlags2 & VB2_SISTMDSBRIDGE) && (!(pSiS->VBFlags2 & VB2_30xBDH))) { + +@@ -10403,7 +10275,6 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis + return 0xfe; + + } +-// PCF + + if( ((mode->HDisplay <= pSiS->LCDwidth) && + (mode->VDisplay <= pSiS->LCDheight)) || +@@ -10415,15 +10286,11 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis + (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) || + ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) || + ((pSiS->EnablePanel_1366x768)&&(pSiS->LCDwidth==1366)&&(mode->HDisplay==1368))) {/*let 1366x768 mode valid. Ivans@090109*/ +-/* +- if( (mode->HDisplay <= pSiS->LCDwidth) && +- (mode->VDisplay <= pSiS->LCDheight)) { +-*/ ++ + ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i, + pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight, + pSiS->VBFlags2); +-// PCF +-// xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d, ModeID= %x\n",pSiS->LCDwidth,pSiS->LCDheight,ModeIndex); ++ + } + + } else if(VBFlags & CRT2_TV) { /* CRT2 is TV */ +@@ -10514,7 +10381,7 @@ SISValidMode(int scrnIndex, DisplayModeP + if(SiS_CheckModeCRT2(pScrn, mode, pSiS->VBFlags, + pSiS->VBFlags3, pSiS->HaveCustomModes) < 0x14){ + #ifdef TWDEBUG +- xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_Fail.\n"); ++ xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_OK.\n"); + #endif + return MODE_BAD; + } +@@ -10629,18 +10496,12 @@ SISSwitchMode(int scrnIndex, DisplayMode + * (In non-MergedFB mode this is also here in order + * to get a cheap update of the HWCursor image) + */ +- +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0,X_INFO,"SISSwitchMode\n"); +-#endif + + if(!pSiS->skipswitchcheck) { + if(SISValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) { + return FALSE; + } + } +- + /* Mark for 3D full-screen bug */ + /* + #ifdef XF86DRI +@@ -11510,12 +11371,6 @@ SISHotkeySwitchMode(ScrnInfoPtr pScrn, B + int dotclock=65146; + int hdisplay=1024; + +-// PCF +-#ifdef TWDEBUG +- xf86DrvMsg(0,X_INFO,"SISHotkeySwitchMode\n"); +-#endif +- +- + if(!VidModeGetCurrentModeline(pScrn->scrnIndex,&hkeymode,&dotClock)) + return FALSE; + +diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h +--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2008-09-02 10:19:02.000000000 -0400 ++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:21:54.000000000 -0500 +@@ -779,6 +779,9 @@ static Bool SISSwitchMode(int scrnIndex, + static void SISNewAdjustFrame(int scrnIndex, int x, int y, int flags); + static Bool SISPMEvent(int scrnIndex, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/ + ++#if XSERVER_LIBPCIACCESS ++static Bool SIS_pci_probe(DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data); ++#endif + /* ACPI Device Switch functions */ + static Bool SISHotkeySwitchCRT1Status(ScrnInfoPtr pScrn,int onoff);/*hotkey pressing: switch CRT1 on/off*/ + static Bool SISHotkeySwitchCRT2Status(ScrnInfoPtr pScrn,ULong newvbflags ,ULong newvbflags3);/*LCD on/off*/ diff --git a/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch b/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch new file mode 100644 index 000000000..415985921 --- /dev/null +++ b/staging/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch @@ -0,0 +1,89 @@ +--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-18 13:17:56.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-25 16:35:40.000000000 -0500 +@@ -11677,7 +11677,64 @@ SISPMEvent(int scrnIndex, pmEvent event, + return 1;/*TRUE*/ + } + ++void ++sis_print_registers(SISPtr pSiS) ++{ ++#define print(...) xf86ErrorFVerb(1, __VA_ARGS__) ++ auto void print_range(char *name, int base, int first, int last) { ++ int i, j; ++ unsigned char c; ++ char buffer[9]; ++ print("%s:\n", name); ++ buffer[8] = 0; ++ for (i = first; i <= last; i++) { ++ inSISIDXREG(base, i, c); ++ for (j = 0; j < 8; j++) ++ buffer[7 - j] = c & (1 << j) ? '1' : '0'; ++ print("\t%02x: %02x:%s\n", i, c, buffer); ++ } ++ } + ++ auto void print_range_int(char *name, int base, int first, int last) { ++ int i, j; ++ unsigned int l; ++ char buffer[33]; ++ print("%s:\n", name); ++ buffer[32] = 0; ++ for (i = first; i <= last; i += 4) { ++ l = inSISREGL(base + i); ++ for (j = 0; j < 32; j++) ++ buffer[31 - j] = l & (1 << j) ? '1' : '0'; ++ print("\t%02x: %08x:%s\n", i, l, buffer); ++ } ++ } + +- +- ++ print_range_int ("PCI: CNF00 - CNF1B", pSiS->RelIO, 0x00, 0x1b); ++ print_range_int ("PCI: CNF2C - CNF47", pSiS->RelIO, 0x2C, 0x47); ++ print_range_int ("AGP: CNF50 - CNF5B", pSiS->RelIO, 0x50, 0x5B); ++ print_range ("CRT1: SR05 - SR12", SISSR, 0x05, 0x12); ++ print_range ("CRT1: SR13 - SR16 (reserved)", SISSR, 0x13, 0x16); ++ print ("CRT1: SR19 - SR1A (reserved)\n"); ++ print_range ("CRT1: SR1B - SR3A", SISSR, 0x1b, 0x3a); ++ print ("CRT1: SR3B (reserved)\n"); ++ print_range ("CRT1: SR3C - SR3F", SISSR, 0x3c, 0x3f); ++ print_range ("CRT1: CR19 - CR1A", SISCR, 0x19, 0x1a); ++ print ("CRT1: CR1B - CR27 (undocumented?)\n"); ++ print_range ("CRT1: CR28 - CR2E", SISCR, 0x28, 0x2e); ++ print ("CRT1: CR2F (reserved)\n"); ++ print_range ("VGA BIOS: CR30 - CR3F", SISCR, 0x30, 0x3f); ++ print_range ("CRT1: CR40 - CR43", SISCR, 0x40, 0x43); ++ print ("CRT1: CR44 - CR45 (reserved)\n"); ++ print_range ("CRT1: CR46 - CR67", SISCR, 0x46, 0x67); ++ print ("CRT1: CR68 - CR6F (DRAM registers reserved for backward compatibility with 760)\n"); ++ print ("CRT1: CR70 - CR77 (undocumented?)\n"); ++ print_range ("SMA BIOS: CR78 - CR7F", SISCR, 0x78, 0x7f); ++ print_range_int ("CRT1: CR80 - CR9B", SISCR, 0x80, 0xb3); ++ print_range_int ("CRT1: CRC0 - CRF3", SISCR, 0xc0, 0xf3); ++ print_range ("CRT2: SIGNAL REGISTERS, PART1 00 - 45", SISPART1, 0x00, 0x45); ++ print_range ("CRT2: TV SIGNAL REGISTERS, PART2 00 - 4d", SISPART2, 0x00, 0x4d); ++ print_range ("CRT2: TV COPY PROTECTION, PART3 00 - 40", SISPART3, 0x00, 0x40); ++ print_range ("CRT2: SIGNAL REGISTERS, PART4 00 - 3A", SISPART4, 0x00, 0x3a); ++ print_range ("CRT2: PALETTE SIGNAL REGISTERS, PART5 00 - 00 (?)", SISPART5, 0x00, 0x00); ++#undef print ++} +--- xf86-video-sis-0.9.1/src/sis_video.c.orig 2010-01-18 13:17:56.000000000 -0500 ++++ xf86-video-sis-0.9.1/src/sis_video.c 2010-01-26 13:38:13.000000000 -0500 +@@ -129,6 +129,8 @@ + + #include "sis_video.h" + ++extern void sis_print_registers(SISPtr pSiS); ++ + void SiSInitMC(ScreenPtr pScreen); + + /********************************* +@@ -712,6 +714,8 @@ SISResetVideo(ScrnInfoPtr pScrn) + #ifdef SISMERGED + pPriv->mustresettap2 = TRUE; + #endif ++ ++ sis_print_registers(pSiS); + } + + diff --git a/staging/xf86-video-sisimedia/xserver19.patch b/staging/xf86-video-sisimedia/xserver19.patch new file mode 100644 index 000000000..67ef6f585 --- /dev/null +++ b/staging/xf86-video-sisimedia/xserver19.patch @@ -0,0 +1,30 @@ +Index: xf86-video-sis-0.9.1/src/sis_driver.c +=================================================================== +--- xf86-video-sis-0.9.1.orig/src/sis_driver.c ++++ xf86-video-sis-0.9.1/src/sis_driver.c +@@ -85,7 +85,6 @@ + #include "shadowfb.h" + #include "fb.h" + #include "micmap.h" +-#include "mibank.h" + #include "mipointer.h" + #include "mibstore.h" + #include "edid.h" +Index: xf86-video-sis-0.9.1/src/sis_mergedfb.c +=================================================================== +--- xf86-video-sis-0.9.1.orig/src/sis_mergedfb.c ++++ xf86-video-sis-0.9.1/src/sis_mergedfb.c +@@ -2948,11 +2948,11 @@ SiSXineramaExtensionInit(ScrnInfoPtr pSc + + while(SiSXineramaGeneration != serverGeneration) { + +- ClientType = CreateNewResourceType(SiSXineramaFreeClient); ++ ClientType = CreateNewResourceType(SiSXineramaFreeClient, "XineramaClient"); + if(!ClientType) + break; + +- EventType = CreateNewResourceType(SiSXineramaFreeEvents); ++ EventType = CreateNewResourceType(SiSXineramaFreeEvents, "XineramaEvents"); + if(!EventType) + break; + diff --git a/staging/xorg-server/PKGBUILD b/staging/xorg-server/PKGBUILD index 67ef9db6b..26bd56ee8 100644 --- a/staging/xorg-server/PKGBUILD +++ b/staging/xorg-server/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 135080 2011-08-10 07:26:57Z jgc $ +# $Id: PKGBUILD 136404 2011-08-29 07:29:48Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.10.99.902 +pkgver=1.11.0 pkgrel=1 arch=('i686' 'x86_64') license=('custom') @@ -15,7 +15,7 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 xvfb-run xvfb-run.1 10-quirks.conf) -sha1sums=('27cfd505a1d6c2ac6adf0af135676a96cb693c9e' +sha1sums=('5fa0c0a190fbe1030a14e435de2d5a3259ca70be' '0249b892f27243d8fe6fe6d226bf4c2391cedf49' 'c94f742d3f9cabf958ae58e4015d9dd185aabedc' '6838fc00ef4618c924a77e0fb03c05346080908a' |