diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/xf86-video-chips/APKBUILD | 11 | ||||
-rw-r--r-- | main/xf86-video-chips/chips-1.2.4-git.patch | 912 | ||||
-rw-r--r-- | main/xf86-video-chips/iopl.h | 60 |
3 files changed, 66 insertions, 917 deletions
diff --git a/main/xf86-video-chips/APKBUILD b/main/xf86-video-chips/APKBUILD index 01c05a77b4..05ee07738f 100644 --- a/main/xf86-video-chips/APKBUILD +++ b/main/xf86-video-chips/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xf86-video-chips -pkgver=1.2.4 -pkgrel=2 +pkgver=1.2.5 +pkgrel=0 pkgdesc="Chips and Technologies video driver" url="http://xorg.freedesktop.org/" arch="all" @@ -12,7 +12,7 @@ makedepends="pkgconfig xorg-server-dev libxi-dev fontsproto randrproto videoproto renderproto" source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2 - chips-1.2.4-git.patch" + iopl.h" prepare() { cd "$srcdir"/$pkgname-$pkgver @@ -21,6 +21,7 @@ prepare() { *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done + ! [ -e util/iopl.h ] && cp "$srcdir"/iopl.h util/ } build() { cd "$srcdir"/$pkgname-$pkgver @@ -35,5 +36,5 @@ package() { rm "$pkgdir"/usr/lib/xorg/modules/*/*.la || return 1 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } -md5sums="7aed07116e56c0630f62d7d34d7526e1 xf86-video-chips-1.2.4.tar.bz2 -458dcf84d477e5d289428f7b39ccf2a7 chips-1.2.4-git.patch" +md5sums="56be62612f98a0cf469a2a78c0a14ed5 xf86-video-chips-1.2.5.tar.bz2 +e4a7c922ab37bb4c8f44f731c9bec911 iopl.h" diff --git a/main/xf86-video-chips/chips-1.2.4-git.patch b/main/xf86-video-chips/chips-1.2.4-git.patch deleted file mode 100644 index 9d8e856a3b..0000000000 --- a/main/xf86-video-chips/chips-1.2.4-git.patch +++ /dev/null @@ -1,912 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 225e516..c0ed508 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS - AC_DISABLE_STATIC - AC_PROG_LIBTOOL - --# Checks for programs. --AM_PROG_CC_C_O -- - AH_TOP([#include "xorg-server.h"]) - - # Define a configure option for an alternate module directory -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..a2e5c94 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags) - } - - } -- xfree(usedChips); -+ free(usedChips); - } - } - -@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags) - pScrn->ValidMode = CHIPSValidMode; - foundScreen = TRUE; - } -- xfree(usedChips); -+ free(usedChips); - } - } - #endif - -- xfree(devSections); -+ free(devSections); - return foundScreen; - } - #endif -@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - - hwp = VGAHWPTR(pScrn); - vgaHWGetIOBase(hwp); -+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - cPtr->PIOBase = hwp->PIOOffset; -+#else -+ cPtr->PIOBase = 0; -+#endif -+ - /* - * Must allow ensure that storage for the 2nd set of vga registers is - * allocated for dual channel cards -@@ -1639,55 +1644,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 +2300,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 +3689,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 +3740,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 +3846,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 +3886,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 +3958,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 +4005,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, -@@ -4223,7 +4131,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - } - if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, - pScrn->displayWidth, pBankInfo)) { -- xfree(pBankInfo); -+ free(pBankInfo); - pBankInfo = NULL; - return FALSE; - } -@@ -4244,9 +4152,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 +4274,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 +4328,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 +4345,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 +4418,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 +4474,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 +4537,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 +5422,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 +5431,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 +5560,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 +5580,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 +5593,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 +5631,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 +5784,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 +6693,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..9033867 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 */ -@@ -272,11 +271,13 @@ typedef struct { - - typedef struct _CHIPSRec { - pciVideoPtr PciInfo; -+#ifndef XSERVER_LIBPCIACCESS - PCITAG PciTag; -+#endif - int Chipset; - EntityInfoPtr pEnt; -- IOADDRESS PIOBase; -- CARD32 IOAddress; -+ unsigned long PIOBase; -+ unsigned long IOAddress; - unsigned long FbAddress; - unsigned int IOBase; - unsigned char * FbBase; -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); - } -diff --git a/util/dRegs.c b/util/dRegs.c -index b7edc8f..0d2f0cb 100644 ---- a/util/dRegs.c -+++ b/util/dRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int main(void) - { -diff --git a/util/iopl.h b/util/iopl.h -new file mode 100644 -index 0000000..e08207c ---- /dev/null -+++ b/util/iopl.h -@@ -0,0 +1,60 @@ -+#ifdef __NetBSD__ -+# include <sys/types.h> -+# include <machine/pio.h> -+# include <machine/sysarch.h> -+#else -+# if defined(__linux__) -+/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc -+ * # include <sys/io.h> -+ */ -+int iopl(int level); -+# endif -+# if defined(SVR4) && defined(i386) -+# include <sys/types.h> -+# ifdef NCR -+ /* broken NCR <sys/sysi86.h> */ -+# define __STDC -+# include <sys/sysi86.h> -+# undef __STDC -+# else -+# include <sys/sysi86.h> -+# endif -+# ifdef SVR4 -+# if !defined(sun) -+# include <sys/seg.h> -+# endif -+# endif -+# include <sys/v86.h> -+# if defined(sun) -+# include <sys/psw.h> -+# endif -+# endif -+# include "AsmMacros.h" -+#endif /* NetBSD */ -+ -+#include <unistd.h> -+#include <stdio.h> -+#include <stdlib.h> -+ -+#ifdef __NetBSD__ -+# define SET_IOPL() i386_iopl(3) -+# define RESET_IOPL() i386_iopl(0) -+#else -+# if defined(SVR4) && defined(i386) -+# ifndef SI86IOPL -+# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) -+# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) -+# else -+# define SET_IOPL() sysi86(SI86IOPL,3) -+# define RESET_IOPL() sysi86(SI86IOPL,0) -+# endif -+# else -+# ifdef linux -+# define SET_IOPL() iopl(3) -+# define RESET_IOPL() iopl(0) -+# else -+# define SET_IOPL() (void)0 -+# define RESET_IOPL() (void)0 -+# endif -+# endif -+#endif -diff --git a/util/mRegs.c b/util/mRegs.c -index f359738..843d01d 100644 ---- a/util/mRegs.c -+++ b/util/mRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int hex2int(char* str); - -diff --git a/util/modClock.c b/util/modClock.c -index 89a291a..45af19b 100644 ---- a/util/modClock.c -+++ b/util/modClock.c -@@ -1,61 +1,12 @@ -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> -+ - #ifndef Lynx - #include <fnmatch.h> - #endif - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - #define tolerance 0.01 /* +/- 1% */ - diff --git a/main/xf86-video-chips/iopl.h b/main/xf86-video-chips/iopl.h new file mode 100644 index 0000000000..e08207c7f2 --- /dev/null +++ b/main/xf86-video-chips/iopl.h @@ -0,0 +1,60 @@ +#ifdef __NetBSD__ +# include <sys/types.h> +# include <machine/pio.h> +# include <machine/sysarch.h> +#else +# if defined(__linux__) +/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc + * # include <sys/io.h> + */ +int iopl(int level); +# endif +# if defined(SVR4) && defined(i386) +# include <sys/types.h> +# ifdef NCR + /* broken NCR <sys/sysi86.h> */ +# define __STDC +# include <sys/sysi86.h> +# undef __STDC +# else +# include <sys/sysi86.h> +# endif +# ifdef SVR4 +# if !defined(sun) +# include <sys/seg.h> +# endif +# endif +# include <sys/v86.h> +# if defined(sun) +# include <sys/psw.h> +# endif +# endif +# include "AsmMacros.h" +#endif /* NetBSD */ + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> + +#ifdef __NetBSD__ +# define SET_IOPL() i386_iopl(3) +# define RESET_IOPL() i386_iopl(0) +#else +# if defined(SVR4) && defined(i386) +# ifndef SI86IOPL +# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +# else +# define SET_IOPL() sysi86(SI86IOPL,3) +# define RESET_IOPL() sysi86(SI86IOPL,0) +# endif +# else +# ifdef linux +# define SET_IOPL() iopl(3) +# define RESET_IOPL() iopl(0) +# else +# define SET_IOPL() (void)0 +# define RESET_IOPL() (void)0 +# endif +# endif +#endif |