.gitignore | 70 +++++++ ChangeLog | 98 +++++++++++ Makefile.am | 11 + configure.ac | 12 - debian/README.source | 2 debian/changelog | 28 +++ debian/control | 10 - debian/rules | 10 - debian/xsfbs/xsfbs.mk | 35 ++- man/.cvsignore | 2 src/.cvsignore | 6 src/Makefile.am | 1 src/neo.h | 6 src/neo_bank.c | 92 ---------- src/neo_driver.c | 439 +++++++++++++++++++++----------------------------- src/neo_video.c | 1 16 files changed, 428 insertions(+), 395 deletions(-)
New commits: commit a93b98d1b460d0fb7cb7a9058ca3ff69108fda5d Author: Cyril Brulebois <k...@debian.org> Date: Sat Oct 16 19:05:21 2010 +0200 Upload to experimental. diff --git a/debian/changelog b/debian/changelog index 995c3fd..c8bd87f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -xserver-xorg-video-neomagic (1:1.2.4-4) UNRELEASED; urgency=low +xserver-xorg-video-neomagic (1:1.2.4-4) experimental; urgency=low * Build against Xserver 1.9.1 rc1. - -- Cyril Brulebois <k...@debian.org> Sat, 16 Oct 2010 19:05:02 +0200 + -- Cyril Brulebois <k...@debian.org> Sat, 16 Oct 2010 19:05:20 +0200 xserver-xorg-video-neomagic (1:1.2.4-3) unstable; urgency=low commit b26b227736c851b096e464ff7a7dd400dfe098ea Author: Cyril Brulebois <k...@debian.org> Date: Sat Oct 16 19:05:14 2010 +0200 Build against Xserver 1.9.1 rc1. diff --git a/debian/changelog b/debian/changelog index 0dde096..995c3fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-neomagic (1:1.2.4-4) UNRELEASED; urgency=low + + * Build against Xserver 1.9.1 rc1. + + -- Cyril Brulebois <k...@debian.org> Sat, 16 Oct 2010 19:05:02 +0200 + xserver-xorg-video-neomagic (1:1.2.4-3) unstable; urgency=low * Update to new xsfbs, replace deprecated ${xserver:Depends} with diff --git a/debian/control b/debian/control index 8ebfc4b..0dd7a25 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Uploaders: David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org Build-Depends: debhelper (>= 5.0.0), pkg-config, - xserver-xorg-dev (>= 2:1.7.6.901), + xserver-xorg-dev (>= 2:1.9.0.901), x11proto-video-dev, x11proto-xf86dga-dev, x11proto-core-dev, commit 28208cfeea088f50c43fa982b527451c9522d300 Author: Mikhail Gusarov <dotted...@debian.org> Date: Fri May 7 18:58:58 2010 +0700 Remove duplicate xorg.fd.o URL and confusing mailing list URL from debian/control diff --git a/debian/control b/debian/control index ae67bf0..8ebfc4b 100644 --- a/debian/control +++ b/debian/control @@ -34,7 +34,5 @@ Description: X.Org X server -- Neomagic display driver . More information about X.Org can be found at: <URL:http://www.X.org> - <URL:http://xorg.freedesktop.org> - <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> . This package is built from the X.org xf86-video-neomagic driver module. commit 7b956edef76243ff82003aa10623522c5e4f755a Author: Cyril Brulebois <k...@debian.org> Date: Mon May 3 23:38:32 2010 +0200 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index e74094f..0dde096 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-neomagic (1:1.2.4-3) UNRELEASED; urgency=low +xserver-xorg-video-neomagic (1:1.2.4-3) unstable; urgency=low * Update to new xsfbs, replace deprecated ${xserver:Depends} with ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev @@ -6,7 +6,7 @@ xserver-xorg-video-neomagic (1:1.2.4-3) UNRELEASED; urgency=low * Add myself to Uploaders. * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). - -- Cyril Brulebois <k...@debian.org> Mon, 03 May 2010 23:37:53 +0200 + -- Cyril Brulebois <k...@debian.org> Mon, 03 May 2010 23:38:28 +0200 xserver-xorg-video-neomagic (1:1.2.4-2) unstable; urgency=low commit 2682671d18ae4c61e6e54beb746bde41d429faa8 Author: Cyril Brulebois <k...@debian.org> Date: Mon May 3 23:38:19 2010 +0200 Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). diff --git a/debian/changelog b/debian/changelog index 901e2c5..e74094f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ xserver-xorg-video-neomagic (1:1.2.4-3) UNRELEASED; urgency=low ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev accordingly. * Add myself to Uploaders. + * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). -- Cyril Brulebois <k...@debian.org> Mon, 03 May 2010 23:37:53 +0200 diff --git a/debian/control b/debian/control index 562a703..ae67bf0 100644 --- a/debian/control +++ b/debian/control @@ -18,7 +18,7 @@ Build-Depends: automake, libtool, xutils-dev -Standards-Version: 3.8.3 +Standards-Version: 3.8.4 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-neomagic Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-neomagic.git commit 0cc45ecb233789afe380958b3221ee36f992a265 Author: Cyril Brulebois <k...@debian.org> Date: Mon May 3 23:38:07 2010 +0200 Add myself to Uploaders. diff --git a/debian/changelog b/debian/changelog index fa63f01..901e2c5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ xserver-xorg-video-neomagic (1:1.2.4-3) UNRELEASED; urgency=low * Update to new xsfbs, replace deprecated ${xserver:Depends} with ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev accordingly. + * Add myself to Uploaders. -- Cyril Brulebois <k...@debian.org> Mon, 03 May 2010 23:37:53 +0200 diff --git a/debian/control b/debian/control index 5dc6fda..562a703 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: xserver-xorg-video-neomagic Section: x11 Priority: optional Maintainer: Debian X Strike Force <debian-x@lists.debian.org> -Uploaders: David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org> +Uploaders: David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org>, Cyril Brulebois <k...@debian.org> Build-Depends: debhelper (>= 5.0.0), pkg-config, commit ccf88f0a6fd27ae040b37c1a4c6e53576bdae137 Author: Cyril Brulebois <k...@debian.org> Date: Mon May 3 23:37:53 2010 +0200 Update to new xsfbs, replace deprecated ${xserver:Depends} with ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev accordingly. diff --git a/debian/changelog b/debian/changelog index ceb20d9..fa63f01 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xserver-xorg-video-neomagic (1:1.2.4-3) UNRELEASED; urgency=low + + * Update to new xsfbs, replace deprecated ${xserver:Depends} with + ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev + accordingly. + + -- Cyril Brulebois <k...@debian.org> Mon, 03 May 2010 23:37:53 +0200 + xserver-xorg-video-neomagic (1:1.2.4-2) unstable; urgency=low [ Julien Cristau ] diff --git a/debian/control b/debian/control index 47b57ff..5dc6fda 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Uploaders: David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org Build-Depends: debhelper (>= 5.0.0), pkg-config, - xserver-xorg-dev (>= 2:1.7), + xserver-xorg-dev (>= 2:1.7.6.901), x11proto-video-dev, x11proto-xf86dga-dev, x11proto-core-dev, @@ -24,7 +24,7 @@ Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-neomagi Package: xserver-xorg-video-neomagic Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, ${xserver:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, ${xviddriver:Depends} Provides: ${xviddriver:Provides} Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-neomagic Conflicts: xserver-xorg-driver-neomagic commit 81fc271788605b52e85c2d11635a0371fb44605e Author: Cyril Brulebois <k...@debian.org> Date: Sun May 2 02:14:45 2010 +0200 Add xorg-driver-{video,input} to Provides. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 77c4a39..3c59c20 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -261,8 +261,8 @@ INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null) # these two can be removed post-squeeze VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) -VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) -INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI), xorg-driver-video +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI), xorg-driver-input ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) commit b045afbd8277ad0c44e29d7c45802053c4335ccd Author: Julien Cristau <jcris...@debian.org> Date: Fri Apr 16 22:14:46 2010 +0200 Update serverabi rule for xserver 1.7.6.901 Add new variables ${xviddriver:Depends} and ${xinpdriver:Depends} for drivers. The ${xserver:Depends} variable is deprecated. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 351fea5..77c4a39 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -253,25 +253,33 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir # debian/*.prerm >$@ -SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +# Compute dependencies for drivers +# +VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null) +INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null) + +# these two can be removed post-squeeze VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) -SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) + ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) endif .PHONY: serverabi serverabi: install -ifeq ($(SERVERMINVERS),) - @echo error: xserver-xorg-dev needs to be installed +ifeq ($(VIDEODEP),) + @echo 'error: xserver-xorg-dev >= 1.7.6.901 needs to be installed' @exit 1 else - echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Depends=$(VIDEODEP)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Depends=$(INPUTDEP)" >> debian/$(PACKAGE).substvars + # the following is there for compatibility... echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xserver:Depends=$(VIDEODEP), $(INPUTDEP)" >> debian/$(PACKAGE).substvars endif # vim:set noet ai sts=8 sw=8 tw=0: commit 8bd2e9b523da35493db1bd781d4ef6bfbbeb2eff Author: Julien Cristau <jcris...@debian.org> Date: Tue Apr 13 14:06:33 2010 +0200 xsfbs.mk: don't use a directory as a make target The timestamp on the directory gets updated each time a file is added in it, which causes useless rebuilds. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 5e16b10..351fea5 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -110,14 +110,15 @@ $(STAMP_DIR)/stampdir: .PHONY: prepare stampdir_targets+=prepare prepare: $(STAMP_DIR)/prepare -$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts +$(STAMP_DIR)/prepare: $(STAMP_DIR)/logdir $(STAMP_DIR)/genscripts >$@ -.PHONY: log -stampdir_targets+=log -log: $(STAMP_DIR)/log -$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir +.PHONY: logdir +stampdir_targets+=logdir +logdir: $(STAMP_DIR)/logdir +$(STAMP_DIR)/logdir: $(STAMP_DIR)/stampdir mkdir -p $(STAMP_DIR)/log + >$@ # Apply all patches to the upstream source. .PHONY: patch @@ -145,7 +146,7 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare # Revert all patches to the upstream source. .PHONY: unpatch -unpatch: $(STAMP_DIR)/log +unpatch: $(STAMP_DIR)/logdir rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ if $(QUILT) applied >/dev/null 2>/dev/null; then \ commit 734e3b2d1dcfe5db07cb19902617fd1212c0c186 Author: Cyril Brulebois <k...@debian.org> Date: Thu Apr 1 20:49:15 2010 +0200 Fix typo. diff --git a/debian/README.source b/debian/README.source index 34ab4bf..b09a1ab 100644 --- a/debian/README.source +++ b/debian/README.source @@ -25,7 +25,7 @@ just need to be pulled into git.debian.org in a "upstream-*" branch. Otherwise, the upstream sources are manually installed in the Debian git repository. -The .orig.tar.gz upstream source file could be generated this +The .orig.tar.gz upstream source file could be generated using this "upstream-*" branch in the Debian git repository but it is actually copied from upstream tarballs directly. commit 36de3baeab701e75481a0b42a0b807cc59ce9160 Author: Brice Goglin <bgog...@debian.org> Date: Mon Feb 8 18:52:40 2010 +0100 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index bbd0e0a..ceb20d9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-neomagic (1:1.2.4-2) UNRELEASED; urgency=low +xserver-xorg-video-neomagic (1:1.2.4-2) unstable; urgency=low [ Julien Cristau ] * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no @@ -8,7 +8,7 @@ xserver-xorg-video-neomagic (1:1.2.4-2) UNRELEASED; urgency=low * Pull from upstream master, up to commit dbcbef42. + Use usleep instead of xf86UDelay, closes: #568887. - -- Timo Aaltonen <tjaal...@ubuntu.com> Sat, 05 Dec 2009 01:49:08 +0200 + -- Brice Goglin <bgog...@debian.org> Mon, 08 Feb 2010 18:52:22 +0100 xserver-xorg-video-neomagic (1:1.2.4-1) experimental; urgency=low commit 220f39f7d3f22365c59b4c76a7c649d3ff80d061 Author: Brice Goglin <bgog...@debian.org> Date: Mon Feb 8 18:52:20 2010 +0100 New upstream snapshot diff --git a/debian/changelog b/debian/changelog index a351b13..bbd0e0a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,10 @@ xserver-xorg-video-neomagic (1:1.2.4-2) UNRELEASED; urgency=low * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no good reason. Thanks, Colin Watson! + [ Brice Goglin ] + * Pull from upstream master, up to commit dbcbef42. + + Use usleep instead of xf86UDelay, closes: #568887. + -- Timo Aaltonen <tjaal...@ubuntu.com> Sat, 05 Dec 2009 01:49:08 +0200 xserver-xorg-video-neomagic (1:1.2.4-1) experimental; urgency=low commit a791335d904f4ad302da6fbbc77343bfc06dffa2 Author: Julien Cristau <jcris...@debian.org> Date: Sat Jan 16 16:48:43 2010 +0000 Rename the build directory to not include DEB_BUILD_GNU_TYPE for no good reason. Thanks, Colin Watson! diff --git a/debian/changelog b/debian/changelog index 7ae66cb..63c1534 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,14 @@ xserver-xorg-video-neomagic (1:1.2.4-1) UNRELEASED; urgency=low + [ Timo Aaltonen ] * New upstream release. * Bump Standards-Version to 3.8.3. * Build against Xserver 1.7. + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + -- Timo Aaltonen <tjaal...@ubuntu.com> Sat, 05 Dec 2009 01:49:08 +0200 xserver-xorg-video-neomagic (1:1.2.3-1) unstable; urgency=low diff --git a/debian/rules b/debian/rules index 088e815..ad835e2 100755 --- a/debian/rules +++ b/debian/rules @@ -40,12 +40,12 @@ build: build-stamp build-stamp: configure dh_testdir - mkdir -p obj-$(DEB_BUILD_GNU_TYPE) - cd obj-$(DEB_BUILD_GNU_TYPE) && \ + mkdir -p build + cd build && \ ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info $(confflags) \ CFLAGS="$(CFLAGS)" - cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) + cd build && $(MAKE) >$@ clean: @@ -57,7 +57,7 @@ clean: rm -f */config.cache */config.log */config.status rm -f conftest* */conftest* rm -rf autom4te.cache */autom4te.cache - rm -rf obj-* + rm -rf build rm -f aclocal.m4 config.guess config.sub config.h.in configure rm -f depcomp install-sh ltmain.sh missing mkinstalldirs rm -f $$(find -name Makefile.in) @@ -70,7 +70,7 @@ install: build dh_clean -k dh_installdirs - cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install # Build architecture-dependent files here. binary-arch: build install serverabi commit dbcbef42e4ea74e20313e4f5437067cc5cfb7024 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 15 22:01:02 2009 -0500 configure.ac: remove unused sdkdir=$(pkg-config...) statement The sdkdir variable isn't use, so remove the statement. Acked-by: Dan Nicholson <dbn.li...@gmail.com> Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index 358c0dd..a19183b 100644 --- a/configure.ac +++ b/configure.ac @@ -63,7 +63,6 @@ XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) # Checks for pkg-config packages PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) -sdkdir=$(pkg-config --variable=sdkdir xorg-server) save_CFLAGS="$CFLAGS" CFLAGS="$XORG_CFLAGS" commit 4174c802bdac50bd62981bf548efa84ee15bf2b2 Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 30 12:50:10 2009 -0500 Remove banked framebuffer mode Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/Makefile.am b/src/Makefile.am index c09962b..e07e52e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,7 +33,6 @@ neomagic_drv_la_SOURCES = \ neo_2090.c \ neo_2097.c \ neo_2200.c \ - neo_bank.c \ neo_cursor.c \ neo_dga.c \ neo_driver.c \ diff --git a/src/neo.h b/src/neo.h index c412792..718b8a5 100644 --- a/src/neo.h +++ b/src/neo.h @@ -107,11 +107,6 @@ extern Bool NeoCursorInit(ScreenPtr pScrn); extern void NeoShowCursor(ScrnInfoPtr pScrn); extern void NeoHideCursor(ScrnInfoPtr pScrn); -/* in neo_bank.c */ -int NEOSetReadWrite(ScreenPtr pScreen, int bank); -int NEOSetWrite(ScreenPtr pScreen, int bank); -int NEOSetRead(ScreenPtr pScreen, int bank); - /* in neo_i2c.c */ extern Bool neo_I2CInit(ScrnInfoPtr pScrn); @@ -237,7 +232,6 @@ typedef struct neoRec int NeoPanelHeight; /* options */ OptionInfoPtr Options; - Bool noLinear; Bool noAccel; Bool noAccelSet; Bool swCursor; diff --git a/src/neo_bank.c b/src/neo_bank.c deleted file mode 100644 index ec014ce..0000000 --- a/src/neo_bank.c +++ /dev/null @@ -1,92 +0,0 @@ -/********************************************************************** -Copyright 1998, 1999 by Precision Insight, Inc., Cedar Park, Texas. - - 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, and that the name of Precision Insight not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. Precision Insight -and its suppliers make no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -PRECISION INSIGHT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY -SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -**********************************************************************/ - -/* - * The original Precision Insight driver for - * XFree86 v.3.3 has been sponsored by Red Hat. - * - * Authors: - * Jens Owen (j...@tungstengraphics.com) - * Kevin E. Martin (ke...@precisioninsight.com) - * - * Port to Xfree86 v.4.0 - * 1998, 1999 by Egbert Eich (egbert.e...@physik.tu-darmstadt.de) - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define PSZ 8 - -/* All drivers should typically include these */ -#include "xf86.h" -#include "xf86_OSproc.h" - -/* Everything using inb/outb, etc needs "compiler.h" */ -#include "compiler.h" - -/* Driver specific headers */ -#include "neo.h" - -int -NEOSetReadWrite(ScreenPtr pScreen, int bank) -{ - IOADDRESS ioBase = xf86Screens[pScreen->myNum]->domainIOBase + 0x3CE; - unsigned char tmp; - - outb(ioBase, 0x11); - tmp = inb(ioBase + 1); - outw(ioBase, (( tmp & 0xFC ) << 8 ) | 0x11); - outw(ioBase, ((((bank << 2) & 0xFF) << 8) | 0x15)); - return 0; -} - -int -NEOSetWrite(ScreenPtr pScreen, int bank) -{ - IOADDRESS ioBase = xf86Screens[pScreen->myNum]->domainIOBase + 0x3CE; - unsigned char tmp; - - outb(ioBase, 0x11); - tmp = inb(ioBase + 1); - outw(ioBase, ((( tmp & 0xFC ) | 0x01 ) << 8 ) | 0x11); - outw(ioBase, ((((bank << 2) & 0xFF) << 8) | 0x16)); - return 0; -} - - -int -NEOSetRead(ScreenPtr pScreen, int bank) -{ - IOADDRESS ioBase = xf86Screens[pScreen->myNum]->domainIOBase + 0x3CE; - unsigned char tmp; - - outb(ioBase, 0x11); - tmp = inb(ioBase + 1); - outw(ioBase, ((( tmp & 0xFC ) | 0x01 ) << 8 ) | 0x11); - outw(ioBase, ((((bank << 2) & 0xFF) << 8) | 0x15)); - return 0; -} diff --git a/src/neo_driver.c b/src/neo_driver.c index f853107..9b40943 100644 --- a/src/neo_driver.c +++ b/src/neo_driver.c @@ -75,9 +75,6 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. /* All drivers implementing backing store need this */ #include "mibstore.h" -/* All drivers using the mi banking wrapper need this */ -#include "mibank.h" - /* All drivers using the mi colormap manipulation need this */ #include "micmap.h" @@ -335,7 +332,6 @@ static IsaChipsets NEOISAchipsets[] = { /* The options supported by the Neomagic Driver */ typedef enum { - OPTION_NOLINEAR_MODE, OPTION_NOACCEL, OPTION_SW_CURSOR, OPTION_NO_MMIO, @@ -383,7 +379,6 @@ static const OptionInfoRec NEO_2070_Options[] = { }; static const OptionInfoRec NEOOptions[] = { - { OPTION_NOLINEAR_MODE,"NoLinear", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_NOACCEL, "NoAccel", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_SW_CURSOR, "SWcursor", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_NO_MMIO, "noMMIO", OPTV_BOOLEAN, {0}, FALSE }, @@ -956,7 +951,6 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags) xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, nPtr->Options); - xf86GetOptValBool(nPtr->Options, OPTION_NOLINEAR_MODE,&nPtr->noLinear); xf86GetOptValBool(nPtr->Options, OPTION_SW_CURSOR,&nPtr->swCursor); xf86GetOptValBool(nPtr->Options, OPTION_NO_MMIO,&nPtr->noMMIO); xf86GetOptValBool(nPtr->Options, OPTION_INTERN_DISP,&nPtr->internDisp); @@ -1082,10 +1076,6 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags) if (nPtr->lcdCenter) xf86DrvMsg(pScrn->scrnIndex,X_CONFIG, "Video modes are centered on the display\n"); - if (nPtr->noLinear) - xf86DrvMsg(pScrn->scrnIndex,X_CONFIG, "using nonlinear mode\n"); - else - xf86DrvMsg(pScrn->scrnIndex,X_DEFAULT, "using linear mode\n"); if (nPtr->swCursor) xf86DrvMsg(pScrn->scrnIndex,X_CONFIG, "using sofware cursor\n"); if (nPtr->noMMIO) @@ -1099,17 +1089,9 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags) xf86DrvMsg(pScrn->scrnIndex,X_CONFIG, "Show chache for debugging\n"); if (nPtr->shadowFB) { - if (nPtr->noLinear) { - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, - "Option \"ShadowFB\" ignored. Not supported without" - " linear addressing\n"); - nPtr->shadowFB = FALSE; - nPtr->rotate = 0; - } else { - nPtr->noAccel = TRUE; - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, - "Using \"Shadow Framebuffer\" - acceleration disabled\n"); - } + nPtr->noAccel = TRUE; + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, + "Using \"Shadow Framebuffer\" - acceleration disabled\n"); } nPtr->NeoFbMapSize = linearSize * 1024; @@ -1203,7 +1185,7 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags) linearRes[0].rBegin = nPtr->NeoLinearAddr; linearRes[1].rEnd = nPtr->NeoLinearAddr + nPtr->NeoFbMapSize - 1; if (xf86RegisterResources(nPtr->pEnt->index,linearRes,ResNone)) { - nPtr->noLinear = TRUE; /* XXX */ + RETURN; } } #endif @@ -1331,10 +1313,8 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags) RETURN; } - if (!nPtr->noLinear) { - if (!xf86LoadSubModule(pScrn, "xaa")) - RETURN; - } + if (!xf86LoadSubModule(pScrn, "xaa")) + RETURN; if (nPtr->shadowFB) { if (!xf86LoadSubModule(pScrn, "shadow")) { @@ -1550,134 +1530,105 @@ NEOScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) nAcl->UseHWCursor = FALSE; nAcl->CursorAddress = -1; - if (nPtr->noLinear) { - miBankInfoPtr pBankInfo; - - /* Setup the vga banking variables */ - pBankInfo = (miBankInfoPtr)xnfcalloc(sizeof(miBankInfoRec),1); - if (pBankInfo == NULL) - return FALSE; - - pBankInfo->pBankA = hwp->Base; - pBankInfo->pBankB = (unsigned char *)hwp->Base; - pBankInfo->BankSize = 0x10000; - pBankInfo->nBankDepth = pScrn->depth; - - pBankInfo->SetSourceBank = (miBankProcPtr)NEOSetRead; - pBankInfo->SetDestinationBank = - (miBankProcPtr)NEOSetWrite; - pBankInfo->SetSourceAndDestinationBanks = - (miBankProcPtr)NEOSetReadWrite; - if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, - pScrn->displayWidth, pBankInfo)) { - xfree(pBankInfo); - pBankInfo = NULL; - return FALSE; - } - xf86DrvMsg(pScrn->scrnIndex,X_INFO, "Using nonlinear mode\n"); - xf86DrvMsg(pScrn->scrnIndex,X_INFO, "Using software cursor in " - "nonlinear mode\n"); + nAcl->cacheStart = -1; + nAcl->cacheEnd = -1; + xf86DrvMsg(pScrn->scrnIndex,X_INFO, + "Using linear framebuffer at: 0x%08lX\n", + nPtr->NeoLinearAddr); + /* Setup pointers to free space in video ram */ + allocatebase = (pScrn->videoRam << 10); + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY * (pScrn->bitsPerPixel >> 3); + currentaddr = allocatebase; + xf86DrvMsg(scrnIndex, X_PROBED, + "%d bytes off-screen memory available\n", freespace); + + if (nPtr->swCursor || !nPtr->NeoMMIOBase) { + xf86DrvMsg(scrnIndex, X_CONFIG, + "Using Software Cursor.\n"); + } else if (nPtr->NeoCursorMem <= freespace) { + currentaddr -= nPtr->NeoCursorMem; + freespace -= nPtr->NeoCursorMem; + /* alignment */ + freespace -= currentaddr & 0x3FF; + currentaddr &= 0xfffffc00; + nAcl->CursorAddress = currentaddr; + xf86DrvMsg(scrnIndex, X_INFO, + "Using H/W Cursor.\n"); } else { - nAcl->cacheStart = -1; - nAcl->cacheEnd = -1; - xf86DrvMsg(pScrn->scrnIndex,X_INFO, - "Using linear framebuffer at: 0x%08lX\n", - nPtr->NeoLinearAddr); - /* Setup pointers to free space in video ram */ - allocatebase = (pScrn->videoRam << 10); - freespace = allocatebase - pScrn->displayWidth * - pScrn->virtualY * (pScrn->bitsPerPixel >> 3); - currentaddr = allocatebase; - xf86DrvMsg(scrnIndex, X_PROBED, - "%d bytes off-screen memory available\n", freespace); - - if (nPtr->swCursor || !nPtr->NeoMMIOBase) { - xf86DrvMsg(scrnIndex, X_CONFIG, - "Using Software Cursor.\n"); - } else if (nPtr->NeoCursorMem <= freespace) { - currentaddr -= nPtr->NeoCursorMem; - freespace -= nPtr->NeoCursorMem; - /* alignment */ - freespace -= currentaddr & 0x3FF; - currentaddr &= 0xfffffc00; - nAcl->CursorAddress = currentaddr; - xf86DrvMsg(scrnIndex, X_INFO, - "Using H/W Cursor.\n"); - } else { - xf86DrvMsg(scrnIndex, X_ERROR, - "Too little space for H/W cursor.\n"); - } - - if (!nPtr->noAccel && !nPtr->NeoMMIOBase) - xf86DrvMsg(pScrn->scrnIndex,X_INFO, - "Acceleration disabled when not using MMIO\n"); - - if (nPtr->overlay > 0){ - if (nPtr->overlay > freespace){ - xf86DrvMsg(pScrn->scrnIndex,X_INFO, - "Can not reserve %d bytes for overlay. " - "Resize to %d bytes.\n", - nPtr->overlay, freespace); - nPtr->overlay = freespace; - } - currentaddr -= nPtr->overlay; - freespace -= nPtr->overlay; - nPtr->overlay_offset = currentaddr; - xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Overlay at 0x%x\n", - nPtr->overlay_offset); - } - - nAcl->cacheStart = currentaddr - freespace; - nAcl->cacheEnd = currentaddr; - freespace = 0; - if (nAcl->cacheStart < nAcl->cacheEnd) { - BoxRec AvailFBArea; - int lines = nAcl->cacheEnd / - (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); - if (!nPtr->noAccel && nPtr->NeoMMIOBase && lines > 1024) - lines = 1024; - AvailFBArea.x1 = 0; - AvailFBArea.y1 = 0; - AvailFBArea.x2 = pScrn->displayWidth; - AvailFBArea.y2 = lines; - xf86InitFBManager(pScreen, &AvailFBArea); - - xf86DrvMsg(pScrn->scrnIndex, X_INFO, - "Using %i scanlines of offscreen memory \n", - lines - pScrn->virtualY); - } - - /* Setup the acceleration primitives */ - if (!nPtr->noAccel && nPtr->NeoMMIOBase) { - Bool ret = FALSE; - if (nAcl->cacheStart >= nAcl->cacheEnd) { - xf86DrvMsg(scrnIndex, X_ERROR, - "Too little space for pixmap cache.\n"); - } - switch(nPtr->NeoChipset) { - case NM2070 : - ret = Neo2070AccelInit(pScreen); - break; - case NM2090 : - case NM2093 : - ret = Neo2090AccelInit(pScreen); - break; - case NM2097 : - case NM2160 : - ret = Neo2097AccelInit(pScreen); - break; - case NM2200 : - case NM2230 : - case NM2360 : - case NM2380 : - ret = Neo2200AccelInit(pScreen); - break; - } - xf86DrvMsg(pScrn->scrnIndex,X_INFO, - "Acceleration %s Initialized\n",ret ? "" : "not"); - } - + xf86DrvMsg(scrnIndex, X_ERROR, + "Too little space for H/W cursor.\n"); } + + if (!nPtr->noAccel && !nPtr->NeoMMIOBase) + xf86DrvMsg(pScrn->scrnIndex,X_INFO, + "Acceleration disabled when not using MMIO\n"); + + if (nPtr->overlay > 0){ + if (nPtr->overlay > freespace){ + xf86DrvMsg(pScrn->scrnIndex,X_INFO, + "Can not reserve %d bytes for overlay. " + "Resize to %d bytes.\n", + nPtr->overlay, freespace); + nPtr->overlay = freespace; + } + currentaddr -= nPtr->overlay; + freespace -= nPtr->overlay; + nPtr->overlay_offset = currentaddr; + xf86DrvMsg(pScrn->scrnIndex,X_INFO,"Overlay at 0x%x\n", + nPtr->overlay_offset); + } + + nAcl->cacheStart = currentaddr - freespace; + nAcl->cacheEnd = currentaddr; + freespace = 0; + if (nAcl->cacheStart < nAcl->cacheEnd) { + BoxRec AvailFBArea; + int lines = nAcl->cacheEnd / + (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); + if (!nPtr->noAccel && nPtr->NeoMMIOBase && lines > 1024) + lines = 1024; + AvailFBArea.x1 = 0; + AvailFBArea.y1 = 0; + AvailFBArea.x2 = pScrn->displayWidth; + AvailFBArea.y2 = lines; + xf86InitFBManager(pScreen, &AvailFBArea); + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Using %i scanlines of offscreen memory \n", + lines - pScrn->virtualY); + } + + /* Setup the acceleration primitives */ + if (!nPtr->noAccel && nPtr->NeoMMIOBase) { + Bool ret = FALSE; + if (nAcl->cacheStart >= nAcl->cacheEnd) { + xf86DrvMsg(scrnIndex, X_ERROR, + "Too little space for pixmap cache.\n"); + } + switch(nPtr->NeoChipset) { + case NM2070 : + ret = Neo2070AccelInit(pScreen); + break; + case NM2090 : + case NM2093 : + ret = Neo2090AccelInit(pScreen); + break; + case NM2097 : + case NM2160 : + ret = Neo2097AccelInit(pScreen); + break; + case NM2200 : + case NM2230 : + case NM2360 : + case NM2380 : + ret = Neo2200AccelInit(pScreen); + break; + } + xf86DrvMsg(pScrn->scrnIndex,X_INFO, + "Acceleration %s Initialized\n",ret ? "" : "not"); + } + miInitializeBackingStore(pScreen); xf86SetBackingStore(pScreen); xf86SetSilkenMouse(pScreen); @@ -1745,10 +1696,8 @@ NEOScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) xf86DPMSInit(pScreen, (DPMSSetProcPtr)NeoDisplayPowerManagementSet, 0); - if (!nPtr->noLinear) { - pScrn->memPhysBase = (unsigned long)nPtr->NeoLinearAddr; - pScrn->fbOffset = 0; - } + pScrn->memPhysBase = (unsigned long)nPtr->NeoLinearAddr; + pScrn->fbOffset = 0; /* Wrap the current CloseScreen function */ nPtr->CloseScreen = pScreen->CloseScreen; @@ -1975,85 +1924,80 @@ neoMapMem(ScrnInfoPtr pScrn) NEOPtr nPtr = NEOPTR(pScrn); vgaHWPtr hwp = VGAHWPTR(pScrn); - if (!nPtr->noLinear) { - if (!nPtr->noMMIO) { - if (nPtr->pEnt->location.type == BUS_PCI){ + if (!nPtr->noMMIO) { + if (nPtr->pEnt->location.type == BUS_PCI){ #ifndef XSERVER_LIBPCIACCESS - nPtr->NeoMMIOBase = - xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, - nPtr->PciTag, nPtr->NeoMMIOAddr, - 0x200000L); - if (nPtr->NeoMMIOAddr2 != 0){ -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1p7aex-0000fw...@alioth.debian.org