summaryrefslogtreecommitdiff
path: root/extra/xf86-video-cirrus
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2012-04-03 14:54:55 +0000
committerParabola <dev@list.parabolagnulinux.org>2012-04-03 14:54:55 +0000
commitb618c3d0693aec564c6746238fd05d94e31d3b76 (patch)
tree4a4834f3097bba25dba1adeba4324080c1b4bf7b /extra/xf86-video-cirrus
parent8cb5196780766f47b595410eed8ddbee2e8add08 (diff)
Tue Apr 3 14:54:45 UTC 2012
Diffstat (limited to 'extra/xf86-video-cirrus')
-rw-r--r--extra/xf86-video-cirrus/cirrus-1.3.2-git.patch846
1 files changed, 0 insertions, 846 deletions
diff --git a/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch b/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch
deleted file mode 100644
index 5701a8473..000000000
--- a/extra/xf86-video-cirrus/cirrus-1.3.2-git.patch
+++ /dev/null
@@ -1,846 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index aa89732..7bd8873 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -18,17 +18,18 @@
- # 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
-
--EXTRA_DIST = README.multihead ChangeLog
-+EXTRA_DIST = README.multihead
-
--MAINTAINERCLEANFILES=ChangeLog
-+.PHONY: ChangeLog INSTALL
-
--.PHONY: ChangeLog
-+INSTALL:
-+ $(INSTALL_CMD)
-
- ChangeLog:
- $(CHANGELOG_CMD)
-
--dist-hook: ChangeLog
-+dist-hook: ChangeLog INSTALL
-
-diff --git a/configure.ac b/configure.ac
-index d205eb3..68c3eb3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,47 +20,47 @@
- #
- # Process this file with autoconf to produce a configure script
-
--AC_PREREQ(2.57)
-+# Initialize Autoconf
-+AC_PREREQ([2.60])
- AC_INIT([xf86-video-cirrus],
-- 1.3.2,
-+ [1.3.2],
- [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
-- xf86-video-cirrus)
--
-+ [xf86-video-cirrus])
- 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
-
--# 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
-
--# Checks for programs.
-+# Initialize libtool
- AC_DISABLE_STATIC
- AC_PROG_LIBTOOL
--AC_PROG_CC
--XORG_CWARNFLAGS
-
- 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"
-@@ -78,21 +78,15 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
- fi
- AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-
--# Checks for header files.
--AC_HEADER_STDC
-
--AC_SUBST([XORG_CFLAGS])
- AC_SUBST([moduledir])
-
- DRIVER_NAME=cirrus
- AC_SUBST([DRIVER_NAME])
-
--XORG_MANPAGE_SECTIONS
--XORG_RELEASE_VERSION
--XORG_CHANGELOG
--
--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..1ea26b3 100644
---- a/man/Makefile.am
-+++ b/man/Makefile.am
-@@ -1,28 +1,25 @@
- #
--# 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.
--#
-+# Copyright (c) 2005, Oracle and/or its affiliates. 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
-+# 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/man/cirrus.man b/man/cirrus.man
-index 009011e..af46248 100644
---- a/man/cirrus.man
-+++ b/man/cirrus.man
-@@ -1,4 +1,3 @@
--.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cirrus.man,v 1.2 2001/01/27 18:20:47 dawes Exp $
- .\" shorthand for double quote that works everywhere.
- .ds q \N'34'
- .TH CIRRUS __drivermansuffix__ __vendorversion__
-diff --git a/src/CirrusClk.c b/src/CirrusClk.c
-index a3590c9..6fd6270 100644
---- a/src/CirrusClk.c
-+++ b/src/CirrusClk.c
-@@ -1,5 +1,3 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/CirrusClk.c,v 1.8 1998/12/06 06:08:28 dawes Exp $ */
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
-diff --git a/src/alp.h b/src/alp.h
-index 01c5301..a182d0c 100644
---- a/src/alp.h
-+++ b/src/alp.h
-@@ -1,5 +1,3 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp.h,v 1.8 2001/10/01 13:44:05 eich Exp $ */
--
- /* (c) Itai Nahshon */
-
- #ifndef ALP_H
-diff --git a/src/alp_driver.c b/src/alp_driver.c
-index fe81757..d3d8e4f 100644
---- a/src/alp_driver.c
-+++ b/src/alp_driver.c
-@@ -15,8 +15,6 @@
- #include "config.h"
- #endif
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_driver.c,v 1.35 2003/11/03 05:11:09 tsi Exp $ */
--
- /* All drivers should typically include these */
- #include "xf86.h"
- #include "xf86_OSproc.h"
-@@ -29,6 +27,10 @@
- /* Drivers for PCI hardware need this */
- #include "xf86PciInfo.h"
-
-+#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */
-+#define PCI_CHIP_GD7556 0x004C
-+#endif
-+
- /* Drivers that need to access the PCI config space directly need this */
- #include "xf86Pci.h"
-
-@@ -119,6 +121,11 @@ static void AlpOffscreenAccelInit(ScrnInfoPtr pScrn);
- static void AlpDisplayPowerManagementSet(ScrnInfoPtr pScrn,
- int PowerManagementMode, int flags);
-
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+static void PC98CIRRUS755xEnable(ScrnInfoPtr pScrn);
-+static void PC98CIRRUS755xDisable(ScrnInfoPtr pScrn);
-+#endif
-+
- /*
- * This is intentionally screen-independent. It indicates the binding
- * choice made in the first PreInit.
-@@ -153,6 +160,8 @@ static int gd5430_MaxClocks[] = { 85500, 85500, 50000, 28500, 0 };
- static int gd5446_MaxClocks[] = { 135100, 135100, 85500, 85500, 0 };
- static int gd5480_MaxClocks[] = { 135100, 200000, 200000, 135100, 135100 };
- static int gd7548_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 };
-+static int gd7555_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 };
-+static int gd7556_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 };
-
- #ifdef XFree86LOADER
-
-@@ -248,7 +257,7 @@ AlpFreeRec(ScrnInfoPtr pScrn)
- {
- if (pScrn->driverPrivate == NULL)
- return;
-- xfree(pScrn->driverPrivate);
-+ free(pScrn->driverPrivate);
- pScrn->driverPrivate = NULL;
- }
-
-@@ -385,6 +394,11 @@ AlpCountRam(ScrnInfoPtr pScrn)
- break;
- }
- break;
-+
-+ case PCI_CHIP_GD7555:
-+ case PCI_CHIP_GD7556:
-+ videoram = 2048; /* for PC-9821 La13 etc. */
-+ break;
- }
-
- /* UNMap the Alp memory and MMIO areas */
-@@ -407,6 +421,8 @@ GetAccelPitchValues(ScrnInfoPtr pScrn)
- {
- int *linePitches = NULL;
- int i, n = 0;
-+ int max_pitch;
-+
- CirPtr pCir = CIRPTR(pScrn);
-
- /* XXX ajv - 512, 576, and 1536 may not be supported
-@@ -423,8 +439,21 @@ GetAccelPitchValues(ScrnInfoPtr pScrn)
- 1280, 1536, 1600, 1920, 2048, 0 };
- #endif
-
-+ switch (pCir->Chipset) {
-+ case PCI_CHIP_GD5436:
-+ case PCI_CHIP_GD5446:
-+ max_pitch = 0x1ff << 3;
-+ break;
-+
-+ default:
-+ /* FIXME max_pitch for other chipsets? */
-+ max_pitch = (pScrn->bitsPerPixel / 8) * 2048;
-+ break;
-+ }
-+
- for (i = 0; accelWidths[i] != 0; i++) {
-- if (accelWidths[i] % pCir->Rounding == 0) {
-+ if ((accelWidths[i] % pCir->Rounding == 0)
-+ && ((accelWidths[i] * pScrn->bitsPerPixel / 8) <= max_pitch)) {
- n++;
- linePitches = xnfrealloc(linePitches, n * sizeof(int));
- linePitches[n - 1] = accelWidths[i];
-@@ -482,12 +511,17 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
-
- pCir = CIRPTR(pScrn);
- pCir->pScrn = pScrn;
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
- pCir->PIOReg = hwp->PIOOffset + 0x3CE;
-+#else
-+ pCir->PIOReg = 0x3CE;
-+#endif
-
- /* Get the entity, and make sure it is PCI. */
- pCir->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
- if (pCir->pEnt->location.type != BUS_PCI) {
-- xfree(pCir->pEnt);
-+ free(pCir->pEnt);
- return FALSE;
- }
-
-@@ -498,7 +532,8 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
- PCI_DEV_DEV(pCir->PciInfo),
- PCI_DEV_FUNC(pCir->PciInfo));
-
-- if (xf86LoadSubModule(pScrn, "int10")) {
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+ if (!xf86IsPc98() && xf86LoadSubModule(pScrn, "int10")) {
- xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n");
- pInt = xf86InitInt10(pCir->pEnt->index);
- xf86FreeInt10(pInt);
-@@ -509,8 +544,8 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
-
- PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 0, REGION_MEM), 0x10);
- PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 1, REGION_MEM), 0x14);
--
- }
-+#endif
-
- /* Set pScrn->monitor */
- pScrn->monitor = pScrn->confScreen->monitor;
-@@ -574,7 +609,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
- xf86CollectOptions(pScrn, NULL);
-
- /* Process the options */
-- if (!(pCir->Options = xalloc(sizeof(CirOptions))))
-+ if (!(pCir->Options = malloc(sizeof(CirOptions))))
- return FALSE;
- memcpy(pCir->Options, CirOptions, sizeof(CirOptions));
- xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pCir->Options);
-@@ -589,6 +624,16 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
-
- from = X_DEFAULT;
- pCir->HWCursor = FALSE;
-+
-+ switch (pCir->Chipset) {
-+ case PCI_CHIP_GD7555:
-+ case PCI_CHIP_GD7556:
-+ pCir->HWCursor = TRUE;
-+ break;
-+ default:
-+ break;
-+ }
-+
- if (xf86GetOptValBool(pCir->Options, OPTION_HW_CURSOR, &pCir->HWCursor))
- from = X_CONFIG;
-
-@@ -863,10 +908,10 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
- case PCI_CHIP_GD5430:
- case PCI_CHIP_GD5434_4:
- case PCI_CHIP_GD5434_8:
-- case PCI_CHIP_GD5436:
- /* case PCI_CHIP_GD5440: */
- p = gd5430_MaxClocks;
- break;
-+ case PCI_CHIP_GD5436:
- case PCI_CHIP_GD5446:
- p = gd5446_MaxClocks;
- break;
-@@ -876,6 +921,12 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
- case PCI_CHIP_GD7548:
- p = gd7548_MaxClocks;
- break;
-+ case PCI_CHIP_GD7555:
-+ p = gd7555_MaxClocks;
-+ break;
-+ case PCI_CHIP_GD7556:
-+ p = gd7556_MaxClocks;
-+ break;
- }
- if (!p)
- return FALSE;
-@@ -1360,6 +1411,11 @@ AlpModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
-
- vgaHWProtect(pScrn, FALSE);
-
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+ if (xf86IsPc98())
-+ PC98CIRRUS755xEnable(pScrn);
-+#endif
-+
- return TRUE;
- }
-
-@@ -1489,7 +1545,7 @@ AlpScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
-
- if(pCir->shadowFB) {
- pCir->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
-- pCir->ShadowPtr = xalloc(pCir->ShadowPitch * height);
-+ pCir->ShadowPtr = malloc(pCir->ShadowPitch * height);
- displayWidth = pCir->ShadowPitch / (pScrn->bitsPerPixel >> 3);
- FbBase = pCir->ShadowPtr;
- } else {
-@@ -1782,6 +1838,11 @@ AlpLeaveVT(int scrnIndex, int flags)
-
- AlpRestore(pScrn);
- vgaHWLock(hwp);
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+ if (xf86IsPc98())
-+ PC98CIRRUS755xDisable(pScrn);
-+#endif
- }
-
-
-@@ -1813,12 +1874,17 @@ AlpCloseScreen(int scrnIndex, ScreenPtr pScreen)
- xf86DestroyCursorInfoRec(pCir->CursorInfoRec);
- pCir->CursorInfoRec = NULL;
- if (pCir->DGAModes)
-- xfree(pCir->DGAModes);
-+ free(pCir->DGAModes);
- pCir->DGAnumModes = 0;
- pCir->DGAModes = NULL;
-
- pScrn->vtSema = FALSE;
-
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+ if (xf86IsPc98())
-+ PC98CIRRUS755xDisable(pScrn);
-+#endif
-+
- pScreen->CloseScreen = pCir->CloseScreen;
- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
- }
-@@ -2081,3 +2147,53 @@ AlpOffscreenAccelInit(ScrnInfoPtr pScrn)
- box.y2 - pScrn->virtualY);
- }
- }
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-+static void
-+PC98CIRRUS755xEnable(ScrnInfoPtr pScrn) /* enter_aile() */
-+{
-+ unsigned int index,data;
-+ vgaHWPtr hwp = VGAHWPTR(pScrn);
-+
-+ outb(0xfac, 0x02);
-+
-+ outb(0x68, 0x0e);
-+ outb(0x6a, 0x07);
-+ outb(0x6a, 0x8f);
-+ outb(0x6a, 0x06);
-+
-+ outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */
-+
-+ index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET;
-+ data = hwp->IOBase + VGA_CRTC_DATA_OFFSET;
-+ outb(index, 0x3c);
-+ outb(data, inb(data) & 0xef);
-+ outb(index, 0x1a);
-+ outb(data, inb(data) & 0xf3);
-+}
-+
-+static void
-+PC98CIRRUS755xDisable(ScrnInfoPtr pScrn) /* leave_aile() */
-+{
-+ unsigned int index,data;
-+ vgaHWPtr hwp = VGAHWPTR(pScrn);
-+
-+ outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */
-+
-+ index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET;
-+ data = hwp->IOBase + VGA_CRTC_DATA_OFFSET;
-+ outb(index, 0x3c);
-+ outb(data, 0x71);
-+ outb(index, 0x1a);
-+ outb(data, inb(data) | 0x0c);
-+
-+ outb(0xfac,0x00);
-+
-+ outb(0x68, 0x0f);
-+ outb(0x6a, 0x07);
-+ outb(0x6a, 0x8e);
-+ outb(0x6a, 0x21);
-+ outb(0x6a, 0x69);
-+ outb(0x6a, 0x06);
-+}
-+#endif
-diff --git a/src/alp_hwcurs.c b/src/alp_hwcurs.c
-index 79dfce7..9891eb4 100644
---- a/src/alp_hwcurs.c
-+++ b/src/alp_hwcurs.c
-@@ -1,5 +1,3 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_hwcurs.c,v 1.4 2000/12/06 15:35:15 eich Exp $ */
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
-diff --git a/src/alp_i2c.c b/src/alp_i2c.c
-index 9e6ae67..7365215 100644
---- a/src/alp_i2c.c
-+++ b/src/alp_i2c.c
-@@ -4,8 +4,6 @@
- #include "config.h"
- #endif
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_i2c.c,v 1.6 1999/02/28 11:19:38 dawes Exp $ */
--
- #include "xf86.h"
- #include "xf86_OSproc.h"
- #include "compiler.h"
-diff --git a/src/alp_xaa.c b/src/alp_xaa.c
-index 95741fc..7a96e1a 100644
---- a/src/alp_xaa.c
-+++ b/src/alp_xaa.c
-@@ -4,8 +4,6 @@
- #include "config.h"
- #endif
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_xaa.c,v 1.7 2001/10/01 13:44:05 eich Exp $ */
--
- #include "xf86.h"
- #include "xf86_OSproc.h"
- #include "compiler.h"
-diff --git a/src/alp_xaam.c b/src/alp_xaam.c
-index 0193a43..3ecc7de 100644
---- a/src/alp_xaam.c
-+++ b/src/alp_xaam.c
-@@ -1,6 +1,5 @@
- /* (c) Itai Nahshon */
- /* #define DEBUG */
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/alp_xaam.c,v 1.7 2001/10/01 13:44:05 eich Exp $ */
-
- #ifdef HAVE_CONFIG_H
- #include "config.h"
-diff --git a/src/cir.h b/src/cir.h
-index 904d9cc..861966d 100644
---- a/src/cir.h
-+++ b/src/cir.h
-@@ -1,5 +1,3 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir.h,v 1.20 2002/01/04 21:26:54 tsi Exp $ */
--
- /* (c) Itai Nahshon */
-
- #ifndef CIR_H
-@@ -23,7 +21,7 @@ typedef struct {
- CARD32 properties;
- pciVideoPtr PciInfo;
- PCITAG PciTag;
-- IOADDRESS PIOReg;
-+ unsigned long PIOReg;
- union {
- struct lgRec *lg;
- struct alpRec *alp;
-diff --git a/src/cir_dga.c b/src/cir_dga.c
-index bc98df6..f930231 100644
---- a/src/cir_dga.c
-+++ b/src/cir_dga.c
-@@ -1,4 +1,3 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir_dga.c,v 1.5 2001/02/15 17:39:27 eich Exp $ */
- /*
- * Copyright 2000 by Egbert Eich
- *
-@@ -83,9 +82,9 @@ CirDGAInit(ScreenPtr pScreen)
- if (!pCir->DGAnumModes) {
- pMode = firstMode = pScrn->modes;
- while (pMode) {
-- newmodes = xrealloc(modes, (num + 1) * sizeof (DGAModeRec));
-+ newmodes = realloc(modes, (num + 1) * sizeof (DGAModeRec));
- if (!newmodes) {
-- xfree(modes);
-+ free(modes);
- return FALSE;
- }
- modes = newmodes;
-diff --git a/src/cir_driver.c b/src/cir_driver.c
-index 5466c48..7e470bb 100644
---- a/src/cir_driver.c
-+++ b/src/cir_driver.c
-@@ -15,8 +15,6 @@
- #include "config.h"
- #endif
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir_driver.c,v 1.67 2001/05/15 10:19:37 eich Exp $ */
--
- /* All drivers should typically include these */
- #include "xf86.h"
- #include "xf86_OSproc.h"
-@@ -29,6 +27,10 @@
- /* Drivers for PCI hardware need this */
- #include "xf86PciInfo.h"
-
-+#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */
-+#define PCI_CHIP_GD7556 0x004C
-+#endif
-+
- /* Drivers that need to access the PCI config space directly need this */
- #include "xf86Pci.h"
-
-@@ -90,6 +92,8 @@ SymTabRec CIRChipsets[] = {
- { PCI_CHIP_GD5464BD, "CL-GD5464BD" },
- { PCI_CHIP_GD5465, "CL-GD5465" },
- { PCI_CHIP_GD7548, "CL-GD7548" },
-+ { PCI_CHIP_GD7555, "CL-GD7555" },
-+ { PCI_CHIP_GD7556, "CL-GD7556" },
- {-1, NULL }
- };
-
-@@ -107,6 +111,8 @@ _X_EXPORT PciChipsets CIRPciChipsets[] = {
- { PCI_CHIP_GD5464BD,PCI_CHIP_GD5464BD, RES_SHARED_VGA },
- { PCI_CHIP_GD5465, PCI_CHIP_GD5465, RES_SHARED_VGA },
- { PCI_CHIP_GD7548, PCI_CHIP_GD7548, RES_SHARED_VGA },
-+ { PCI_CHIP_GD7555, PCI_CHIP_GD7555, RES_SHARED_VGA },
-+ { PCI_CHIP_GD7556, PCI_CHIP_GD7556, RES_SHARED_VGA },
- { -1, -1, RES_UNDEFINED}
- };
-
-@@ -238,7 +244,7 @@ CIRProbe(DriverPtr drv, int flags)
- CIRChipsets, CIRPciChipsets, devSections,
- numDevSections, drv, &usedChips);
- /* Free it since we don't need that list after this */
-- xfree(devSections);
-+ free(devSections);
- if (numUsed <= 0)
- return FALSE;
- if (flags & PROBE_DETECT)
-@@ -280,7 +286,7 @@ CIRProbe(DriverPtr drv, int flags)
- pScrn->Probe = NULL;
- }
- }
-- xfree(usedChips);
-+ free(usedChips);
-
- return foundScreen;
- }
-diff --git a/src/cir_pcirename.h b/src/cir_pcirename.h
-index f0f5cf8..669b8fe 100644
---- a/src/cir_pcirename.h
-+++ b/src/cir_pcirename.h
-@@ -34,6 +34,33 @@ enum region_type {
- REGION_IO
- };
-
-+#include "xf86Module.h"
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12
-+
-+#if (defined(__alpha__) || defined(__ia64__)) && defined (linux)
-+#define PCI_DOM_MASK 0x01fful
-+#else
-+#define PCI_DOM_MASK 0x0ffu
-+#endif
-+
-+#ifndef PCI_DOM_MASK
-+# define PCI_DOM_MASK 0x0ffu
-+#endif
-+#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu)
-+
-+static inline uint32_t
-+pciTag(int busnum, int devnum, int funcnum)
-+{
-+ uint32_t tag;
-+ tag = (busnum & (PCI_DOMBUS_MASK)) << 16;
-+ tag |= (devnum & 0x00001fu) << 11;
-+ tag |= (funcnum & 0x000007u) << 8;
-+
-+ return tag;
-+}
-+#endif /* GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 */
-+
- #ifndef XSERVER_LIBPCIACCESS
-
- /* pciVideoPtr */
-diff --git a/src/cir_shadow.c b/src/cir_shadow.c
-index b89890a..0716a64 100644
---- a/src/cir_shadow.c
-+++ b/src/cir_shadow.c
-@@ -1,5 +1,3 @@
--/* $XFree86: Exp $ */
--
- /*
- Copyright (c) 1999,2000 The XFree86 Project Inc.
- based on code written by Mark Vojkovich <markv@valinux.com>
-diff --git a/src/lg.h b/src/lg.h
-index 9d91053..985f634 100644
---- a/src/lg.h
-+++ b/src/lg.h
-@@ -10,8 +10,6 @@
- * Inspired by cir.h
- */
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg.h,v 1.12 2001/05/04 19:05:36 dawes Exp $ */
--
- #ifndef LG_H
- #define LG_H
- #define LG_DEBUG
-diff --git a/src/lg_driver.c b/src/lg_driver.c
-index cfc3e65..fc864f8 100644
---- a/src/lg_driver.c
-+++ b/src/lg_driver.c
-@@ -13,7 +13,6 @@
- * David Dawes, Andrew E. Mileski, Leonard N. Zubkoff,
- * Guy DESBIEF, Itai Nahshon.
- */
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_driver.c,v 1.49 2003/11/03 05:11:09 tsi Exp $ */
-
- #ifdef HAVE_CONFIG_H
- #include "config.h"
-@@ -259,7 +258,7 @@ LgFreeRec(ScrnInfoPtr pScrn)
- {
- if (pScrn->driverPrivate == NULL)
- return;
-- xfree(pScrn->driverPrivate);
-+ free(pScrn->driverPrivate);
- pScrn->driverPrivate = NULL;
- }
-
-@@ -373,7 +372,12 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
-
- pCir = CIRPTR(pScrn);
- pCir->pScrn = pScrn;
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
- pCir->PIOReg = hwp->PIOOffset + 0x3CE;
-+#else
-+ pCir->PIOReg = 0x3CE;
-+#endif
-
- /* Get the entity, and make sure it is PCI. */
- pCir->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
-@@ -454,7 +458,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
- xf86CollectOptions(pScrn, NULL);
-
- /* Process the options */
-- if (!(pCir->Options = xalloc(sizeof(LgOptions))))
-+ if (!(pCir->Options = malloc(sizeof(LgOptions))))
- return FALSE;
- memcpy(pCir->Options, LgOptions, sizeof(LgOptions));
- xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pCir->Options);
-@@ -1314,7 +1318,7 @@ LgScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
-
- if(pCir->shadowFB) {
- pCir->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
-- pCir->ShadowPtr = xalloc(pCir->ShadowPitch * height);
-+ pCir->ShadowPtr = malloc(pCir->ShadowPitch * height);
- displayWidth = pCir->ShadowPitch / (pScrn->bitsPerPixel >> 3);
- FbBase = pCir->ShadowPtr;
- } else {
-@@ -1617,7 +1621,7 @@ LgCloseScreen(int scrnIndex, ScreenPtr pScreen)
- xf86DestroyCursorInfoRec(pCir->CursorInfoRec);
- pCir->CursorInfoRec = NULL;
- if (pCir->DGAModes)
-- xfree(pCir->DGAModes);
-+ free(pCir->DGAModes);
- pCir->DGAnumModes = 0;
- pCir->DGAModes = NULL;
-
-diff --git a/src/lg_hwcurs.c b/src/lg_hwcurs.c
-index b41b79a..381db1c 100644
---- a/src/lg_hwcurs.c
-+++ b/src/lg_hwcurs.c
-@@ -10,7 +10,6 @@
- * Much of this code is inspired by the HW cursor code from XFree86
- * 3.3.3.
- */
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_hwcurs.c,v 1.4 2000/12/06 15:35:17 eich Exp $ */
-
- #ifdef HAVE_CONFIG_H
- #include "config.h"
-diff --git a/src/lg_i2c.c b/src/lg_i2c.c
-index 05e083c..145cc2e 100644
---- a/src/lg_i2c.c
-+++ b/src/lg_i2c.c
-@@ -1,7 +1,5 @@
- /* (c) Itai Nahshon */
-
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_i2c.c,v 1.1 1998/11/15 04:30:25 dawes Exp $ */
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
-diff --git a/src/lg_xaa.c b/src/lg_xaa.c
-index fd8c70a..8bab365 100644
---- a/src/lg_xaa.c
-+++ b/src/lg_xaa.c
-@@ -10,7 +10,6 @@
- * Much of this code is inspired by the XAA acceleration from XFree86
- * 3.3.3, laguna_acl.c
- */
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_xaa.c,v 1.4 2000/12/06 15:35:17 eich Exp $ */
-
- #ifdef HAVE_CONFIG_H
- #include "config.h"
-diff --git a/src/lg_xaa.h b/src/lg_xaa.h
-index 7359a49..162aa5d 100644
---- a/src/lg_xaa.h
-+++ b/src/lg_xaa.h
-@@ -13,7 +13,6 @@
- * This header file draws much from the file cir_blitLG.h in version 3.3.3
- * of XFree86.
- */
--/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cirrus/lg_xaa.h,v 1.3 2000/02/08 13:13:15 eich Exp $ */
-
- /* This header file defines the necessary structures, contstants, and
- variables for using the bitBLT engine on a Laguna family graphics