[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-tseng: Changes to 'debian-unstable'



 .cvsignore                         |   20 
 .gitignore                         |   21 
 ChangeLog                          |   48 +
 Makefile.in                        |   31 
 aclocal.m4                         |  265 +++++--
 config.guess                       |   60 +
 config.h.in                        |    6 
 config.sub                         |   66 +
 configure                          | 1256 +++++++++++++++++++++++++++++++------
 configure.ac                       |   16 
 debian/changelog                   |   16 
 debian/control                     |   10 
 debian/patches/01_gen_pci_ids.diff |   18 
 debian/rules                       |    2 
 debian/xsfbs/xsfbs-autoreconf.mk   |  150 ----
 debian/xsfbs/xsfbs.mk              |  121 ---
 debian/xsfbs/xsfbs.sh              |  394 ++++++-----
 depcomp                            |   93 ++
 install-sh                         |  514 ++++++++++-----
 ltmain.sh                          |  277 +++++---
 man/Makefile.am                    |    1 
 man/Makefile.in                    |    9 
 missing                            |   61 +
 mkinstalldirs                      |    5 
 src/Makefile.am                    |    3 
 src/Makefile.in                    |   34 -
 src/tseng.h                        |   12 
 src/tseng_accel.c                  |    1 
 src/tseng_acl.c                    |  232 ------
 src/tseng_acl.h                    |  232 ------
 src/tseng_bank.c                   |   87 --
 src/tseng_clock.c                  |  509 --------------
 src/tseng_colexp.c                 |  543 ---------------
 src/tseng_cursor.c                 |    1 
 src/tseng_dga.c                    |    1 
 src/tseng_dpms.c                   |  248 -------
 src/tseng_driver.c                 |   43 +
 src/tseng_inline.h                 |  228 ------
 src/tseng_pcirename.h              |  122 +++
 src/tseng_ramdac.c                 |  667 -------------------
 40 files changed, 2544 insertions(+), 3879 deletions(-)

New commits:
commit b1b629df4b8aa009cb7109cf6e636ae84b5314ec
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Jun 6 15:13:26 2008 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index a0d3cfb..368d97d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-tseng (1:1.2.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-tseng (1:1.2.0-1) unstable; urgency=low
 
   [ Brice Goglin ]
   * Add upstream URL to debian/copyright.
@@ -14,7 +14,7 @@ xserver-xorg-video-tseng (1:1.2.0-1) UNRELEASED; urgency=low
     dpkg-shlibdeps to shut up about symbols it can't find.  Build-depend on
     dpkg-dev >= 1.14.17.
 
- -- Brice Goglin <bgoglin@debian.org>  Sat, 15 Sep 2007 02:25:46 +0200
+ -- Julien Cristau <jcristau@debian.org>  Fri, 06 Jun 2008 15:13:21 +0200
 
 xserver-xorg-video-tseng (1:1.1.1-4) unstable; urgency=low
 

commit 920e6ef85698736937f95062521d6587c1a3abec
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Jun 6 15:13:17 2008 +0200

    Run dpkg-shlibdeps with --warnings=6.
    
    Drivers reference symbols from /usr/bin/Xorg and other modules,
    and that's not a bug, so we want dpkg-shlibdeps to shut up about
    symbols it can't find.  Build-depend on dpkg-dev >= 1.14.17.

diff --git a/debian/changelog b/debian/changelog
index 7c7c0cf..a0d3cfb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,10 @@ xserver-xorg-video-tseng (1:1.2.0-1) UNRELEASED; urgency=low
   * Remove Branden from Uploaders with his permission and add myself.
   * Bump Standards-Version to 3.7.3.
   * Drop the XS- prefix from Vcs-* control fields.
+  * Run dpkg-shlibdeps with --warnings=6.  Drivers reference symbols from
+    /usr/bin/Xorg and other modules, and that's not a bug, so we want
+    dpkg-shlibdeps to shut up about symbols it can't find.  Build-depend on
+    dpkg-dev >= 1.14.17.
 
  -- Brice Goglin <bgoglin@debian.org>  Sat, 15 Sep 2007 02:25:46 +0200
 
diff --git a/debian/control b/debian/control
index 947be7c..c25caf8 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: x11
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: David Nusinow <dnusinow@debian.org>, Julien Cristau <jcristau@debian.org>
-Build-Depends: debhelper (>= 5.0.0), pkg-config, quilt, xserver-xorg-dev (>= 2:1.4), x11proto-video-dev, x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-xext-dev
+Build-Depends: debhelper (>= 5.0.0), pkg-config, quilt, xserver-xorg-dev (>= 2:1.4), x11proto-video-dev, x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-xext-dev, dpkg-dev (>= 1.14.17)
 Standards-Version: 3.7.3
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-tseng
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-tseng.git
diff --git a/debian/rules b/debian/rules
index 65f5b88..40968c7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -78,7 +78,7 @@ binary-arch: build install serverabi
 	dh_compress
 	dh_fixperms
 	dh_installdeb
-	dh_shlibdeps
+	dh_shlibdeps -- --warnings=6
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb

commit d58a3be4f281d6d80229d480374921c56fb42fe4
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Jun 6 15:11:33 2008 +0200

    Remove leftover files, they've been removed upstream long ago

diff --git a/src/tseng_acl.c b/src/tseng_acl.c
deleted file mode 100644
index b611ba7..0000000
--- a/src/tseng_acl.c
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng_acl.c,v 1.23 2000/08/08 08:58:06 eich Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "tseng.h"
-#include "tseng_acl.h"
-#include "compiler.h"
-
-void tseng_terminate_acl(TsengPtr pTseng);
-
-/*
- * conversion from X ROPs to Microsoft ROPs.
- */
-
-int W32OpTable[] =
-{
-    0x00,			       /* Xclear             0 */
-    0x88,			       /* Xand               src AND dst */
-    0x44,			       /* XandReverse        src AND NOT dst */
-    0xcc,			       /* Xcopy              src */
-    0x22,			       /* XandInverted       NOT src AND dst */
-    0xaa,			       /* Xnoop              dst */
-    0x66,			       /* Xxor               src XOR dst */
-    0xee,			       /* Xor                src OR dst */
-    0x11,			       /* Xnor               NOT src AND NOT dst */
-    0x99,			       /* Xequiv             NOT src XOR dst */
-    0x55,			       /* Xinvert            NOT dst */
-    0xdd,			       /* XorReverse         src OR NOT dst */
-    0x33,			       /* XcopyInverted      NOT src */
-    0xbb,			       /* XorInverted        NOT src OR dst */
-    0x77,			       /* Xnand              NOT src OR NOT dst */
-    0xff			       /* Xset               1 */
-};
-
-int W32OpTable_planemask[] =
-{
-    0x0a,			       /* Xclear             0 */
-    0x8a,			       /* Xand               src AND dst */
-    0x4a,			       /* XandReverse        src AND NOT dst */
-    0xca,			       /* Xcopy              src */
-    0x2a,			       /* XandInverted       NOT src AND dst */
-    0xaa,			       /* Xnoop              dst */
-    0x6a,			       /* Xxor               src XOR dst */
-    0xea,			       /* Xor                src OR dst */
-    0x1a,			       /* Xnor               NOT src AND NOT dst */
-    0x9a,			       /* Xequiv             NOT src XOR dst */
-    0x5a,			       /* Xinvert            NOT dst */
-    0xda,			       /* XorReverse         src OR NOT dst */
-    0x3a,			       /* XcopyInverted      NOT src */
-    0xba,			       /* XorInverted        NOT src OR dst */
-    0x7a,			       /* Xnand              NOT src OR NOT dst */
-    0xfa			       /* Xset               1 */
-};
-
-int W32PatternOpTable[] =
-{
-    0x00,			       /* Xclear             0 */
-    0xa0,			       /* Xand               pat AND dst */
-    0x50,			       /* XandReverse        pat AND NOT dst */
-    0xf0,			       /* Xcopy              pat */
-    0x0a,			       /* XandInverted       NOT pat AND dst */
-    0xaa,			       /* Xnoop              dst */
-    0x5a,			       /* Xxor               pat XOR dst */
-    0xfa,			       /* Xor                pat OR dst */
-    0x05,			       /* Xnor               NOT pat AND NOT dst */
-    0xa5,			       /* Xequiv             NOT pat XOR dst */
-    0x55,			       /* Xinvert            NOT dst */
-    0xf5,			       /* XorReverse         pat OR NOT dst */
-    0x0f,			       /* XcopyInverted      NOT pat */
-    0xaf,			       /* XorInverted        NOT pat OR dst */
-    0x5f,			       /* Xnand              NOT pat OR NOT dst */
-    0xff			       /* Xset               1 */
-};
-
-
-
-/**********************************************************************/
-
-void 
-tseng_terminate_acl(TsengPtr pTseng)
-{
-    /* only terminate when needed */
-/*  if (*(volatile unsigned char *)ACL_ACCELERATOR_STATUS & 0x06) */
-    {
-	ACL_SUSPEND_TERMINATE(0x00);
-	/* suspend any running operation */
-	ACL_SUSPEND_TERMINATE(0x01);
-	WAIT_ACL;
-	ACL_SUSPEND_TERMINATE(0x00);
-	/* ... and now terminate it */
-	ACL_SUSPEND_TERMINATE(0x10);
-	WAIT_ACL;
-	ACL_SUSPEND_TERMINATE(0x00);
-    }
-}
-
-void 
-tseng_recover_timeout(TsengPtr pTseng)
-{
-    if (!Is_ET6K) {
-	ErrorF("trying to unlock......................................\n");
-	MMIO_OUT32(pTseng->tsengCPU2ACLBase,0,0L); /* try unlocking the bus when CPU-to-accel gets stuck */
-    }
-    if (Is_W32p) {		       /* flush the accelerator pipeline */
-	ACL_SUSPEND_TERMINATE(0x00);
-	ACL_SUSPEND_TERMINATE(0x02);
-	ACL_SUSPEND_TERMINATE(0x00);
-    }
-}
-
-void 
-tseng_init_acl(ScrnInfoPtr pScrn)
-{
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    PDEBUG("	tseng_init_acl\n");
-    /*
-     * prepare some shortcuts for faster access to memory mapped registers
-     */
-
-    if (pTseng->UseLinMem) {
-	pTseng->scratchMemBase = pTseng->FbBase + pTseng->AccelColorBufferOffset;
-	/* 
-	 * we won't be using tsengCPU2ACLBase in linear memory mode anyway, since
-	 * using the MMU apertures restricts the amount of useable video memory
-	 * to only 2MB, supposing we ONLY redirect MMU aperture 2 to the CPU.
-	 * (see data book W32p, page 207)
-	 */
-	pTseng->tsengCPU2ACLBase = pTseng->FbBase + 0x200000;	/* MMU aperture 2 */
-    } else {
-	/*
-	 * MMU 0 is used for the scratchpad (i.e. FG and BG colors).
-	 *
-	 * MMU 1 is used for the Imagewrite buffers. This code assumes those
-	 * buffers are back-to-back, with AccelImageWriteBufferOffsets[0]
-	 * being the first, and don't exceed 8kb (aperture size) in total
-	 * length.
-	 */
-	pTseng->scratchMemBase = pTseng->FbBase + 0x18000L;
-	MMIO_OUT32(pTseng->MMioBase, 0x00<<0, pTseng->AccelColorBufferOffset);
-	MMIO_OUT32(pTseng->MMioBase, 0x04<<0, pTseng->AccelImageWriteBufferOffsets[0]);
-	/*
-	 * tsengCPU2ACLBase is used for CPUtoSCreen...() operations on < ET6000 devices
-	 */
-	pTseng->tsengCPU2ACLBase = pTseng->FbBase + 0x1C000L;	/* MMU aperture 2 */
-	/*      MMIO_IN32(pTseng->MMioBase, 0x08<<0) = 200000; *//* TEST */
-    }
-#ifdef DEBUG    
-    ErrorF("MMioBase = 0x%x, scratchMemBase = 0x%x\n", pTseng->MMioBase, pTseng->scratchMemBase);
-#endif
-
-    /*
-     * prepare the accelerator for some real work
-     */
-
-    tseng_terminate_acl(pTseng);
-
-    ACL_INTERRUPT_STATUS(0xe);       /* clear interrupts */
-    ACL_INTERRUPT_MASK(0x04);	       /* disable interrupts, but enable deadlock exit */
-    ACL_INTERRUPT_STATUS(0x0);
-    ACL_ACCELERATOR_STATUS_SET(0x0);
-
-    if (Is_ET6K) {
-	ACL_STEPPING_INHIBIT(0x0);   /* Undefined at power-on, let all maps (Src, Dst, Mix, Pat) step */
-	ACL_6K_CONFIG(0x00);	       /* maximum performance -- what did you think? */
-	ACL_POWER_CONTROL(0x01);     /* conserve power when ACL is idle */
-	ACL_MIX_CONTROL(0x33);
-	ACL_TRANSFER_DISABLE(0x00);  /* Undefined at power-on, enable all transfers */
-    } else {			       /* W32i/W32p */
-  	ACL_RELOAD_CONTROL(0x0); 
-	ACL_SYNC_ENABLE(0x1);	       /* | 0x2 = 0WS ACL read. Yields up to 10% faster operation for small blits */
-	ACL_ROUTING_CONTROL(0x00);
-    }
-
-    if (Is_W32p || Is_ET6K) {
-	/* Enable the W32p startup bit and set use an eight-bit pixel depth */
-	ACL_NQ_X_POSITION(0);
-	ACL_NQ_Y_POSITION(0);
-	ACL_PIXEL_DEPTH((pScrn->bitsPerPixel - 8) << 1);
-	/* writing destination address will start ACL */
-	ACL_OPERATION_STATE(0x10);
-    } else {
-	/* X, Y positions set to zero's for w32 and w32i */
-	ACL_X_POSITION(0);
-	ACL_Y_POSITION(0);
-	ACL_OPERATION_STATE(0x0);
-	/* if we ever use CPU-to-screen pixmap uploading on W32I or W32,
-	 * ACL_VIRTUAL_BUS_SIZE will need to be made dynamic (i.e. moved to
-	 * Setup() functions).
-	 *
-	 * VBS = 1 byte is faster than VBS = 4 bytes, since the ACL can
-	 * start processing as soon as the first byte arrives.
-	 */
-	ACL_VIRTUAL_BUS_SIZE(0x00);
-    }
-    ACL_DESTINATION_Y_OFFSET(pScrn->displayWidth * pTseng->Bytesperpixel - 1);
-    ACL_XY_DIRECTION(0);
-
-    MMU_CONTROL(0x74);
-
-    if (Is_W32p && pTseng->UseLinMem) {
-	/*
-	 * Since the w32p revs C and D don't have any memory mapped when the
-	 * accelerator registers are used it is necessary to use the MMUs to
-	 * provide a semblance of linear memory. Fortunately on these chips
-	 * the MMU appertures are 1 megabyte each. So as long as we are
-	 * willing to only use 3 megs of video memory we can have some
-	 * acceleration. If we ever get the CPU-to-screen-color-expansion
-	 * stuff working then we will NOT need to sacrifice the extra 1MB
-	 * provided by MBP2, because we could do dynamic switching of the APT
-	 * bit in the MMU control register.
-	 *
-	 * On W32p rev c and d MBP2 is hardwired to 0x200000 when linear
-	 * memory mode is enabled. (On rev a it is programmable).
-	 *
-	 * W32p rev a and b have their first 2M mapped in the normal (non-MMU)
-	 * way, and MMU0 and MMU1, each 512 kb wide, can be used to access
-	 * another 1MB of memory. This totals to 3MB of mem. available in
-	 * linear memory when the accelerator is enabled.
-	 */
-	if (Is_W32p_ab) {
-	    MMIO_OUT32(pTseng->MMioBase, 0x00<<0, 0x200000L);
-	    MMIO_OUT32(pTseng->MMioBase, 0x04<<0, 0x280000L);
-	} else {		       /* rev C & D */
-	    MMIO_OUT32(pTseng->MMioBase, 0x00<<0, 0x0L);
-	    MMIO_OUT32 (pTseng->MMioBase, 0x04<<0, 0x100000L);
-	}
-    }
-}
diff --git a/src/tseng_acl.h b/src/tseng_acl.h
deleted file mode 100644
index 9402d58..0000000
--- a/src/tseng_acl.h
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng_acl.h,v 1.16 1998/08/29 05:43:37 dawes Exp $ */
-
-
-#ifndef _TSENG_ACL_H
-#define _TSENG_ACL_H
-
-/*
- * if NO_OPTIMIZE is set, some optimizations are disabled.
- *
- * What it basically tries to do is minimize the amounts of writes to
- * accelerator registers, since these are the ones that slow down small
- * operations a lot.
- */
-
-#undef NO_OPTIMIZE
-
-typedef volatile unsigned char *ByteP;
-typedef volatile unsigned short *WordP;
-typedef volatile unsigned *LongP;
-
-void tseng_recover_timeout(TsengPtr pTseng);
-
-/*
- * Shortcuts to Tseng memory-mapped accelerator-control registers
- */
-
-#if 0
-#endif
-
-#define MMU_CONTROL(x)  MMIO_OUT8(pTseng->MMioBase, 0x13<<0, x)
-#define ACL_SUSPEND_TERMINATE(x)  MMIO_OUT8(pTseng->MMioBase, 0x30<<0, x)
-#define ACL_OPERATION_STATE(x)  MMIO_OUT8(pTseng->MMioBase, 0x31<<0, x)
-
-#define ACL_SYNC_ENABLE(x)  MMIO_OUT8(pTseng->MMioBase, 0x32<<0, x)
-    /* for ET6000, ACL_SYNC_ENABLE becomes ACL_6K_CONFIG */
-
-#define ACL_INTERRUPT_STATUS(x) \
-                        MMIO_OUT8(pTseng->MMioBase, 0x35<<0, x)
-#define ACL_INTERRUPT_MASK(x) MMIO_OUT8(pTseng->MMioBase, 0x34<<0, x)
-#define ACL_ACCELERATOR_STATUS (0x36 << 0)
-#define ACL_ACCELERATOR_STATUS_SET(x) \
-                        MMIO_OUT8(pTseng->MMioBase, ACL_ACCELERATOR_STATUS, x)
-#define ACL_WRITE_INTERFACE_VALID (0x33 << 0)
-
-    /* and this is only for the ET6000 */
-#define ACL_POWER_CONTROL(x) MMIO_OUT8(pTseng->MMioBase, 0x37<<0, x)
-
-    /* non-queued for w32p's and ET6000 */
-#define ACL_NQ_X_POSITION(x)  MMIO_OUT16(pTseng->MMioBase, 0x38<<0, x)
-#define ACL_NQ_Y_POSITION(x)  MMIO_OUT16(pTseng->MMioBase, 0x3A<<0, x)
-    /* queued for w32 and w32i */
-#define ACL_X_POSITION(x)  MMIO_OUT16(pTseng->MMioBase, 0x94<<0, x)
-#define ACL_Y_POSITION(x)  MMIO_OUT16(pTseng->MMioBase, 0x96<<0, x)
-
-#define ACL_PATTERN_ADDRESS(x)  MMIO_OUT32(pTseng->MMioBase, 0x80<<0, x)
-#define ACL_SOURCE_ADDRESS(x)  MMIO_OUT32(pTseng->MMioBase, 0x84<<0, x)
-
-#define ACL_PATTERN_Y_OFFSET(x)  MMIO_OUT16(pTseng->MMioBase, 0x88<<0, x)
-#define ACL_PATTERN_Y_OFFSET32(x)  MMIO_OUT32(pTseng->MMioBase, 0x88<<0, x)
-#define ACL_SOURCE_Y_OFFSET(x)  MMIO_OUT16(pTseng->MMioBase, 0x8A<<0, x)
-#define ACL_DESTINATION_Y_OFFSET(x)  MMIO_OUT16(pTseng->MMioBase, 0x8C<<0, x)
-
-    /* W32i */
-#define ACL_VIRTUAL_BUS_SIZE(x) MMIO_OUT8(pTseng->MMioBase, 0x8E<<0, x)
-    /* w32p */
-#define ACL_PIXEL_DEPTH(x)  MMIO_OUT8(pTseng->MMioBase, 0x8E<<0, x)
-
-    /* w32 and w32i */
-#define ACL_XY_DIRECTION(x)  MMIO_OUT8(pTseng->MMioBase, 0x8F<<0, x)
-
-#define ACL_PATTERN_WRAP(x)   MMIO_OUT8(pTseng->MMioBase, 0x90<<0, x)
-#define ACL_PATTERN_WRAP32(x)   MMIO_OUT32(pTseng->MMioBase, 0x90<<0, x)
-#define ACL_TRANSFER_DISABLE(x)  MMIO_OUT8(pTseng->MMioBase, 0x91<<0, x) /* ET6000 only */
-#define ACL_SOURCE_WRAP(x) MMIO_OUT8(pTseng->MMioBase, 0x92<<0, x)
-
-#define ACL_X_COUNT(x) MMIO_OUT16(pTseng->MMioBase, 0x98<<0, x)
-#define ACL_Y_COUNT(x) MMIO_OUT16(pTseng->MMioBase, 0x9A<<0, x)
-/* shortcut. not a real register */
-#define ACL_XY_COUNT(x) MMIO_OUT32(pTseng->MMioBase, 0x98<<0, x)
-
-#define ACL_ROUTING_CONTROL(x) MMIO_OUT8(pTseng->MMioBase, 0x9C<<0, x)
-    /* for ET6000, ACL_ROUTING_CONTROL becomes ACL_MIX_CONTROL */
-#define ACL_RELOAD_CONTROL(x) MMIO_OUT8(pTseng->MMioBase, 0x9D<<0, x)
-    /* for ET6000, ACL_RELOAD_CONTROL becomes ACL_STEPPING_INHIBIT */
-
-#define ACL_BACKGROUND_RASTER_OPERATION(x)  MMIO_OUT8(pTseng->MMioBase, 0x9E<<0, x)
-#define ACL_FOREGROUND_RASTER_OPERATION(x)  MMIO_OUT8(pTseng->MMioBase, 0x9F<<0, x)
-
-#define ACL_DESTINATION_ADDRESS(x) MMIO_OUT32(pTseng->MMioBase, 0xA0<<0, x)
-
-    /* the following is for the w32p's only */
-#define ACL_MIX_ADDRESS(x) MMIO_OUT32(pTseng->MMioBase, 0xA4<<0, x)
-
-#define ACL_MIX_Y_OFFSET(x) MMIO_OUT16(pTseng->MMioBase, 0xA8<<0, x)
-#define ACL_ERROR_TERM(x) MMIO_OUT16(pTseng->MMioBase, 0xAA<<0, x)
-#define ACL_DELTA_MINOR(x) MMIO_OUT16(pTseng->MMioBase, 0xAC<<0, x)
-#define ACL_DELTA_MINOR32(x) MMIO_OUT32(pTseng->MMioBase, 0xAC<<0, x)
-#define ACL_DELTA_MAJOR(x) MMIO_OUT16(pTseng->MMioBase, 0xAE<<0, x)
-
-    /* ET6000 only (trapezoids) */
-#define ACL_SECONDARY_EDGE(x) MMIO_OUT8(pTseng->MMioBase, 0x93<<0, x)
-#define ACL_SECONDARY_ERROR_TERM(x) MMIO_OUT16(pTseng->MMioBase, 0xB2<<0, x)
-#define ACL_SECONDARY_DELTA_MINOR(x) MMIO_OUT16(pTseng->MMioBase, 0xB4<<0, x)
-#define ACL_SECONDARY_DELTA_MINOR32(x) MMIO_OUT32(pTseng->MMioBase, 0xB4<<0, x)
-#define ACL_SECONDARY_DELTA_MAJOR(x) MMIO_OUT16(pTseng->MMioBase, 0xB6<<0, x)
-
-/* for ET6000: */
-#define ACL_6K_CONFIG ACL_SYNC_ENABLE
-
-/* for ET6000: */
-#define ACL_MIX_CONTROL ACL_ROUTING_CONTROL
-#define ACL_STEPPING_INHIBIT ACL_RELOAD_CONTROL
-
-
-/*
- * Some data structures for faster accelerator programming.
- */
-
-extern int W32OpTable[16];
-extern int W32OpTable_planemask[16];
-extern int W32PatternOpTable[16];
-
-/*
- * Some shortcuts. 
- */
-
-#define MAX_WAIT_CNT 500000	       /* how long we wait before we time out */
-#undef WAIT_VERBOSE		       /* if defined: print out how long we waited */
-
-static __inline__ void 
-tseng_wait(TsengPtr pTseng, int reg, char *name, unsigned char mask)
-{
-    int cnt = MAX_WAIT_CNT;
-
-    while ((MMIO_IN32(pTseng->MMioBase,reg)) & mask)
-	if (--cnt < 0) {
-	    ErrorF("WAIT_%s: timeout.\n", name);
-	    tseng_recover_timeout(pTseng);
-	    break;
-	}
-#ifdef WAIT_VERBOSE
-    ErrorF("%s%d ", name, MAX_WAIT_CNT - cnt);
-#endif
-}
-
-#define WAIT_QUEUE tseng_wait(pTseng, ACL_ACCELERATOR_STATUS, "QUEUE", 0x1)
-
-/* This is only for W32p rev b...d */
-#define WAIT_INTERFACE tseng_wait(pTseng, ACL_WRITE_INTERFACE_VALID, "INTERFACE", 0xf)
-
-#define WAIT_ACL tseng_wait(pTseng, ACL_ACCELERATOR_STATUS, "ACL", 0x2)
-
-#define WAIT_XY tseng_wait(pTseng, ACL_ACCELERATOR_STATUS, "XY", 0x4)
-
-#define SET_FUNCTION_BLT \
-    if (Is_ET6K) \
-        ACL_MIX_CONTROL(0x33); \
-    else \
-        ACL_ROUTING_CONTROL(0x00);
-
-#define SET_FUNCTION_BLT_TR \
-        ACL_MIX_CONTROL(0x13);
-
-#define FBADDR(pTseng, x,y) ( (y) * pTseng->line_width + MULBPP(pTseng, x) )
-
-#define SET_FG_ROP(rop) \
-    ACL_FOREGROUND_RASTER_OPERATION(W32OpTable[rop]);
-
-#define SET_FG_ROP_PLANEMASK(rop) \
-    ACL_FOREGROUND_RASTER_OPERATION(W32OpTable_planemask[rop]);
-
-#define SET_BG_ROP(rop) \
-    ACL_BACKGROUND_RASTER_OPERATION(W32PatternOpTable[rop]);
-
-#define SET_BG_ROP_TR(rop, bg_color) \
-  if ((bg_color) == -1)    /* transparent color expansion */ \
-    ACL_BACKGROUND_RASTER_OPERATION(0xaa); \
-  else \
-    ACL_BACKGROUND_RASTER_OPERATION(W32PatternOpTable[rop]);
-
-#define SET_DELTA(Min, Maj) \
-    ACL_DELTA_MINOR32(((Maj) << 16) + (Min))
-
-#define SET_SECONDARY_DELTA(Min, Maj) \
-    ACL_SECONDARY_DELTA_MINOR(((Maj) << 16) + (Min))
-
-#ifdef NO_OPTIMIZE
-#define SET_XYDIR(dir) \
-      ACL_XY_DIRECTION(dir);
-#else
-/*
- * only changing ACL_XY_DIRECTION when it needs to be changed avoids
- * unnecessary PCI bus writes, which are slow. This shows up very well
- * on consecutive small fills.
- */
-#define SET_XYDIR(dir) \
-    if ((dir) != pTseng->tseng_old_dir) \
-      pTseng->tseng_old_dir = (dir); \
-      ACL_XY_DIRECTION(pTseng->tseng_old_dir);
-#endif
-
-#define SET_SECONDARY_XYDIR(dir) \
-      ACL_SECONDARY_EDGE(dir);
-
-/* Must do 0x09 (in one operation) for the W32 */
-#define START_ACL(pTseng, dst) \
-    ACL_DESTINATION_ADDRESS(dst); \
-    if (Is_W32 || Is_W32i) ACL_OPERATION_STATE(0x09);
-
-/* START_ACL for the ET6000 */
-#define START_ACL_6(dst) \
-    ACL_DESTINATION_ADDRESS(dst);
-
-#define START_ACL_CPU(pTseng, dst) \
-    if (Is_W32 || Is_W32i) \
-      MMIO_OUT32(pTseng->MMioBase, 0x08<<8,(CARD32)dst); /* writing to MMU2 will trigger accel at this address */ \
-    else \
-      ACL_DESTINATION_ADDRESS(dst);
-
-/*    ACL_DESTINATION_ADDRESS(dst);    should be enough for START_ACL_CPU */
-
-/***********************************************************************/
-
-void tseng_init_acl(ScrnInfoPtr pScrn);
-
-Bool TsengXAAInit(ScreenPtr pScreen);
-
-Bool TsengXAAInit_Colexp(ScrnInfoPtr pScrn);
-
-#endif
-
diff --git a/src/tseng_bank.c b/src/tseng_bank.c
deleted file mode 100644
index c201d4f..0000000
--- a/src/tseng_bank.c
+++ /dev/null
@@ -1,87 +0,0 @@
-
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng_bank.c,v 1.2 1998/07/26 09:56:17 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "tseng.h"
-
-/*
- * Tseng really screwed up when they decided to combine the read and write
- * bank selectors into one register. Now we need to cache the bank
- * registers, because IO reads are too expensive.
- */
-
-
-int
-ET4000W32SetRead(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (pTseng->cache_SegSelL & 0x0f) | (iBank << 4);
-    pTseng->cache_SegSelH = (pTseng->cache_SegSelH & 0x03) | (iBank & 0x30);
-    outb(0x3CB, pTseng->cache_SegSelH);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
-
-int
-ET4000W32SetWrite(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (pTseng->cache_SegSelL & 0xf0) | (iBank & 0x0f);
-    pTseng->cache_SegSelH = (pTseng->cache_SegSelH & 0x30) | (iBank >> 4);
-    outb(0x3CB, pTseng->cache_SegSelH);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
-
-int
-ET4000W32SetReadWrite(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (iBank & 0x0f) | (iBank << 4);
-    pTseng->cache_SegSelH = (iBank & 0x30) | (iBank >> 4);
-    outb(0x3CB, pTseng->cache_SegSelH);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
-
-int
-ET4000SetRead(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (pTseng->cache_SegSelL & 0x0f) | (iBank << 4);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
-
-int
-ET4000SetWrite(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (pTseng->cache_SegSelL & 0xf0) | (iBank & 0x0f);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
-
-int
-ET4000SetReadWrite(ScreenPtr pScreen, unsigned int iBank)
-{
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    pTseng->cache_SegSelL = (iBank & 0x0f) | (iBank << 4);
-    outb(0x3CD, pTseng->cache_SegSelL);
-    return 0;
-}
diff --git a/src/tseng_clock.c b/src/tseng_clock.c
deleted file mode 100644
index 71c9e34..0000000
--- a/src/tseng_clock.c
+++ /dev/null
@@ -1,509 +0,0 @@
-
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng_clock.c,v 1.18 2003/11/03 05:11:44 tsi Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-/*
- *
- * Copyright 1993-1997 The XFree86 Project, Inc.
- *
- */
-/**
- ** Clock setting methods for Tseng chips
- **
- ** The *ClockSelect() fucntions are ONLY used used for clock probing!
- ** Setting the actual clock is done in TsengRestore().
- **/
-
-#include "tseng.h"
-
-static Bool Tseng_ET4000ClockSelect(ScrnInfoPtr pScrn, int no);
-static Bool Tseng_LegendClockSelect(ScrnInfoPtr pScrn, int no);
-
-
-static SymTabRec TsengClockChips[] =
-{
-    {CLOCKCHIP_ICD2061A, "icd2061a"},
-    {CLOCKCHIP_ET6000, "et6000"},
-    {CLOCKCHIP_ICS5341, "ics5341"},
-    {CLOCKCHIP_ICS5301, "ics5301"},
-    {CLOCKCHIP_CH8398, "ch8398"},
-    {CLOCKCHIP_STG1703, "stg1703"},
-    {-1, NULL}
-};
-
-Bool
-Tseng_check_clockchip(ScrnInfoPtr pScrn)
-{
-    MessageType from;
-    TsengPtr pTseng = TsengPTR(pScrn);
-
-    PDEBUG("	Tseng_check_clockchip\n");
-
-    if (pTseng->pEnt->device->clockchip && *pTseng->pEnt->device->clockchip) {
-	/* clockchip given as a string in the config file */
-	pScrn->clockchip = pTseng->pEnt->device->clockchip;
-	pTseng->ClockChip =
-	 (t_clockchip_type)xf86StringToToken(TsengClockChips, pScrn->clockchip);
-	if (pTseng->ClockChip == CLOCKCHIP_DEFAULT) {
-	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unknown clockchip: \"%s\"\n",
-		pScrn->clockchip);
-	    return FALSE;
-	}
-	from = X_CONFIG;
-    } else {
-	/* ramdac probe already defined pTseng->ClockChip */
-	pScrn->clockchip = (char *)xf86TokenToString(TsengClockChips, pTseng->ClockChip);
-	from = X_PROBED;
-    }
-    xf86DrvMsg(pScrn->scrnIndex, from, "Clockchip: \"%s\"\n",
-	pScrn->clockchip);
-
-    return TRUE;
-}
-
-
-void tseng_clock_setup(ScrnInfoPtr pScrn)
-{
-    TsengPtr pTseng = TsengPTR(pScrn);
-    int iobase = VGAHW_GET_IOBASE();
-    MessageType from;
-    int dacspeed, mem_bw;
-    Bool forceSpeed = FALSE;
-    int i;
-
-    PDEBUG("	tseng_clock_setup\n");
-
-    /*
-     * Memory bandwidth is important in > 8bpp modes, especially on ET4000
-     *
-     * This code evaluates a video mode with respect to requested dot clock
-     * (depends on the VGA chip and the RAMDAC) and the resulting bandwidth
-     * demand on memory (which in turn depends on color depth).
-     *
-     * For each mode, the minimum of max data transfer speed (dot clock
-     * limit) and memory bandwidth determines if the mode is allowed.
-     *
-     * We should also take acceleration into account: accelerated modes
-     * strain the bandwidth heavily, because they cause lots of random
-     * acesses to video memory, which is bad for bandwidth due to smaller
-     * page-mode memory requests.
-     */
-
-    /* Set the min pixel clock */
-    pTseng->MinClock = 12000;	       /* XXX Guess, need to check this */
-
-    /*
-     * If the user has specified ramdac speed in the XF86Config
-     * file, we respect that setting.
-     */
-    if (pTseng->pEnt->device->dacSpeeds[0]) {
-	from = X_CONFIG;
-	forceSpeed = TRUE;
-	switch (pScrn->bitsPerPixel) {
-	default:
-	case 1:
-	case 4:
-	case 8:
-	    dacspeed = pTseng->pEnt->device->dacSpeeds[DAC_BPP8];
-	    break;
-	case 16:
-	    dacspeed = pTseng->pEnt->device->dacSpeeds[DAC_BPP16];
-	    break;
-	case 24:
-	    dacspeed = pTseng->pEnt->device->dacSpeeds[DAC_BPP24];
-	    break;
-	case 32:
-	    dacspeed = pTseng->pEnt->device->dacSpeeds[DAC_BPP32];
-	    break;
-	}
-	pTseng->max_vco_freq = pTseng->pEnt->device->dacSpeeds[0]*2+1;
-	/* if a bpp-specific DacSpeed is not defined, use the "default" one (=8bpp) */
-	if (dacspeed == 0)
-	    dacspeed = pTseng->pEnt->device->dacSpeeds[0];
-    } else {
-	from = X_PROBED;
-	forceSpeed = FALSE;
-	/* default */
-	dacspeed = MAX_TSENG_CLOCK;
-	/*
-	 * According to Tseng (about the ET6000):
-	 * "Besides the 135 MHz maximum pixel clock frequency, the other limit has to
-	 * do with where you get FIFO breakdown (usually appears as stray horizontal
-	 * lines on the screen). Assuming the accelerator is running steadily doing a
-	 * worst case operation, to avoid FIFO breakdown you should keep the product
-	 *   pixel_clock*(bytes/pixel) <= 225 MHz . This is based on an XCLK
-	 * (system/memory) clock of 92 MHz (which is what we currently use) and
-	 * a value in the RAS/CAS Configuration register (CFG 44) of either 015h
-	 * or 014h (depending on the type of MDRAM chips). Also, the FIFO low
-	 * threshold control bit (bit 4 of CFG 41) should be set for modes where
-	 * pixel_clock*(bytes/pixel) > 130 MHz . These limits are for the
-	 * current ET6000 chips. The ET6100 will raise the pixel clock limit
-	 * to 175 MHz and the pixel_clock*(bytes/pixel) FIFO breakdown limit
-	 * to about 275 MHz."
-	 */
-	if (Is_ET6100) {
-	    dacspeed	= 175000;
-	    mem_bw	= 280000;               /* 275000 is _just_ not enough for 1152x864x24 @ 70Hz */
-	} else if (Is_ET6000) {
-	    dacspeed	= 135000;
-	    mem_bw	= 225000;
-	} else {
-	    if ( (pTseng->DacInfo.DacPort16) &&
-		(pScrn->bitsPerPixel == 8) &&
-		(!(DAC_is_GenDAC && pTseng->NoClockchip)) ) {
-		    dacspeed = 135000;              /* we can do PIXMUX */
-		}
-	    mem_bw	= 90000;
-	    if (pScrn->videoRam > 1024)
-		mem_bw	= 150000;               /* interleaved DRAM gives 70% more bandwidth */
-	}
-	pTseng->max_vco_freq = dacspeed*2+1;
-	/*
-	 * "dacspeed" is the theoretical limit imposed by the RAMDAC.
-	 * "mem_bw" is the max memory bandwidth in mb/sec available
-	 * for the pixel FIFO.
-	 * The lowest of the two determines the actual pixel clock limit.
-	 */
-	dacspeed = min(dacspeed, (mem_bw / pTseng->Bytesperpixel));
-    }
-
-    /*
-     * Setup the ClockRanges, which describe what clock ranges are available,
-     * and what sort of modes they can be used for.
-     *
-     * First, we set up the default case, and modify it later if needed.
-     */
-    pTseng->clockRange[0] = xnfcalloc(sizeof(ClockRange), 1);
-    pTseng->clockRange[0]->next = NULL;
-    pTseng->clockRange[0]->minClock = pTseng->MinClock;
-    pTseng->clockRange[0]->maxClock = dacspeed;
-    pTseng->clockRange[0]->clockIndex = -1;      /* programmable -- not used */
-    pTseng->clockRange[0]->interlaceAllowed = TRUE;
-    pTseng->clockRange[0]->doubleScanAllowed = TRUE;
-    pTseng->clockRange[0]->ClockMulFactor = 1;
-    pTseng->clockRange[0]->ClockDivFactor = 1;
-    pTseng->clockRange[0]->PrivFlags = TSENG_MODE_NORMAL;
-    
-    /*
-     * Handle PIXMUX modes.
-     *
-     * NOTE: We disable PIXMUX when clockchip programming on the GenDAC
-     * family is disabled. PIXMUX requires that the N2 post-divider in the
-     * PLL clock programming word is >= 2, which is not always true for the
-     * default (BIOS) clocks programmed in the 8 clock registers.
-     */
-    if ( (pTseng->DacInfo.DacPort16) &&
-	(pScrn->bitsPerPixel == 8) &&
-	(!(DAC_is_GenDAC && pTseng->NoClockchip)) ) {
-	pTseng->clockRange[0]->maxClock = MAX_TSENG_CLOCK;
-	/* set up 2nd clock range for PIXMUX modes */
-	pTseng->clockRange[1] = xnfcalloc(sizeof(ClockRange), 1);
-	pTseng->clockRange[0]->next = pTseng->clockRange[1];
-	pTseng->clockRange[1]->next = NULL;
-	pTseng->clockRange[1]->minClock = 75000;
-	pTseng->clockRange[1]->maxClock = dacspeed;
-	pTseng->clockRange[1]->clockIndex = -1;      /* programmable -- not used */
-	pTseng->clockRange[1]->interlaceAllowed = TRUE;
-	pTseng->clockRange[1]->doubleScanAllowed = TRUE;
-	pTseng->clockRange[1]->ClockMulFactor = 1;
-	pTseng->clockRange[1]->ClockDivFactor = 2;
-	pTseng->clockRange[1]->PrivFlags = TSENG_MODE_PIXMUX;
-    }
-
-    /*
-     * Handle 16/24/32 bpp modes that require some form of clock scaling. We
-     * can have either 8-bit DACs that require "bytesperpixel" clocks per
-     * pixel, or 16-bit DACs that can transport 8 or 16 bits per clock.
-     */
-     if ((pTseng->Bytesperpixel > 1) && (!Is_ET6K)) {
-        /* in either 8 or 16-bit DAC case, we can use an 8-bit interface */
-	pTseng->clockRange[0]->maxClock = (forceSpeed) ? dacspeed :
-	    min(MAX_TSENG_CLOCK / pTseng->Bytesperpixel, dacspeed);
-	pTseng->clockRange[0]->ClockMulFactor = pTseng->Bytesperpixel;
-	pTseng->clockRange[0]->ClockDivFactor = 1;
-	/* in addition, 16-bit DACs can also transport 2 bytes per clock */
-	if (pTseng->DacInfo.DacPort16) {
-	    pTseng->clockRange[1] = xnfcalloc(sizeof(ClockRange), 1);
-	    pTseng->clockRange[0]->next = pTseng->clockRange[1];
-	    pTseng->clockRange[1]->next = NULL;
-	    pTseng->clockRange[1]->minClock = pTseng->MinClock;
-	    pTseng->clockRange[1]->maxClock = (forceSpeed) ? dacspeed :
-		min((MAX_TSENG_CLOCK * 2) / pTseng->Bytesperpixel, dacspeed);
-	    pTseng->clockRange[1]->clockIndex = -1;      /* programmable -- not used */
-	    pTseng->clockRange[1]->interlaceAllowed = TRUE;
-	    pTseng->clockRange[1]->doubleScanAllowed = TRUE;
-	    pTseng->clockRange[1]->ClockMulFactor = pTseng->Bytesperpixel;
-	    pTseng->clockRange[1]->ClockDivFactor = 2;
-	    pTseng->clockRange[1]->PrivFlags = TSENG_MODE_DACBUS16;
-	}
-    }
-
-    if (pTseng->clockRange[1])
-	pTseng->MaxClock = pTseng->clockRange[1]->maxClock;
-    else
-	pTseng->MaxClock = pTseng->clockRange[0]->maxClock;
-
-    xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Min pixel clock is %d MHz\n",
-	pTseng->MinClock / 1000);
-    xf86DrvMsg(pScrn->scrnIndex, from, "Max pixel clock is %d MHz\n",
-	pTseng->MaxClock / 1000);
-
-    /* Memory clock setup */
-    pTseng->MClkInfo.Set = FALSE;
-    /* Only set MemClk if appropriate for the ramdac */
-    if (pTseng->MClkInfo.Programmable) {
-	from = X_PROBED;
-	if (pTseng->MemClk > 0) {
-	    if ((pTseng->MemClk < pTseng->MClkInfo.min)
-		|| (pTseng->MemClk > pTseng->MClkInfo.max)) {
-		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-		    "MCLK %d MHz out of range (=%d..%d); not changed!\n",
-		    pTseng->MemClk / 1000,
-		    pTseng->MClkInfo.min / 1000,
-		    pTseng->MClkInfo.max / 1000);
-	    } else {
-		pTseng->MClkInfo.MemClk = pTseng->MemClk;
-		pTseng->MClkInfo.Set = TRUE;
-		from = X_CONFIG;
-	    }
-	}
-	xf86DrvMsg(pScrn->scrnIndex, from, "MCLK used is %d MHz\n",
-	    pTseng->MClkInfo.MemClk / 1000);
-    }
-    
-    /*
-     * Set up the list-of-clocks stuff if we don't have a programmable
-     * clockchip (the RAMDAC probe sets the pScrn->progClock field).
-     */
-    if (!pScrn->progClock) {
-	int NoClocks;
-	Bool (*TsengClockSelect)(ScrnInfoPtr, int);
-
-	/* first determine how many clocks there are (or can be) */
-	if (pTseng->Legend) {
-	    TsengClockSelect = Tseng_LegendClockSelect;
-	    NoClocks = 32;
-	} else {
-	    TsengClockSelect = Tseng_ET4000ClockSelect;
-	    /*
-	     * The CH8398 RAMDAC uses CS3 for register selection (RS2), not for clock selection.
-	     * The GenDAC family only has 8 clocks. Together with MCLK/2, that's 16 clocks.
-	     */
-	    if ( (!Is_stdET4K)
-		&& (!DAC_is_GenDAC) && (pTseng->DacInfo.DacType != CH8398_DAC) )
-		    NoClocks = 32;
-	    else


Reply to: