diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2008-09-14 14:31:58 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2008-09-14 14:31:58 +0000 |
commit | f56f93d666383a0ca45e877c8a866589dad9c3a0 (patch) | |
tree | f5c7255160f8850a7a2c8b55837b32fdee732b0d | |
parent | 12b51908646790c29fb6a9d5aab852ee950239cd (diff) |
Remove Linux-only driver.
-rw-r--r-- | driver/xf86-video-impact/man/Makefile.am | 58 | ||||
-rw-r--r-- | driver/xf86-video-impact/man/Makefile.in | 415 | ||||
-rw-r--r-- | driver/xf86-video-impact/man/impact.man | 49 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/Makefile.am | 37 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/Makefile.in | 509 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact.h | 143 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact_cmap.c | 52 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact_driver.c | 888 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact_regs.c | 332 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact_regs.h | 253 | ||||
-rw-r--r-- | driver/xf86-video-impact/src/impact_shadow.c | 354 |
11 files changed, 0 insertions, 3090 deletions
diff --git a/driver/xf86-video-impact/man/Makefile.am b/driver/xf86-video-impact/man/Makefile.am deleted file mode 100644 index f0eb29b85..000000000 --- a/driver/xf86-video-impact/man/Makefile.am +++ /dev/null @@ -1,58 +0,0 @@ -# -# 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. -# - -drivermandir = $(DRIVER_MAN_DIR) - -driverman_PRE = @DRIVER_NAME@.man - -driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) - -EXTRA_DIST = @DRIVER_NAME@.man - -CLEANFILES = $(driverman_DATA) - -SED = sed - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ - XORGMANNAME = X Version 11 - -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) < $< > $@ diff --git a/driver/xf86-video-impact/man/Makefile.in b/driver/xf86-video-impact/man/Makefile.in deleted file mode 100644 index 0cfcefc6a..000000000 --- a/driver/xf86-video-impact/man/Makefile.in +++ /dev/null @@ -1,415 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.in,v 1.1 2006/11/26 20:05:41 matthieu Exp $ -# -# 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. -# - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(drivermandir)" -drivermanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(driverman_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRIVER_NAME = @DRIVER_NAME@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_LIBS = @XORG_LIBS@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -drivermandir = $(DRIVER_MAN_DIR) -driverman_PRE = @DRIVER_NAME@.man -driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) -EXTRA_DIST = @DRIVER_NAME@.man -CLEANFILES = $(driverman_DATA) -SED = sed - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 -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 -all: all-am - -.SUFFIXES: -.SUFFIXES: .$(DRIVER_MAN_SUFFIX) .man -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-drivermanDATA: $(driverman_DATA) - @$(NORMAL_INSTALL) - test -z "$(drivermandir)" || $(mkdir_p) "$(DESTDIR)$(drivermandir)" - @list='$(driverman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(drivermanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(drivermandir)/$$f'"; \ - $(drivermanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(drivermandir)/$$f"; \ - done - -uninstall-drivermanDATA: - @$(NORMAL_UNINSTALL) - @list='$(driverman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(drivermandir)/$$f'"; \ - rm -f "$(DESTDIR)$(drivermandir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(drivermandir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-drivermanDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-drivermanDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-drivermanDATA \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-drivermanDATA \ - uninstall-info-am - - -.man.$(DRIVER_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/driver/xf86-video-impact/man/impact.man b/driver/xf86-video-impact/man/impact.man deleted file mode 100644 index e541407e5..000000000 --- a/driver/xf86-video-impact/man/impact.man +++ /dev/null @@ -1,49 +0,0 @@ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/impact/impact.man,v 1.3 2001/11/23 19:50:45 dawes Exp $ -.\" shorthand for double quote that works everywhere. -.ds q \N'34' -.TH IMPACT __drivermansuffix__ __vendorversion__ -.SH NAME -impact \- Impact video driver -.SH SYNOPSIS -.nf -.B "Section \*qDevice\*q" -.BI " Identifier \*q" devname \*q -.B " Driver \*qimpact\*q" -\ \ ... -.B EndSection -.fi -.SH DESCRIPTION -.B impact -is an XFree86 driver for the SGI Indigo2's impact video cards. -.SH SUPPORTED HARDWARE -The -.B impact -driver supports the Impact (MardiGras) cards found in SGI Indigo2 and ImpactSR -(also MardiGras) cards found in SGI Octane. -It supports Impact in 24bit TrueColor mode. There is also a 8bit PseudoColor -mode, but this affects the shadow frame-buffer only (memory usage), hardware -settings are the same. -.SH CONFIGURATION DETAILS -Please refer to XF86Config(__filemansuffix__) for general configuration -details. This section only covers configuration details specific to this -driver. -.PP -The driver auto-detects all device information necessary to initialize -the card. However, you have to decide what color mode you want: -.br -.TP -.BI "Option \*qbitplanes\*q \*q" integer \*q -number of bitplanes of the board (8 or 24) -Default: 24. -.SH "SEE ALSO" -XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__) -.SH AUTHORS -Authors: -.TP -Impact XFree86 driver: Peter FÜrst \fIpf@net.alphadv.de\fP -.TP -ImpactSR kernel driver: Stanislaw Skowronek \fIsskowron@et.put.poznan.pl\fP -.TP -Newport XFree86 driver: Guido GÜnther \fIagx@sigxcpu.org\fP -.TP - diff --git a/driver/xf86-video-impact/src/Makefile.am b/driver/xf86-video-impact/src/Makefile.am deleted file mode 100644 index 75f683b6a..000000000 --- a/driver/xf86-video-impact/src/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2005 Adam Jackson. -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# on the rights to use, copy, modify, merge, publish, distribute, sub -# license, and/or sell copies of the Software, and to permit persons to whom -# the Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -# ADAM JACKSON 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. - -# this is obnoxious: -# -module lets us name the module exactly how we want -# -avoid-version prevents gratuitous .0.0.0 version numbers on the end -# _ladir passes a dummy rpath to libtool so the thing will actually link -# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. -AM_CFLAGS = @XORG_CFLAGS@ -impact_drv_la_LTLIBRARIES = impact_drv.la -impact_drv_la_LDFLAGS = -module -avoid-version -impact_drv_ladir = @moduledir@/drivers - -impact_drv_la_SOURCES = \ - impact_cmap.c \ - impact_driver.c \ - impact.h \ - impact_regs.c \ - impact_regs.h \ - impact_shadow.c diff --git a/driver/xf86-video-impact/src/Makefile.in b/driver/xf86-video-impact/src/Makefile.in deleted file mode 100644 index 1628ee90b..000000000 --- a/driver/xf86-video-impact/src/Makefile.in +++ /dev/null @@ -1,509 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright 2005 Adam Jackson. -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# on the rights to use, copy, modify, merge, publish, distribute, sub -# license, and/or sell copies of the Software, and to permit persons to whom -# the Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -# ADAM JACKSON 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. - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(impact_drv_ladir)" -impact_drv_laLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(impact_drv_la_LTLIBRARIES) -impact_drv_la_LIBADD = -am_impact_drv_la_OBJECTS = impact_cmap.lo impact_driver.lo \ - impact_regs.lo impact_shadow.lo -impact_drv_la_OBJECTS = $(am_impact_drv_la_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(impact_drv_la_SOURCES) -DIST_SOURCES = $(impact_drv_la_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DRIVER_NAME = @DRIVER_NAME@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XORG_CFLAGS = @XORG_CFLAGS@ -XORG_LIBS = @XORG_LIBS@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @moduledir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ - -# this is obnoxious: -# -module lets us name the module exactly how we want -# -avoid-version prevents gratuitous .0.0.0 version numbers on the end -# _ladir passes a dummy rpath to libtool so the thing will actually link -# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. -AM_CFLAGS = @XORG_CFLAGS@ -impact_drv_la_LTLIBRARIES = impact_drv.la -impact_drv_la_LDFLAGS = -module -avoid-version -impact_drv_ladir = @moduledir@/drivers -impact_drv_la_SOURCES = \ - impact_cmap.c \ - impact_driver.c \ - impact.h \ - impact_regs.c \ - impact_regs.h \ - impact_shadow.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-impact_drv_laLTLIBRARIES: $(impact_drv_la_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(impact_drv_ladir)" || $(mkdir_p) "$(DESTDIR)$(impact_drv_ladir)" - @list='$(impact_drv_la_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(impact_drv_laLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(impact_drv_ladir)/$$f'"; \ - $(LIBTOOL) --mode=install $(impact_drv_laLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(impact_drv_ladir)/$$f"; \ - else :; fi; \ - done - -uninstall-impact_drv_laLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @set -x; list='$(impact_drv_la_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(impact_drv_ladir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(impact_drv_ladir)/$$p"; \ - done - -clean-impact_drv_laLTLIBRARIES: - -test -z "$(impact_drv_la_LTLIBRARIES)" || rm -f $(impact_drv_la_LTLIBRARIES) - @list='$(impact_drv_la_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -impact_drv.la: $(impact_drv_la_OBJECTS) $(impact_drv_la_DEPENDENCIES) - $(LINK) -rpath $(impact_drv_ladir) $(impact_drv_la_LDFLAGS) $(impact_drv_la_OBJECTS) $(impact_drv_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/impact_cmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/impact_driver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/impact_regs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/impact_shadow.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: - for dir in "$(DESTDIR)$(impact_drv_ladir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-impact_drv_laLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-impact_drv_laLTLIBRARIES - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-impact_drv_laLTLIBRARIES uninstall-info-am - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-impact_drv_laLTLIBRARIES clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-impact_drv_laLTLIBRARIES install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-impact_drv_laLTLIBRARIES \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/driver/xf86-video-impact/src/impact.h b/driver/xf86-video-impact/src/impact.h deleted file mode 100644 index 9655fde3c..000000000 --- a/driver/xf86-video-impact/src/impact.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * impact.h 2005/07/12 23:24:15, Copyright (c) 2005 peter fuerst - * - * Based on: - * # newport.h,v 1.4 2000/11/29 20:58:10 agx Exp # - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport.h,v - * 1.8 2001/12/19 21:31:21 dawes Exp # - */ - -#ifndef __IMPACT_H__ -#define __IMPACT_H__ - -/* - * All drivers should include these: - */ -#include "xf86.h" -#include "xf86_OSproc.h" -#include "compiler.h" -#include "xf86Resources.h" - -#include "xf86cmap.h" - -/* xaa & hardware cursor */ -#include "xaa.h" -#include "xf86Cursor.h" - -/* register definitions of the Impact card */ -#include "impact_regs.h" - -#if 0 -# define DEBUG 1 -#endif - -#ifdef DEBUG -# define TRACE_ENTER(str) ErrorF("impact: " str " %d\n",pScrn->scrnIndex) -# define TRACE_EXIT(str) ErrorF("impact: " str " done\n") -# define TRACE(str) ErrorF("impact trace: " str "\n") -# define TRACEV(str...) ErrorF(str) -#else -# define TRACE_ENTER(str) -# define TRACE_EXIT(str) -# define TRACE(str) -# define TRACEV(str...) -#endif - -#define IMPACT_FIXED_W_SCRN 1280 -#define IMPACT_FIXED_H_SCRN 1024 - -typedef struct { - unsigned busID; - unsigned isSR; - int devFD; - int bitplanes; - - /* revision numbers of the various pieces of silicon */ - unsigned int board_rev, cmap_rev, rex_rev, xmap_rev; - - ImpactRegsPtr pImpactRegs; /* Pointer to HQ registers */ - unsigned long base_addr0; - unsigned long base_offset; - - /* ShadowFB stuff: */ - pointer ShadowPtr; - unsigned long int ShadowPitch; - unsigned int Bpp; /* Bytes per pixel */ - /* for 8bpp ... */ - unsigned pseudo_palette[256]; - - /* wrapped funtions: */ - CloseScreenProcPtr CloseScreen; - - /* impact register backups: */ - struct { - mgireg32_t main_mode; - mgireg8_t pp1select; - } txt_xmap; - unsigned short txt_vc3[0x20]; - - /* impact register handling for FullHouse/SpeedRacer: */ - void (*WaitCfifoEmpty)(ImpactRegsPtr); - unsigned (*WaitCfifo)(ImpactRegsPtr); - unsigned (*WaitDMAOver)(ImpactRegsPtr); - unsigned (*WaitDMAReady)(ImpactRegsPtr); - unsigned short (*Vc3Get)(ImpactRegsPtr, CARD8); - void (*Vc3Set)(ImpactRegsPtr, CARD8, unsigned short); - CARD32 (*XmapGetModeRegister)(ImpactRegsPtr, CARD8); - void (*XmapSetModeRegister)(ImpactRegsPtr, CARD8, CARD32); - void (*RefreshArea8)(ScrnInfoPtr, int num, BoxPtr pbox); - void (*RefreshArea32)(ScrnInfoPtr, int num, BoxPtr pbox); - void (*FlushBoxCache)(int, char*, BoxPtr, unsigned); - - OptionInfoPtr Options; -} ImpactRec, *ImpactPtr; - -#define IMPACTPTR(p) ((ImpactPtr)((p)->driverPrivate)) -#define IMPACTREGSPTR(p) ((IMPACTPTR(p))->pImpactRegs) - -/* Impact_regs.c */ -void ImpactI2WaitCfifoEmpty(ImpactRegsPtr); -void ImpactSRWaitCfifoEmpty(ImpactRegsPtr); -void ImpactI2WaitDMAOver(ImpactRegsPtr); -void ImpactSRWaitDMAOver(ImpactRegsPtr); -void ImpactI2WaitDMAReady(ImpactRegsPtr); -void ImpactSRWaitDMAReady(ImpactRegsPtr); -unsigned ImpactI2WaitCfifo(ImpactRegsPtr,int); -unsigned ImpactSRWaitCfifo(ImpactRegsPtr,int); -unsigned short ImpactI2Vc3Get(ImpactRegsPtr, CARD8 vc2Ireg); -unsigned short ImpactSRVc3Get(ImpactRegsPtr, CARD8 vc2Ireg); -void ImpactI2Vc3Set(ImpactRegsPtr, CARD8 vc2Ireg, unsigned short val); -void ImpactSRVc3Set(ImpactRegsPtr, CARD8 vc2Ireg, unsigned short val); -void ImpactI2XmapSetModeRegister(ImpactRegsPtr, CARD8 address, CARD32 mode); -void ImpactSRXmapSetModeRegister(ImpactRegsPtr, CARD8 address, CARD32 mode); -CARD32 ImpactI2XmapGetModeRegister(ImpactRegsPtr, CARD8 address); -CARD32 ImpactSRXmapGetModeRegister(ImpactRegsPtr, CARD8 address); -void ImpactVc3DisableCursor(ScrnInfoPtr); -void ImpactVc3BlankScreen(ScrnInfoPtr, int); -void ImpactXmapSet24bpp(ScrnInfoPtr); -void ImpactBackupVc3(ScrnInfoPtr); -void ImpactRestoreVc3(ScrnInfoPtr); -void ImpactBackupRex(ScrnInfoPtr); -void ImpactRestoreRex(ScrnInfoPtr); -void ImpactBackupXmap(ScrnInfoPtr); -void ImpactRestoreXmap(ScrnInfoPtr); - -/* newort_cmap.c */ -static __inline__ unsigned -ImpactGetPalReg(ImpactPtr pImpact, int i) -{ - return pImpact->pseudo_palette[i & 0xff]; -} -void ImpactLoadPalette(ScrnInfoPtr, int numColors, int *indices, - LOCO* colors, VisualPtr); -void ImpactRestorePalette(ScrnInfoPtr); -void ImpactBackupPalette(ScrnInfoPtr); - -/* impact_shadow.c */ -int ImpactDepth24Flags(void); -void ImpactI2RefreshArea8(ScrnInfoPtr, int num, BoxPtr pbox); -void ImpactSRRefreshArea8(ScrnInfoPtr, int num, BoxPtr pbox); -void ImpactI2RefreshArea32(ScrnInfoPtr, int num, BoxPtr pbox); -void ImpactSRRefreshArea32(ScrnInfoPtr, int num, BoxPtr pbox); - -#endif /* __IMPACT_H__ */ diff --git a/driver/xf86-video-impact/src/impact_cmap.c b/driver/xf86-video-impact/src/impact_cmap.c deleted file mode 100644 index 7728b4acc..000000000 --- a/driver/xf86-video-impact/src/impact_cmap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * impact.h 2005/07/15 01:40:13, Copyright (c) 2005 peter fuerst - * - * Based on: - * # newport_cmap.c,v 1.1 2000/11/29 20:58:10 agx Exp # - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport_cmap.c,v - * 1.2 2001/11/23 19:50:45 dawes Exp # - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "impact.h" - -/* -unsigned ImpactGetPalReg(ImpactPtr pImpact, int i) -{ - return pImpact->pseudo_palette[i & 0xff]; -} -*/ - -/* Load a colormap into the "hardware" */ -void ImpactLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, - LOCO* colors, VisualPtr pVisual) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - TRACEV("ImpactLoadPalette(%d) %c", numColors, numColors!=1?'\n':0); - if (numColors > 256) numColors = 256; - - for ( ; numColors > 0; numColors--, indices++, colors++) { - unsigned rgb = colors->blue & 0xff00; - rgb = (rgb<<8) | (colors->green & 0xff00) | (colors->red>>8); - pImpact->pseudo_palette[*indices] = rgb; - TRACEV("%d:%04x %04x,%04x,%04x\n", *indices, rgb, - (int)colors->red, (int)colors->green, (int)colors->blue); - } - TRACEV("\n"); -} - -void ImpactBackupPalette(ScrnInfoPtr pScrn) -{ - (void)IMPACTPTR(pScrn)->pseudo_palette; /* Nothing to do? */ -} - -/* restore the default colormap */ -void ImpactRestorePalette(ScrnInfoPtr pScrn) -{ - (void)IMPACTPTR(pScrn)->pseudo_palette; /* Nothing to do? */ -} - diff --git a/driver/xf86-video-impact/src/impact_driver.c b/driver/xf86-video-impact/src/impact_driver.c deleted file mode 100644 index 005560077..000000000 --- a/driver/xf86-video-impact/src/impact_driver.c +++ /dev/null @@ -1,888 +0,0 @@ -/* - * impact_driver.c 2005/07/12 23:24:15, Copyright (c) 2005 peter fuerst - * - * Driver for the SGI Impact/ImpactSR graphics card - * - * This driver is based on the - * newport driver, (c) 2000,2001 Guido Guenther <agx@sigxcpu.org>, - * # newport_driver.c,v 1.2 2000/11/29 20:58:10 agx Exp # - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c,v - * 1.19 2002/01/04 21:22:33 tsi Exp # - * - * The newport driver is based on the newport.c & newport_con.c kernel code - * - * 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 fur- - * nished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- - * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- - * NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the XFree86 Project shall not - * be used in advertising or otherwise to promote the sale, use or other deal- - * ings in this Software without prior written authorization from the XFree86 - * Project. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -/* [un]mmap */ -#include <sys/mman.h> - -/* function prototypes, common data structures & generic includes */ -#include "impact.h" - -/* Drivers using the mi SW cursor need: */ -#include "mipointer.h" -/* Drivers using the mi implementation of backing store need: */ -#include "mibstore.h" -/* Drivers using the mi colourmap code need: */ -#include "micmap.h" - -/* Drivers using fb need: */ -#include "fb.h" - -/* Drivers using the shadow frame buffer need: */ -#include "shadowfb.h" - -/* Xv Extension */ -#include "xf86xv.h" -#include <X11/extensions/Xv.h> - -#include <string.h> -#include <stdio.h> -#include <errno.h> -#include <fcntl.h> - -#define IMPACT_MAX_BOARDS 3 - -#define IMPACT_FB_MMAP_OFF(pool) ((pool)<<24) - - -#define IMPACT_VERSION 4000 -#define IMPACT_NAME "IMPACT" -#define IMPACT_DRIVER_NAME "impact" -#define IMPACT_MAJOR_VERSION 0 -#define IMPACT_MINOR_VERSION 2 -#define IMPACT_PATCHLEVEL 0 - -struct probed_id { - unsigned char id; - unsigned char sr; -}; - - -/* Prototypes ------------------------------------------------------- */ -static void ImpactIdentify(int flags); -static const OptionInfoRec * ImpactAvailableOptions(int chipid, int busid); -static Bool ImpactProbe(DriverPtr drv, int flags); -static Bool ImpactPreInit(ScrnInfoPtr pScrn, int flags); -static Bool ImpactScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv); -static Bool ImpactEnterVT(int scrnIndex, int flags); -static void ImpactLeaveVT(int scrnIndex, int flags); -static Bool ImpactCloseScreen(int scrnIndex, ScreenPtr pScreen); -static Bool ImpactSaveScreen(ScreenPtr pScreen, int mode); -static unsigned ImpactHWProbe(struct probed_id probedIDs[],int lim); /* return number of found boards */ -static Bool ImpactModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); -static void ImpactRestore(ScrnInfoPtr pScrn, Bool Closing); -static Bool ImpactMapRegs(ScrnInfoPtr pScrn); -static Bool ImpactMapShadowFB(ScrnInfoPtr pScrn); -static void ImpactUnmapRegs(ScrnInfoPtr pScrn); -static void ImpactUnmapShadowFB(ScrnInfoPtr pScrn); -static Bool ImpactProbeCardInfo(ScrnInfoPtr pScrn); -/* ------------------------------------------------------------------ */ - -DriverRec IMPACT = { - IMPACT_VERSION, - IMPACT_DRIVER_NAME, - ImpactIdentify, - ImpactProbe, - ImpactAvailableOptions, - NULL, - 0 -}; - -/* Supported "chipsets" */ -#define CHIP_MG_3 0x1 -#define CHIP_MG_4 0x2 - -static SymTabRec ImpactChipsets[] = { - { CHIP_MG_3, "MardiGrasHQ3" }, - { CHIP_MG_4, "MardiGrasHQ4" }, - { -1, NULL } -}; - -/* List of Symbols from other modules that this module references */ - -static const char *fbSymbols[] = { - "fbPictureInit", - "fbScreenInit", - NULL -}; - -static const char *shadowSymbols[] = { - "ShadowFBInit", - NULL -}; - -#ifdef XFree86LOADER - -static MODULESETUPPROTO(impactSetup); - -static XF86ModuleVersionInfo impactVersRec = -{ - "impact", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XF86_VERSION_CURRENT, - IMPACT_MAJOR_VERSION, IMPACT_MINOR_VERSION, IMPACT_PATCHLEVEL, - ABI_CLASS_VIDEODRV, - ABI_VIDEODRV_VERSION, - MOD_CLASS_VIDEODRV, - {0,0,0,0} -}; - -XF86ModuleData impactModuleData = { &impactVersRec, impactSetup, NULL }; - -static pointer -impactSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - static Bool setupDone = FALSE; - - /* This module should be loaded only once, but check to be sure. */ - if (!setupDone) { - /* - * Modules that this driver always requires may be loaded - * here by calling LoadSubModule(). - */ - setupDone = TRUE; - xf86AddDriver(&IMPACT, module, 0); - /* - * Tell the loader about symbols from other modules that this module - * might refer to. - */ - LoaderRefSymLists(fbSymbols, shadowSymbols, NULL); - /* - * The return value must be non-NULL on success even though - * there is no TearDownProc. - */ - return (pointer)1; - } else { - if (errmaj) *errmaj = LDR_ONCEONLY; - return 0; - } -} - -#endif /* XFree86LOADER */ - -typedef enum { - OPTION_BITPLANES, - OPTION_BUS_ID -} ImpactOpts; - -/* Supported options */ -static const OptionInfoRec ImpactOptions [] = { - { OPTION_BITPLANES, "Depth", OPTV_INTEGER, {0}, FALSE }, - { OPTION_BUS_ID, "BusID", OPTV_INTEGER, {0}, FALSE }, - { -1, NULL, OPTV_NONE, {0}, FALSE } -}; - -/* ------------------------------------------------------------------ */ - -static Bool -ImpactGetRec(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact; - int i, j; - - if (pScrn->driverPrivate) - return TRUE; - - pScrn->driverPrivate = xnfcalloc(sizeof(ImpactRec), 1); - pImpact = IMPACTPTR(pScrn); - memset(pImpact, 0, sizeof(*pImpact)); - - for (i = j = 0; i < 256; i++, j += 0x010101) - pImpact->pseudo_palette[i] = j; - - return TRUE; -} - -static Bool -ImpactFreeRec(ScrnInfoPtr pScrn) -{ - if (!pScrn->driverPrivate) - return TRUE; - xfree(pScrn->driverPrivate); - pScrn->driverPrivate = 0; - return TRUE; -} - -static void -ImpactIdentify(int flags) -{ - xf86PrintChipsets( - IMPACT_NAME, "experimental driver for Impact Graphics Card", - ImpactChipsets); -} - -static Bool -ImpactProbe(DriverPtr drv, int flags) -{ - int numDevSections, numUsed, i, j, busID; - Bool foundScreen = FALSE; - GDevPtr *devSections; - GDevPtr dev = 0; - resRange range[] = { {ResExcMemBlock,0,0}, _END }; - struct probed_id probedIDs[IMPACT_MAX_BOARDS]; - memType base; - - if ((numDevSections = xf86MatchDevice(IMPACT_DRIVER_NAME,&devSections)) - <= 0) - return FALSE; - numUsed = ImpactHWProbe(probedIDs, IMPACT_MAX_BOARDS); - if (numUsed <= 0) - return FALSE; - - if (flags & PROBE_DETECT) - foundScreen = TRUE; - else { - for (i = 0; i < numDevSections; i++) { - dev = devSections[i]; - busID = xf86SetIntOption(dev->options, "BusID", 0); - - for (j = 0; j < numUsed; j++) - if (busID == probedIDs[j].id) { - int entity; - ScrnInfoPtr pScrn = 0; - /* - * This is a hack because don't have the RAC info (and - * don't want it). Set it as an ISA entity to get the - * entity field set up right. - */ - entity = xf86ClaimIsaSlot(drv, 0, dev, TRUE); - if (probedIDs[j].sr) { - base = (IMPACTSR_BASE_ADDR0 + busID * IMPACTSR_BASE_OFFSET); - RANGE(range[0], base, - base + sizeof(ImpactSRRegs), ResExcMemBlock); - } else { - base = (IMPACTI2_BASE_ADDR0 + busID * IMPACTI2_BASE_OFFSET); - RANGE(range[0], base, - base + sizeof(ImpactI2Regs), ResExcMemBlock); - } - pScrn = xf86ConfigIsaEntity(pScrn, 0, entity, NULL, - range, NULL, NULL, NULL, NULL); - /* Allocate a ScrnInfoRec */ - pScrn->driverVersion = IMPACT_VERSION; - pScrn->driverName = IMPACT_DRIVER_NAME; - pScrn->name = IMPACT_NAME; - pScrn->Probe = ImpactProbe; - pScrn->PreInit = ImpactPreInit; - pScrn->ScreenInit = ImpactScreenInit; - pScrn->EnterVT = ImpactEnterVT; - pScrn->LeaveVT = ImpactLeaveVT; - pScrn->driverPrivate = - (void*)(busID | (long)probedIDs[j].sr<<16); - foundScreen = TRUE; - break; - } - } - } - xfree(devSections); - return foundScreen; -} - -/* most of this is from DESIGN.TXT s20.3.6 */ -static Bool -ImpactPreInit(ScrnInfoPtr pScrn, int flags) -{ - long busID; - int i; - ImpactPtr pImpact; - MessageType from; - ClockRangePtr clockRanges; - pointer pFbMod = 0; - - if (flags & PROBE_DETECT) return FALSE; - - if (pScrn->numEntities != 1) - return FALSE; - - busID = (long)pScrn->driverPrivate; - pScrn->driverPrivate = 0; - - /* Fill in the monitor field */ - pScrn->monitor = pScrn->confScreen->monitor; - - if ( !xf86SetDepthBpp(pScrn, 8, 8, 8, ImpactDepth24Flags()) ) - return FALSE; - - switch (pScrn->depth) { - /* check if the returned depth is one we support */ - case 8: - case 24: - /* OK */ - break; - default: - xf86DrvMsg( - pScrn->scrnIndex, X_ERROR, - "Given depth (%d) is not supported by Impact driver\n", - pScrn->depth - ); - return FALSE; - } - /* Set bits per RGB for 8bpp */ - if (8 == pScrn->depth) - pScrn->rgbBits = 8; - - /* Set Default Weight */ - if (pScrn->depth > 8) { - rgb weights = {8, 8, 8}; - rgb masks = {0xFF, 0xFF00, 0xFF0000}; - if ( !xf86SetWeight(pScrn, weights, masks) ) - return FALSE; - } - - xf86PrintDepthBpp(pScrn); - - if ( !xf86SetDefaultVisual(pScrn,-1) ) - return FALSE; - - if (pScrn->depth > 8 && pScrn->defaultVisual != TrueColor) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual" - " (%s) is not supported at depth %d\n", - xf86GetVisualName(pScrn->defaultVisual), pScrn->depth); - return FALSE; - } - - { /* Set default Gamma */ - Gamma zeros = {0.0, 0.0, 0.0}; - if ( !xf86SetGamma(pScrn,zeros) ) - return FALSE; - } - - /* Allocate the ImpactRec driverPrivate */ - if ( !ImpactGetRec(pScrn) ) - return FALSE; - - /* ...and initialize it. */ - pImpact = IMPACTPTR(pScrn); - pImpact->busID = busID & 0xffff; - pImpact->isSR = busID >> 16; - pImpact->FlushBoxCache = 0; - - if (pImpact->isSR) { - pImpact->WaitCfifoEmpty = &ImpactSRWaitCfifoEmpty; - pImpact->WaitDMAOver = &ImpactSRWaitDMAOver; - pImpact->WaitDMAReady = &ImpactSRWaitDMAReady; - pImpact->Vc3Get = &ImpactSRVc3Get; - pImpact->Vc3Set = &ImpactSRVc3Set; - pImpact->XmapGetModeRegister = &ImpactSRXmapGetModeRegister; - pImpact->XmapSetModeRegister = &ImpactSRXmapSetModeRegister; - pImpact->RefreshArea8 = &ImpactSRRefreshArea8; - pImpact->RefreshArea32 = &ImpactSRRefreshArea32; - pImpact->base_addr0 = IMPACTSR_BASE_ADDR0; - pImpact->base_offset = IMPACTSR_BASE_OFFSET; - } else { - pImpact->WaitCfifoEmpty = &ImpactI2WaitCfifoEmpty; - pImpact->WaitDMAOver = &ImpactI2WaitDMAOver; - pImpact->WaitDMAReady = &ImpactI2WaitDMAReady; - pImpact->Vc3Get = &ImpactI2Vc3Get; - pImpact->Vc3Set = &ImpactI2Vc3Set; - pImpact->XmapGetModeRegister = &ImpactI2XmapGetModeRegister; - pImpact->XmapSetModeRegister = &ImpactI2XmapSetModeRegister; - pImpact->RefreshArea8 = &ImpactI2RefreshArea8; - pImpact->RefreshArea32 = &ImpactI2RefreshArea32; - pImpact->base_addr0 = IMPACTI2_BASE_ADDR0; - pImpact->base_offset = IMPACTI2_BASE_OFFSET; - } - - /* We use a programmable clock */ - pScrn->progClock = TRUE; - - /* Fill in pScrn->options) */ - xf86CollectOptions(pScrn, NULL); - if ( !(pImpact->Options = xalloc(sizeof(ImpactOptions))) ) - goto out_freerec; - - memcpy(pImpact->Options, ImpactOptions, sizeof(ImpactOptions)); - xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pImpact->Options); - - /* Set fields in ScreenInfoRec && ImpactRec */ - pScrn->videoRam = IMPACT_FIXED_W_SCRN * (pScrn->bitsPerPixel >> 3); - - /* get revisions of REX3, etc. */ - if ( !ImpactMapRegs(pScrn) ) - goto out_freeopt; - - ImpactProbeCardInfo(pScrn); - ImpactUnmapRegs(pScrn); - - from = X_PROBED; - xf86DrvMsg( - pScrn->scrnIndex, from, - "Impact Graphics Revisions: Board: %d, Rex: %c, Cmap: %c, Xmap: %c\n", - pImpact->board_rev, pImpact->rex_rev, - pImpact->cmap_rev, pImpact->xmap_rev); - - if ( xf86GetOptValInteger( - pImpact->Options, OPTION_BITPLANES, &pImpact->bitplanes) ) - from = X_CONFIG; - xf86DrvMsg(pScrn->scrnIndex, from, "Impact has %d bitplanes\n", - pImpact->bitplanes); - - if (pScrn->depth > pImpact->bitplanes) { - xf86DrvMsg( - pScrn->scrnIndex, X_ERROR, - "Display depth(%d) > number of bitplanes on Impact board(%d)\n", - pScrn->depth, pImpact->bitplanes); - goto out_freeopt; - } - if (pImpact->bitplanes != 8 && pImpact->bitplanes != 24) { - xf86DrvMsg( - pScrn->scrnIndex, X_ERROR, - "Number of bitplanes on impact must be either 8 or 24 not %d\n", - pImpact->bitplanes); - goto out_freeopt; - } - - /* Set up clock ranges that are alway ok */ - - /* XXX: Use information from VC2 here */ - clockRanges = xnfalloc(sizeof(ClockRange)); - clockRanges->next = 0; - clockRanges->minClock = 10000; - clockRanges->maxClock = 300000; - clockRanges->clockIndex = -1; /* programmable */ - clockRanges->interlaceAllowed = TRUE; - clockRanges->doubleScanAllowed = TRUE; - - /* see above note */ - /* There is currently only an 1280x1024 mode */ - i = xf86ValidateModes( - pScrn, pScrn->monitor->Modes, - pScrn->display->modes, clockRanges, - NULL, 256, 2048, - pScrn->bitsPerPixel, 128, 2048, - pScrn->display->virtualX, - pScrn->display->virtualY, - pScrn->videoRam * 1024, - LOOKUP_BEST_REFRESH); - - if (-1 == i) - goto out_freeopt; - - xf86PruneDriverModes(pScrn); - if (!i || !pScrn->modes) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n"); - goto out_freeopt; - } - - /* unnecessary, but do it to get a valid ScrnInfoRec */ - xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V); - - /* Set the current mode to the first in the list */ - pScrn->currentMode = pScrn->modes; - - /* Print the list of modes being used */ - xf86PrintModes(pScrn); - xf86SetDpi(pScrn, 0, 0); - - /* Load FB module */ - if ( !(pFbMod = xf86LoadSubModule(pScrn,"fb")) ) - goto out_freeopt; - - xf86LoaderReqSymLists( fbSymbols, NULL); - - /* Load ShadowFB module */ - if ( !xf86LoadSubModule(pScrn,"shadowfb") ) - goto out_freemod; - - xf86LoaderReqSymLists(shadowSymbols, NULL); - - return TRUE; - -out_freemod: - /* xf86UnloadSubModule(pFbMod); */ /* Unload FB module */ -out_freeopt: - xfree(pImpact->Options); -out_freerec: - ImpactFreeRec(pScrn); - return FALSE; -} - -static Bool -ImpactScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) -{ - ScrnInfoPtr pScrn; - ImpactPtr pImpact; - VisualPtr visual; - BOOL ret; - int i; - - /* First get a pointer to our private info */ - pScrn = xf86Screens[pScreen->myNum]; - pImpact = IMPACTPTR(pScrn); - - /* map the Impactregs until the server dies */ - if ( !ImpactMapRegs(pScrn) ) - return FALSE; - - /* map the ShadowFB until the server dies */ - if ( !ImpactMapShadowFB(pScrn) ) { - ImpactUnmapRegs(pScrn); - return FALSE; - } - /* Reset visual list. */ - miClearVisualTypes(); - - if ( !miSetVisualTypes( - pScrn->depth, - pScrn->depth != 8 - ? TrueColorMask - : miGetDefaultVisualMask(pScrn->depth), - pScrn->rgbBits, pScrn->defaultVisual) ) - goto out_freerec; - - miSetPixmapDepths(); - - pImpact->Bpp = pScrn->bitsPerPixel >> 3; - /* Setup the stuff for the shadow framebuffer */ - pImpact->ShadowPitch = (pScrn->virtualX * pImpact->Bpp + 3) & ~3L; - - if ( !ImpactModeInit(pScrn,pScrn->currentMode) ) - goto out_freerec; - - ret = fbScreenInit( - pScreen, pImpact->ShadowPtr, - pScrn->virtualX, pScrn->virtualY, - pScrn->xDpi, pScrn->yDpi, - pScrn->displayWidth, - pScrn->bitsPerPixel); - if (!ret) - goto out_freerec; - - /* we need rgb ordering if bitsPerPixel > 8 */ - if (pScrn->bitsPerPixel > 8) - for (i = 0, visual = pScreen->visuals; - i < pScreen->numVisuals; i++, visual++) - if ((visual->class | DynamicClass) == DirectColor) { - visual->offsetRed = pScrn->offset.red; - visual->offsetGreen = pScrn->offset.green; - visual->offsetBlue = pScrn->offset.blue; - visual->redMask = pScrn->mask.red; - visual->greenMask = pScrn->mask.green; - visual->blueMask = pScrn->mask.blue; - } - - /* must be after RGB ordering fixed */ - fbPictureInit (pScreen, 0, 0); - - miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - xf86SetBlackWhitePixels(pScreen); - - /* Initialize software cursor */ - if ( !miDCInitialize(pScreen,xf86GetPointerScreenFuncs()) ) - goto out_freerec; - - /* Initialise default colourmap */ - if ( !miCreateDefColormap(pScreen) ) - goto out_freerec; - - /* Install our LoadPalette funciton */ - if ( !xf86HandleColormaps(pScreen, 256, 8, ImpactLoadPalette, - 0, CMAP_RELOAD_ON_MODE_SWITCH) ) - goto out_freerec; - - /* Initialise shadow frame buffer */ - ShadowFBInit(pScreen, - 1 == pImpact->Bpp ? pImpact->RefreshArea8 : pImpact->RefreshArea32); - -#ifdef XvExtension - { - XF86VideoAdaptorPtr *ptr; - int n; - - n = xf86XVListGenericAdaptors(pScrn,&ptr); - if (n) - xf86XVScreenInit(pScreen, ptr, n); - } -#endif - pScreen->SaveScreen = ImpactSaveScreen; - /* Wrap the current CloseScreen function */ - pImpact->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = ImpactCloseScreen; - - if (1 == serverGeneration) - xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options); - - return TRUE; - -out_freerec: - ImpactFreeRec(pScrn); - return FALSE; -} - -/* called when switching away from a VT */ -static Bool -ImpactEnterVT(int scrnIndex, int flags) -{ - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - return ImpactModeInit(pScrn, pScrn->currentMode); -} - -/* called when switching to a VT */ -static void -ImpactLeaveVT(int scrnIndex, int flags) -{ - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - ImpactRestore(pScrn, FALSE); -} - -/* called at the end of each server generation */ -static Bool -ImpactCloseScreen(int scrnIndex, ScreenPtr pScreen) -{ - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - ImpactPtr pImpact = IMPACTPTR(pScrn); - - ImpactRestore(pScrn, TRUE); - - /* unmap the Impact's registers from memory */ - ImpactUnmapShadowFB(pScrn); - ImpactUnmapRegs(pScrn); - pScrn->vtSema = FALSE; - - if (pScreen->CloseScreen == ImpactCloseScreen) - pScreen->CloseScreen = pImpact->CloseScreen; - return (*pScreen->CloseScreen)(scrnIndex, pScreen); -} - -/* Blank or unblank the screen */ -static Bool -ImpactSaveScreen(ScreenPtr pScreen, int mode) -{ - ScrnInfoPtr pScrn; - ImpactPtr pImpact; - - pScrn = xf86Screens[pScreen->myNum]; - pImpact = IMPACTPTR(pScrn); - - ImpactVc3BlankScreen(pScrn, !xf86IsUnblank(mode)); - return TRUE; -} - - -static const OptionInfoRec * -ImpactAvailableOptions(int chipid, int busid) -{ - return ImpactOptions; -} - - -/* This sets up the actual mode on the Impact */ -static Bool -ImpactModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) -{ - int width, height; - - width = mode->HDisplay; - height = mode->VDisplay; - if (width != IMPACT_FIXED_W_SCRN || height != IMPACT_FIXED_H_SCRN) { - xf86DrvMsg( - pScrn->scrnIndex, X_ERROR, - "Width = %d and height = %d is not supported by by this driver\n", - width, height); - return FALSE; - } - - pScrn->vtSema = TRUE; - /* first backup the necessary registers... */ -/* - ImpactBackupVc3(pScrn); - ImpactBackupRex(pScrn); - ImpactBackupPalette(pScrn); - ImpactBackupXmap(pScrn); -*/ - - /* ...then setup the hardware */ -/* - ImpactVc3DisableCursor(pScrn); - ImpactXmapSet24bpp(pScrn); -*/ - - /* blank the framebuffer */ - - /* default drawmode */ - - return TRUE; -} - - -/* - * This will actually restore the saved state - * (either when switching back to a VT or when the server is going down) - * Closing is true if the X server is really going down - */ -static void -ImpactRestore(ScrnInfoPtr pScrn, Bool Closing) -{ - /* Restore backed up registers */ -/* - ImpactRestoreVc3(pScrn); - ImpactRestoreRex(pScrn); - ImpactRestorePalette(pScrn); - ImpactRestoreXmap(pScrn); -*/ -} - - -/* Probe for the Impact card ;) */ -static unsigned -ImpactHWProbe(struct probed_id probedIDs[], int lim) -{ - FILE* fb; - int hasImpact = 0; - - probedIDs[0].sr = probedIDs[0].id = 0; - if (IMPACT_MAX_BOARDS < lim) - lim = IMPACT_MAX_BOARDS; - - if ( (fb = fopen("/proc/fb","r")) ) { - char line[80]; - while (hasImpact <= lim && fgets(line,sizeof(line),fb)) { - char *s; - unsigned i = strtoul(line,&s,10); - if ( !strncmp(s," Impact",7) ) { - probedIDs[hasImpact].sr = ('S' == s[7]); - probedIDs[hasImpact].id = i; - hasImpact++; - } - } - fclose(fb); - } - return hasImpact; -} - -/* Probe for Chipset revisions */ -static Bool -ImpactProbeCardInfo(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - pImpact->bitplanes = 24; - pImpact->board_rev = 0; - pImpact->cmap_rev = '0'; - pImpact->rex_rev = '0'; - pImpact->xmap_rev = '0'; - - return TRUE; -} - - -/* - * To leave "xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c" - * untouched for now, we do our own mapping here. - * mapVidMem() (which is called from xf86MapVidMem(), to do the actual mapping) - * in lnx_video.c 1) has "/dev/mem" hardcoded and 2) unconditionally opens it - * without O_SYNC. - * But we *need* an uncached mapping for pImpactRegs. - * And using "/dev/fbN" at offset 0 automatically creates the appropriate - * mapping at the right hardware-address. - */ - -/* map ImpactRegs */ -static Bool -ImpactMapRegs(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - if (pImpact->pImpactRegs) - return TRUE; - - if (pImpact->devFD <= 0) { - char devfb[20]; - sprintf( devfb, "/dev/fb%d", pImpact->busID ); - pImpact->devFD = open(devfb,O_RDWR); - } - - if (pImpact->devFD < 0) - ErrorF("ImpactMapRegs: failed to open /dev/fb%d (%s)\n", - pImpact->busID , strerror(errno)); - else { - size_t size = pImpact->isSR ? 0x200000:sizeof(ImpactI2Regs); - pImpact->pImpactRegs = - mmap((void*)0, size, PROT_READ|PROT_WRITE, - MAP_SHARED, pImpact->devFD, 0); - if (MAP_FAILED == pImpact->pImpactRegs) { - ErrorF("ImpactMapRegs: Could not mmap card registers" - " (0x%08lx,0x%x) (%s)\n", 0, size, strerror(errno)); - pImpact->pImpactRegs = 0; - } - } - return pImpact->pImpactRegs ? TRUE:FALSE; -} - -/* map ImpactShadowFB */ -static Bool -ImpactMapShadowFB(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - if (pImpact->ShadowPtr) - return TRUE; - - if (pImpact->devFD < 0) - ErrorF("ImpactMapShadowFB: failed to open fb-dev\n"); - else { - pImpact->ShadowPtr = - mmap((void*)0, 0x800000, PROT_READ|PROT_WRITE, - MAP_SHARED, pImpact->devFD, IMPACT_FB_MMAP_OFF(3)); - if (MAP_FAILED == pImpact->ShadowPtr) { - ErrorF("ImpactMapShadowFB: Could not mmap shadow buffer" - " (0x%08lx,0x800000) (%s)\n", IMPACT_FB_MMAP_OFF(3), strerror(errno)); - pImpact->ShadowPtr = 0; - } - } - return pImpact->ShadowPtr ? TRUE:FALSE; -} - -/* unmap ImpactRegs */ -static void -ImpactUnmapRegs(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - size_t size = pImpact->isSR ? 0x200000:sizeof(ImpactI2Regs); - - if (pImpact->pImpactRegs) - munmap( pImpact->pImpactRegs, size ); - pImpact->pImpactRegs = 0; -} - -/* unmap ImpactShadowFB */ -static void -ImpactUnmapShadowFB(ScrnInfoPtr pScrn) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - if (pImpact->ShadowPtr) - munmap( pImpact->ShadowPtr, 0x800000 ); - pImpact->ShadowPtr = 0; -} - -/* eof */ diff --git a/driver/xf86-video-impact/src/impact_regs.c b/driver/xf86-video-impact/src/impact_regs.c deleted file mode 100644 index 847946931..000000000 --- a/driver/xf86-video-impact/src/impact_regs.c +++ /dev/null @@ -1,332 +0,0 @@ -/* - * impact_regs.c 2005/07/15 23:36:16, Copyright (c) 2005 peter fuerst - * - * Based on: - * - linux/drivers/video/impact.c, 2005 pf. - * - linux/drivers/video/impactsr.c, (c) 2004 by Stanislaw Skowronek. - * - newport_regs.c - * # newport_regs.c,v 1.3 2000/11/29 20:58:10 agx Exp # - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport_regs.c,v - * 1.6 2001/12/21 15:37:23 tsi Exp # - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "impact.h" - -/* FIFO status */ -#define MSK_I2_CFIFO_CNT 0x7f -#define MSK_SR_CFIFO_CNT 0xff -#define IMPACTI2_CFIFO_MAX 64 -#define IMPACTSR_CFIFO_MAX 128 -#define IMPACT_BFIFO_MAX 16 - -/* Sometimes we just have to wait until we can do anything */ - -/* - * ImpactWaitCfifo - */ -unsigned -ImpactI2WaitCfifo(ImpactRegsPtr pImpactRegs, int nslots) -{ - unsigned x; - while (((x = pImpactRegs->i2.fifostatus) & MSK_I2_CFIFO_CNT) - > IMPACTI2_CFIFO_MAX-nslots); - return x; -} - -unsigned -ImpactSRWaitCfifo(ImpactRegsPtr pImpactRegs, int nslots) -{ - unsigned x; - while (((x = pImpactRegs->sr.fifostatus) & MSK_SR_CFIFO_CNT) - > IMPACTSR_CFIFO_MAX-nslots); - return x; -} - -/* - * ImpactWaitCfifoEmpty - */ -void -ImpactI2WaitCfifoEmpty(ImpactRegsPtr pImpactRegs) -{ - while (pImpactRegs->i2.fifostatus & MSK_I2_CFIFO_CNT); -} - -void -ImpactSRWaitCfifoEmpty(ImpactRegsPtr pImpactRegs) -{ - while (pImpactRegs->sr.fifostatus & MSK_SR_CFIFO_CNT); -} - -/* - * ImpactWaitDMAOver - */ -void -ImpactI2WaitDMAOver(ImpactRegsPtr pImpactRegs) -{ - while (pImpactRegs->i2.dmabusy & 0x1F); - while (!(pImpactRegs->i2.status & 1)); - while (!(pImpactRegs->i2.status & 2)); - while (!(pImpactRegs->i2.rss.status & 0x100)); -} - -void -ImpactSRWaitDMAOver(ImpactRegsPtr pImpactRegs) -{ - while (pImpactRegs->sr.dmabusy & 0x1F); - while (!(pImpactRegs->sr.status & 1)); - while (!(pImpactRegs->sr.status & 2)); - while (!(pImpactRegs->sr.rss.status & 0x100)); -} - -/* - * ImpactWaitDMAReady - */ -void -ImpactI2WaitDMAReady(ImpactRegsPtr pImpactRegs) -{ - ImpactFifoCmd32(&pImpactRegs->i2.cfifo, 0x000e0100, 0); - while (pImpactRegs->i2.dmabusy & 0x1EFF); - while (!(pImpactRegs->i2.status & 2)); -} - -void -ImpactSRWaitDMAReady(ImpactRegsPtr pImpactRegs) -{ - ImpactFifoCmd32(&pImpactRegs->sr.cfifo, 0x000e0100, 0); - while (pImpactRegs->sr.dmabusy & 0x1EFF); - while (!(pImpactRegs->sr.status & 2)); -} - -/* - * ImpactWaitBfifo - */ -static __inline__ unsigned -ImpactWaitBfifo(mgireg32_t *giostatus, int nslots) -{ - unsigned x; - while (((x = *giostatus) & 0x1f) > IMPACT_BFIFO_MAX-nslots); - return x; -} - -unsigned -ImpactI2WaitBfifo(ImpactRegsPtr pImpactRegs, int nslots) -{ - return ImpactWaitBfifo(&pImpactRegs->i2.giostatus, nslots); -} - -unsigned -ImpactSRWaitBfifo(ImpactRegsPtr pImpactRegs, int nslots) -{ - return ImpactWaitBfifo(&pImpactRegs->sr.giostatus, nslots); -} - -/* - * ImpactWaitBfifoEmpty - */ -static __inline__ void -ImpactWaitBfifoEmpty(mgireg32_t *giostatus) -{ - while (*giostatus & 0x1f); -} - -void -ImpactI2WaitBfifoEmpty(ImpactRegsPtr pImpactRegs) -{ - ImpactWaitBfifoEmpty(&pImpactRegs->i2.giostatus); -} - -void -ImpactSRWaitBfifoEmpty(ImpactRegsPtr pImpactRegs) -{ - ImpactWaitBfifoEmpty(&pImpactRegs->sr.giostatus); -} - -/* - * ImpactVc3[GS]et - */ -static __inline__ void -ImpactVc3Set(Impact_vc3regs_t* vc3, CARD8 idx, unsigned short val) -{ - vc3->indexdata = (idx << 24) | (val << 8); -} - -void -ImpactI2Vc3Set(ImpactRegsPtr pImpactRegs, CARD8 idx, unsigned short val) -{ - ImpactVc3Set(&pImpactRegs->i2.vc3, idx, val); -} - -void -ImpactSRVc3Set(ImpactRegsPtr pImpactRegs, CARD8 idx, unsigned short val) -{ - ImpactVc3Set(&pImpactRegs->sr.vc3, idx, val); -} - -static __inline__ unsigned short -ImpactVc3Get(Impact_vc3regs_t* vc3, CARD8 idx) -{ - vc3->index = idx; - return vc3->data; -} - -unsigned short -ImpactI2Vc3Get(ImpactRegsPtr pImpactRegs, CARD8 idx) -{ - return ImpactVc3Get(&pImpactRegs->i2.vc3, idx); -} - -unsigned short -ImpactSRVc3Get(ImpactRegsPtr pImpactRegs, CARD8 idx) -{ - return ImpactVc3Get(&pImpactRegs->sr.vc3, idx); -} - - -/* - * ImpactXmap[GS]etModeRegister - */ -static __inline__ void -ImpactXmapSetModeRegister(Impact_xmapregs_t *xmap, CARD8 address, CARD32 mode) -{ - xmap->index = address << 2; - xmap->main_mode = mode; -} - -void -ImpactI2XmapSetModeRegister(ImpactRegsPtr pImpactRegs, CARD8 address, CARD32 mode) -{ - ImpactXmapSetModeRegister(&pImpactRegs->i2.xmap, address, mode); -} - -void -ImpactSRXmapSetModeRegister(ImpactRegsPtr pImpactRegs, CARD8 address, CARD32 mode) -{ - ImpactXmapSetModeRegister(&pImpactRegs->sr.xmap, address, mode); -} - -static __inline__ CARD32 -ImpactXmapGetModeRegister(Impact_xmapregs_t *xmap, CARD8 address) -{ - xmap->index = address << 2; - return xmap->main_mode; -} - -CARD32 -ImpactI2XmapGetModeRegister(ImpactRegsPtr pImpactRegs, CARD8 address) -{ - return ImpactXmapGetModeRegister(&pImpactRegs->i2.xmap, address); -} - -CARD32 -ImpactSRXmapGetModeRegister(ImpactRegsPtr pImpactRegs, CARD8 address) -{ - return ImpactXmapGetModeRegister(&pImpactRegs->sr.xmap, address); -} - -/* - * ImpactBackup.../ImpactRestore... - */ -void -ImpactBackupVc3( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - CARD8 i = sizeof(pImpact->txt_vc3)/sizeof(*pImpact->txt_vc3); - while (i--) - pImpact->txt_vc3[i] = (*pImpact->Vc3Get)( pImpactRegs, i ); -} - -void -ImpactRestoreVc3( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - CARD8 i = sizeof(pImpact->txt_vc3)/sizeof(*pImpact->txt_vc3); - while (i--) - (*pImpact->Vc3Set)( pImpactRegs, i, pImpact->txt_vc3[i] ); -} - -void -ImpactVc3DisableCursor( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - unsigned short val = (*pImpact->Vc3Get)( pImpactRegs, VC3_IREG_CURSOR ); - (*pImpact->Vc3Set)(pImpactRegs, VC3_IREG_CURSOR, val & ~VC3_CTRL_ECURS); -} - -void -ImpactVc3BlankScreen( ScrnInfoPtr pScrn, int blank ) -{/* - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - unsigned short treg = (*pImpact->Vc3Get)( pImpactRegs, VC3_IREG_CONTROL ); - if (blank) - treg &= ~VC3_CTRL_EDISP; - else - treg |= VC3_CTRL_EDISP; - (*pImpact->Vc3Set)( pImpactRegs, VC3_IREG_CONTROL, treg ); -*/} - -void -ImpactBackupRex( ScrnInfoPtr pScrn ) -{ -} - -void -ImpactRestoreRex( ScrnInfoPtr pScrn ) -{ -} - -void ImpactBackupXmap( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - Impact_xmapregs_t *xmap = - (&ImpactSRXmapGetModeRegister != pImpact->XmapGetModeRegister) - ? &pImpactRegs->i2.xmap - : &pImpactRegs->sr.xmap; - - pImpact->txt_xmap.pp1select = xmap->pp1select; - pImpact->txt_xmap.main_mode = - (*pImpact->XmapGetModeRegister)( pImpactRegs, 0 ); -} - -void ImpactRestoreXmap( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - Impact_xmapregs_t *xmap = - (&ImpactSRXmapGetModeRegister != pImpact->XmapGetModeRegister) - ? &pImpactRegs->i2.xmap - : &pImpactRegs->sr.xmap; - - xmap->pp1select = pImpact->txt_xmap.pp1select; - (*pImpact->XmapSetModeRegister)( - pImpactRegs, 0, pImpact->txt_xmap.main_mode ); -} - -/* set XMAP into 24-bpp mode */ - -void -ImpactXmapSet24bpp( ScrnInfoPtr pScrn ) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - Impact_xmapregs_t *xmap = - (&ImpactSRXmapGetModeRegister != pImpact->XmapGetModeRegister) - ? &pImpactRegs->i2.xmap - : &pImpactRegs->sr.xmap; - xmap->pp1select = 1; - (*pImpact->XmapSetModeRegister)( pImpactRegs, 0, 0x07a4 ); -} - -/* eof */ diff --git a/driver/xf86-video-impact/src/impact_regs.h b/driver/xf86-video-impact/src/impact_regs.h deleted file mode 100644 index e29b941e7..000000000 --- a/driver/xf86-video-impact/src/impact_regs.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - * impact_regs.h 2005/07/12 23:24:15, Copyright (c) 2005 peter fuerst - * - * Register Layouts of the SGI Impact/ImpactSR (MardiGras) chips. - * - * Based on: - * - linux/include/video/impact.h, 2005 pf. - * - linux/include/video/impactsr.h, (c) 2004 by Stanislaw Skowronek. - * - newport_regs.h - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport_regs.h,v - * 1.2 2001/11/23 19:50:45 dawes Exp # - * # newport_regs.h,v 1.5 2000/11/18 23:23:14 agx Exp # - */ - -#ifndef __IMPACT_REGS_H__ -#define __IMPACT_REGS_H__ - -typedef volatile unsigned long long int mgireg64_t; -typedef volatile unsigned int mgireg32_t; -typedef volatile unsigned short int mgireg16_t; -typedef volatile unsigned char mgireg8_t; - -typedef union mgicfifo { - mgireg64_t x; - mgireg32_t w; -} mgicfifo_t; - -typedef -struct Impact_xmapregs { - mgireg64_t a___________; /* 0x0000 */ - mgireg8_t pp1select; /* 0x0008 */ - mgireg8_t b___________[0x7f]; - mgireg8_t index; /* 0x0088 */ - mgireg8_t c___________[0x77]; - mgireg32_t config; /* 0x0100 */ - mgireg32_t d___________; - mgireg8_t configb; /* 0x0108 */ - mgireg8_t f___________[0x77]; - mgireg32_t buf_select; /* 0x0180 */ - mgireg8_t g___________[0x7c]; - mgireg32_t main_mode; /* 0x0200 */ - mgireg8_t h___________[0x7c]; - mgireg32_t overlay_mode; /* 0x0280 */ - mgireg8_t i___________[0x7c]; - mgireg32_t dib; /* 0x0300 */ - mgireg8_t j___________[0x3c]; - mgireg32_t dib_dw; /* 0x0340 */ - mgireg8_t k___________[0x3c]; - mgireg32_t re_rac; /* 0x0380 */ -} Impact_xmapregs_t; - -typedef -struct Impact_vc3regs { - mgireg64_t a________; /* 0x0000 */ - mgireg8_t index; /* 0x0008 */ - mgireg8_t b________[0x2f]; - mgireg32_t indexdata; /* 0x038 */ - mgireg8_t c________[0x74]; - mgireg16_t data; /* 0x00b0 */ - mgireg16_t d________[0x6f]; - mgireg16_t ram; /* 0x0190 */ -} Impact_vc3regs_t; - -typedef -struct Impact_rexregs { - mgireg8_t unused[0x78]; /* 0x0000 */ - mgireg32_t status; /* 0x0078 */ -} Impact_rexregs_t; - -typedef -struct ImpactI2_regs { - /* Indigo2 Impact */ - mgireg8_t a__________[0x50020]; /* 0x00000 */ - mgireg32_t cfifo_hw; /* 0x50020 */ - mgireg32_t cfifo_lw; /* 0x50024 */ - mgireg32_t cfifo_delay; /* 0x50028 */ - mgireg32_t dfifo_hw; /* 0x5002c */ - mgireg32_t dfifo_lw; /* 0x50030 */ - mgireg32_t dfifo_delay; /* 0x50034 */ - mgireg8_t b__________[0x48]; - mgicfifo_t cfifop; /* 0x50080 */ - mgireg8_t c__________[0x11b78]; - Impact_xmapregs_t xmap; /* 0x61c00 */ - mgireg8_t d__________[0x62000-sizeof(Impact_xmapregs_t)-0x61c00]; - Impact_vc3regs_t vc3; /* 0x62000 */ - mgireg8_t e__________[0x70000-sizeof(Impact_vc3regs_t)-0x62000]; - mgireg32_t status; /* 0x70000 */ - mgireg32_t fifostatus; /* 0x70004 */ - mgireg8_t f__________[0x78]; - mgicfifo_t cfifo; /* 0x70080 */ - mgireg8_t g__________[0x78]; - mgireg32_t giostatus; /* 0x70100 */ - mgireg32_t dmabusy; /* 0x70104 */ - mgireg8_t h__________[0xc3f8]; - Impact_rexregs_t rss; /* 0x7c500 */ -} ImpactI2Regs, *ImpactI2RegsPtr; - -typedef -struct ImpactSR_regs { - /* Octane ImpactSR */ - mgireg8_t a__________[0x20000]; /* 0x00000 */ - mgireg32_t status; /* 0x20000 */ - mgireg8_t b__________[4]; - mgireg32_t fifostatus; /* 0x20008 */ - mgireg8_t c__________[0xf4]; - mgireg32_t giostatus; /* 0x20100 */ - mgireg8_t d__________[0xfc]; - mgireg32_t dmabusy; /* 0x20200 */ - mgireg8_t e__________[0x1fc]; - mgicfifo_t cfifo; /* 0x20400 */ - mgireg8_t f__________[0xc0f8]; - Impact_rexregs_t rss; /* 0x2c500 */ - mgireg8_t g__________[0x40000-sizeof(Impact_rexregs_t)-0x2c500]; - mgireg32_t cfifo_hw; /* 0x40000 */ - mgireg32_t h__________; - mgireg32_t cfifo_lw; /* 0x40008 */ - mgireg32_t i__________; - mgireg32_t cfifo_delay; /* 0x40010 */ - mgireg32_t j__________[3]; - mgireg32_t dfifo_hw; /* 0x40020 */ - mgireg32_t k__________; - mgireg32_t dfifo_lw; /* 0x40028 */ - mgireg32_t l__________; - mgireg32_t dfifo_delay; /* 0x40030 */ - mgireg8_t m__________[0x31bcc]; - Impact_xmapregs_t xmap; /* 0x71c00 */ - mgireg8_t n__________[0x72000-sizeof(Impact_xmapregs_t)-0x71c00]; - Impact_vc3regs_t vc3; /* 0x72000 */ - mgireg8_t o__________[0x130400-sizeof(Impact_vc3regs_t)-0x72000]; - mgicfifo_t cfifop; /* 0x130400 */ -} ImpactSRRegs, *ImpactSRRegsPtr; - -typedef union { - struct ImpactI2_regs i2; - struct ImpactSR_regs sr; -} ImpactRegs, *ImpactRegsPtr; - -static __inline__ void -ImpactFifoCmd64( mgicfifo_t *fifo, unsigned cmd, unsigned reg, unsigned val ) -{ -#if (_MIPS_SZLONG == 64) /* see Xmd.h */ - fifo->x = ((unsigned long)cmd | reg<<8) << 32 | val; -#else - fifo->w = cmd | reg<<8; - fifo->w = val; -#endif -} - -static __inline__ void -ImpactFifoCmd32( mgicfifo_t *fifo, unsigned cmd, unsigned reg ) -{ - (&fifo->w)[1] = cmd | reg<<8; -} - -#define ImpactCmdWriteRss( fifo, reg, val )\ - ImpactFifoCmd64( fifo, 0x00180004, reg, val ) -#define ImpactCmdExecRss( fifo, reg, val )\ - ImpactFifoCmd64( fifo, 0x001c0004, reg, val ) - -#define impact_cmd_gline_xstartf(f,v) ImpactCmdWriteRss(f,0x000c,v) -#define impact_cmd_ir_alias(f,v) ImpactCmdExecRss( f,0x0045,v) -#define impact_cmd_blockxystarti(f,x,y) ImpactCmdWriteRss(f,0x0046,(x)<<16|(y)) -#define impact_cmd_blockxyendi(f,x,y) ImpactCmdWriteRss(f,0x0047,(x)<<16|(y)) -#define impact_cmd_packedcolor(f,v) ImpactCmdWriteRss(f,0x005b,v) -#define impact_cmd_red(f,v) ImpactCmdWriteRss(f,0x005c,v) -#define impact_cmd_alpha(f,v) ImpactCmdWriteRss(f,0x005f,v) -#define impact_cmd_char(f,v) ImpactCmdExecRss( f,0x0070,v) -#define impact_cmd_char_h(f,v) ImpactCmdWriteRss(f,0x0070,v) -#define impact_cmd_char_l(f,v) ImpactCmdExecRss( f,0x0071,v) -#define impact_cmd_xfrcontrol(f,v) ImpactCmdWriteRss(f,0x0102,v) -#define impact_cmd_fillmode(f,v) ImpactCmdWriteRss(f,0x0110,v) -#define impact_cmd_config(f,v) ImpactCmdWriteRss(f,0x0112,v) -#define impact_cmd_xywin(f,x,y) ImpactCmdWriteRss(f,0x0115,(y)<<16|(x)) -#define impact_cmd_xfrsize(f,x,y) ImpactCmdWriteRss(f,0x0153,(y)<<16|(x)) -#define impact_cmd_xfrmasklo(f,v) ImpactCmdWriteRss(f,0x0156,v) -#define impact_cmd_xfrmaskhi(f,v) ImpactCmdWriteRss(f,0x0157,v) -#define impact_cmd_xfrcounters(f,x,y) ImpactCmdWriteRss(f,0x0158,(y)<<16|(x)) -#define impact_cmd_xfrmode(f,v) ImpactCmdWriteRss(f,0x0159,v) -#define impact_cmd_re_togglecntx(f,v) ImpactCmdWriteRss(f,0x015f,v) -#define impact_cmd_pixcmd(f,v) ImpactCmdWriteRss(f,0x0160,v) -#define impact_cmd_pp1fillmode(f,m,o) ImpactCmdWriteRss(f,0x0161,(m)|(o)<<26) -#define impact_cmd_colormaskmsbs(f,v) ImpactCmdWriteRss(f,0x0162,v) -#define impact_cmd_colormasklsbsa(f,v) ImpactCmdWriteRss(f,0x0163,v) -#define impact_cmd_colormasklsbsb(f,v) ImpactCmdWriteRss(f,0x0164,v) -#define impact_cmd_drbpointers(f,v) ImpactCmdWriteRss(f,0x016d,v) - -#define impact_cmd_hq_pixelformat(f,v) ImpactFifoCmd64(f,0x000c0004,0,v) -#define impact_cmd_hq_scanwidth(f,v) ImpactFifoCmd64(f,0x000a0204,0,v) -#define impact_cmd_hq_dmatype(f,v) ImpactFifoCmd64(f,0x000a0604,0,v) -#define impact_cmd_hq_pg_list0(f,v) ImpactFifoCmd64(f,0x00080004,0,v) -#define impact_cmd_hq_pg_width(f,v) ImpactFifoCmd64(f,0x00080404,0,v) -#define impact_cmd_hq_pg_offset(f,v) ImpactFifoCmd64(f,0x00080504,0,v) -#define impact_cmd_hq_pg_startaddr(f,v) ImpactFifoCmd64(f,0x00080604,0,v) -#define impact_cmd_hq_pg_linecnt(f,v) ImpactFifoCmd64(f,0x00080704,0,v) -#define impact_cmd_hq_pg_widtha(f,v) ImpactFifoCmd64(f,0x00080804,0,v) -#if 0 -#define impact_cmd_hq_dmactrl_1(f) ImpactFifoCmd32(f,0x00080b04,0) -#define impact_cmd_hq_dmactrl_2(f) ImpactFifoCmd64(f,0x000000b7,0,0x000e0400) -#else -#define impact_cmd_hq_dmactrl_a(f,p) ImpactFifoCmd64(f,0x00080b04,0,((p)<<1)|0x000000b1) -#define impact_cmd_hq_dmactrl_b(f) ImpactFifoCmd32(f,0x000e0400,0) -#endif - -/* Now the Indexed registers of the VC2. */ -#define VC2_IREG_CONFIG 0x1f /* this is wrong (0x20) in newport_regs.h */ - -#define VC3_IREG_CURSOR 0x1d -#define VC3_IREG_CONTROL 0x1e -#define VC3_IREG_CONFIG VC2_IREG_CONFIG - -/* VC2 Control register bits */ -#define VC2_CTRL_EVIRQ 0x0001 /* VINTR enable */ -#define VC2_CTRL_EDISP 0x0002 /* Blackout */ -#define VC2_CTRL_EVIDEO 0x0004 /* Video Timing Enable */ -#define VC2_CTRL_EDIDS 0x0008 /* DID Function Enable */ - -#define VC3_CTRL_EVIRQ VC2_CTRL_EVIRQ -#define VC3_CTRL_EDISP VC2_CTRL_EDISP -#define VC3_CTRL_EVIDEO VC2_CTRL_EVIDEO -#define VC3_CTRL_EDIDS VC2_CTRL_EDIDS -#define VC3_CTRL_ECURS 0x0001 /* Cursor Enable */ - -/* Logic operations for the PP1 (SI=source invert, DI=dest invert, RI=result invert) */ -#define IMPACT_LO_CLEAR 0 -#define IMPACT_LO_AND 1 -#define IMPACT_LO_DIAND 2 -#define IMPACT_LO_COPY 3 -#define IMPACT_LO_SIAND 4 -#define IMPACT_LO_NOP 5 -#define IMPACT_LO_XOR 6 -#define IMPACT_LO_OR 7 -#define IMPACT_LO_RIOR 8 -#define IMPACT_LO_RIXOR 9 -#define IMPACT_LO_RINOP 10 -#define IMPACT_LO_DIOR 11 -#define IMPACT_LO_RICOPY 12 -#define IMPACT_LO_SIOR 13 -#define IMPACT_LO_RIAND 14 -#define IMPACT_LO_SET 15 - -/* - * Scanning physaddr range 1f000000 to 1f3fffff on Indigo2 shows this - * periodic pattern (but couldn't test more than a single board yet). - */ -#define IMPACTI2_BASE_ADDR0 0x1f000000 -#define IMPACTI2_BASE_OFFSET 0x00100000 -#define IMPACTI2_MAX_BOARDS 3 -/* Don't know, how it looks on Octane... */ -#define IMPACTSR_BASE_ADDR0 0x1c000000 -#define IMPACTSR_BASE_OFFSET 0 -#define IMPACTSR_MAX_BOARDS 1 - -#endif /* __IMPACT_REGS_H__ */ diff --git a/driver/xf86-video-impact/src/impact_shadow.c b/driver/xf86-video-impact/src/impact_shadow.c deleted file mode 100644 index fffd50723..000000000 --- a/driver/xf86-video-impact/src/impact_shadow.c +++ /dev/null @@ -1,354 +0,0 @@ -/* - * impact_shadow.c 2005/07/12 23:24:15, Copyright (c) 2005 peter fuerst - * - * Based on: - * - linux/drivers/video/impact.c, 2005 pf. - * - linux/drivers/video/impactsr.c, (c) 2004 by Stanislaw Skowronek. - * - newport_shadow.c - * # newport_shadow.c,v 1.3 2000/11/29 20:58:10 agx Exp # - * # xc/programs/Xserver/hw/xfree86/drivers/newport/newport_shadow.c,v - * 1.2 2001/11/23 19:50:45 dawes Exp # - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <asm/cachectl.h> -#include <sys/cachectl.h> -#include <sys/ioctl.h> -#include "impact.h" - -/* - * 4th parameter to be passed to xf86SetDepthBpp() - */ -int ImpactDepth24Flags(void) -{ - return Support32bppFb; -} - - -/* - * Common sanity check and adjustment for all ImpactRefreshArea... - */ -static __inline__ int -ImpactAdjRefreshBox(const BoxPtr obox, BoxPtr nbox) -{ - /* - * NB: Box defines [x1,x2[ x [x2,y2[, not [x1,x2] x [x2,y2] ! - */ - *nbox = *obox; - if (nbox->x1 < 0) nbox->x1 = 0; - if (nbox->y1 < 0) nbox->y1 = 0; - if (IMPACT_FIXED_W_SCRN < nbox->x2) nbox->x2 = IMPACT_FIXED_W_SCRN; - if (IMPACT_FIXED_H_SCRN < nbox->y2) nbox->y2 = IMPACT_FIXED_H_SCRN; - /* - * We may need to do some adjustment, since - * 1) the actual number of pixels *must* match the settings - * in "xystarti", "xyendi", "xfrsize", "xfrcounters", - * 2) we draw pairs of pixels. - * Otherwise... (try it :)) - */ - nbox->x1 &= ~1; - nbox->x2 = ++nbox->x2 & ~1; - return (nbox->x2 <= nbox->x1 || nbox->y2 <= nbox->y1); -} - - -/* - * Common per-box-prologue for PIO-version of ImpactRefreshArea* - */ -static __inline__ int -ImpactPreRefreshBoxPIO(mgicfifo_t *cfifo, const BoxPtr obox, BoxPtr nbox) -{ - int h, w, i; - - if (ImpactAdjRefreshBox(obox, nbox)) - return 0; - - w = nbox->x2 - nbox->x1; - h = nbox->y2 - nbox->y1; - - /* setup PIO to RE */ - impact_cmd_pp1fillmode(cfifo, 0x6300, IMPACT_LO_COPY); - impact_cmd_blockxystarti(cfifo, nbox->x1, nbox->y1); - impact_cmd_blockxyendi(cfifo, nbox->x2-1, nbox->y2-1); - impact_cmd_fillmode(cfifo, 0x00c00000); - impact_cmd_xfrmode(cfifo, 0x00080); - impact_cmd_xfrsize(cfifo, w, h); - impact_cmd_xfrcounters(cfifo, w, h); - impact_cmd_gline_xstartf(cfifo, 1); - impact_cmd_ir_alias(cfifo, 0x18); - /* another workaround.. 33 writes to alpha... hmm... */ - for (i = 0; i < 33; i++) - impact_cmd_alpha(cfifo, 0); - impact_cmd_xfrcontrol(cfifo, 2); - return 1; -} - -/* - * Common per-box-epilogue for PIO-version of ImpactRefreshArea* - */ -static __inline__ void -ImpactPostRefreshBoxPIO(mgicfifo_t *cfifo) -{ - impact_cmd_gline_xstartf(cfifo, 0); - impact_cmd_re_togglecntx(cfifo, 0); - impact_cmd_xfrcounters(cfifo, 0, 0); -} - - -/* - * 8-bpp blits are done as PIO draw operation; the pixels are unpacked - * into 32-bpp values from the current palette in software. - */ -static void -ImpactRefreshArea8(ImpactPtr pImpact, mgicfifo_t *cfifo, int num, BoxPtr pbox) -{ - unsigned pal[256]; - int i; - - for (i = 0; i < sizeof(pal)/sizeof(*pal); i++) - pal[i] = ImpactGetPalReg(pImpact, i); - - for (; num--; pbox++) { - BoxRec sanebox; - unsigned char *base; - int dy; - TRACEV("ImpactRefreshArea8: %d [%d..%d[x[%d..%d[\n", - num, pbox->x1,pbox->x2, pbox->y1,pbox->y2 ); - - (*pImpact->WaitCfifoEmpty)(pImpact->pImpactRegs); - if (ImpactPreRefreshBoxPIO(cfifo,pbox,&sanebox) <= 0) - continue; - - base = (unsigned char*)pImpact->ShadowPtr - + (dy = sanebox.y1) * pImpact->ShadowPitch + sanebox.x1; - - for ( ; dy < sanebox.y2; dy++) { - unsigned char *src = base; - int dx = sanebox.x1; - while (dx < sanebox.x2) { - /* pairs of pixels are sent in two writes to the RE */ - impact_cmd_char_h(cfifo, pal[*src++]); - impact_cmd_char_l(cfifo, pal[*src++]); - dx += 2; - } - base += pImpact->ShadowPitch; - } - ImpactPostRefreshBoxPIO(cfifo); - } - TRACE_EXIT("ImpactRefreshArea8"); -} - -void -ImpactI2RefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox) -{ - if (num > 0) - { ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - ImpactRefreshArea8(pImpact, &pImpactRegs->i2.cfifo, num, pbox); - } -} - -void -ImpactSRRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox) -{ - if (num > 0) - { ImpactPtr pImpact = IMPACTPTR(pScrn); - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - - ImpactRefreshArea8(pImpact, &pImpactRegs->sr.cfifo, num, pbox); - } -} - - -/* - * 32-bit blits are done as DMA operations, which is FAST on SGI machines - */ - -static void -ImpactCflushBoxPixlines(int fd, char *base, BoxPtr box, unsigned bpitch) -{ - int w = (box->x2 - box->x1) << 2; - int h = box->y2 - box->y1; - int i; - - base += bpitch*box->y1 + 4*box->x1; - - /* One syscall for each pixel-line. */ - for (i = 0; i < h; i++, base += bpitch) - cacheflush(base, w, DCACHE); -} - -static void -ImpactCflushBoxEnclosure(int fd, char *base, BoxPtr box, unsigned bpitch) -{ - int w = (box->x2 - box->x1) << 2; - int h = box->y2 - box->y1; - - base += bpitch*box->y1 + 4*box->x1; - - /* Whole enclosing mem, although may be mostly unconcerned. */ - cacheflush(base, (h-1)*bpitch + w, DCACHE); -} - - -static __inline__ int -ImpactRefreshBoxDMA(int isSR, mgicfifo_t *cfifo, BoxPtr box, unsigned bpitch) -{ - int w = box->x2 - box->x1; - int h = box->y2 - box->y1; - - /* setup DMA to RE */ - impact_cmd_pp1fillmode(cfifo, isSR ? 0x6300:0x6200, IMPACT_LO_COPY); - impact_cmd_colormasklsbsa(cfifo, 0xFFFFFFFF); - impact_cmd_colormasklsbsb(cfifo, 0xFFFFFFFF); - impact_cmd_colormaskmsbs(cfifo, 0xFFFF); - impact_cmd_xfrmasklo(cfifo, 0xFFFFFFFF); - impact_cmd_xfrmaskhi(cfifo, 0xFFFFFFFF); - impact_cmd_packedcolor(cfifo, 0); - impact_cmd_red(cfifo, 0); - impact_cmd_drbpointers(cfifo, 0xc8240); - impact_cmd_blockxystarti(cfifo, box->x1, box->y1); - impact_cmd_blockxyendi(cfifo, box->x2-1, box->y2-1); - impact_cmd_fillmode(cfifo, 0x01400000); - impact_cmd_xfrmode(cfifo, 0x00080); - impact_cmd_hq_pixelformat(cfifo, 0x600); - impact_cmd_hq_scanwidth(cfifo, w<<2); - impact_cmd_hq_dmatype(cfifo, 0x0c); - impact_cmd_pixcmd(cfifo, 3); - impact_cmd_xfrsize(cfifo, w, h); - impact_cmd_xfrcounters(cfifo, w, h); - impact_cmd_gline_xstartf(cfifo, 1); - impact_cmd_ir_alias(cfifo, 0x18); - if (isSR) { - int i; - for (i = 0; i < 33; i++) - impact_cmd_alpha(cfifo, 0); - } - impact_cmd_xfrcontrol(cfifo, 1); - impact_cmd_hq_pg_list0(cfifo, 0x80000000); - impact_cmd_hq_pg_width(cfifo, bpitch); - impact_cmd_hq_pg_offset(cfifo, 0); - impact_cmd_hq_pg_startaddr(cfifo, bpitch*box->y1+(box->x1<<2)); - impact_cmd_hq_pg_linecnt(cfifo, h); - impact_cmd_hq_pg_widtha(cfifo, w<<2); - impact_cmd_hq_dmactrl_a(cfifo,3); - impact_cmd_hq_dmactrl_b(cfifo); - - return 1; -} - -static __inline__ void -ImpactPostRefreshBoxDMA(mgicfifo_t *cfifo) -{ - impact_cmd_gline_xstartf(cfifo, 0); - impact_cmd_re_togglecntx(cfifo, 0); - impact_cmd_xfrcounters(cfifo, 0, 0); - impact_cmd_pixcmd(cfifo, 0); - impact_cmd_hq_pixelformat(cfifo, 0xe00); -} - - -static void -ImpactRefreshArea32DMA(ImpactPtr pImpact, int num, BoxPtr pbox) -{ - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - mgicfifo_t *cfifo = - pImpact->isSR ? &pImpactRegs->sr.cfifo:&pImpactRegs->i2.cfifo; - unsigned bpitch = pImpact->ShadowPitch; - - for (; num-- > 0; pbox++) { - BoxRec sanebox; - TRACEV("ImpactRefreshArea32: %d [%d..%d]x[%d..%d]\n", - num, pbox->x1,pbox->x2, pbox->y1,pbox->y2); - - if (ImpactAdjRefreshBox(pbox, &sanebox)) - continue; - - if (pImpact->FlushBoxCache) - (*pImpact->FlushBoxCache)(pImpact->devFD, (char*)pImpact->ShadowPtr, - &sanebox, bpitch); - - (*pImpact->WaitDMAOver)(pImpactRegs); - ImpactRefreshBoxDMA(pImpact->isSR, cfifo, &sanebox, bpitch); - (*pImpact->WaitDMAOver)(pImpactRegs); - ImpactPostRefreshBoxDMA(cfifo); - } - TRACE_EXIT("ImpactRefreshArea32"); -} - - -/* - * 32-bpp blits, done as PIO draw operation. On Indigo2 faster than DMA - * for very small boxes or boxes, no wider than about a dozen pixels. - */ -static void -ImpactRefreshArea32PIO(ImpactPtr pImpact, int num, BoxPtr pbox) -{ - ImpactRegsPtr pImpactRegs = pImpact->pImpactRegs; - mgicfifo_t *cfifo = - pImpact->isSR ? &pImpactRegs->sr.cfifo:&pImpactRegs->i2.cfifo; - unsigned bpitch = pImpact->ShadowPitch; - - for (; num--; pbox++) { - BoxRec sanebox; - unsigned char* base; - int dy; - TRACEV("ImpactRefreshArea32 PIO: %d [%d..%d[x[%d..%d[\n", - num, pbox->x1,pbox->x2, pbox->y1,pbox->y2 ); - - (*pImpact->WaitCfifoEmpty)(pImpactRegs); - if (ImpactPreRefreshBoxPIO(cfifo,pbox,&sanebox) <= 0) - continue; - - base = (unsigned char*)pImpact->ShadowPtr - + (dy = sanebox.y1) * bpitch + sanebox.x1 * 4; - - for ( ; dy < sanebox.y2; dy++) { - unsigned *src = (unsigned*)base; - int dx = sanebox.x1; - while (dx < sanebox.x2) { - /* pairs of pixels are sent in two writes to the RE */ - impact_cmd_char_h(cfifo, *src++); - impact_cmd_char_l(cfifo, *src++); - dx += 2; - } - base += bpitch; - } - ImpactPostRefreshBoxPIO(cfifo); - } - /* TRACE_EXIT("ImpactRefreshArea32"); */ -} - - -void -ImpactI2RefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox) -{ - ImpactPtr pImpact = IMPACTPTR(pScrn); - - for (; num--; pbox++) { - int w = pbox->x2 - pbox->x1; - int h = pbox->y2 - pbox->y1; - - if (w < 16 || w < 24 && h < 16 || w < 40 && h < 4) - ImpactRefreshArea32PIO(pImpact, 1, pbox); - else { - if (h < 580) - pImpact->FlushBoxCache = ImpactCflushBoxPixlines; - else - pImpact->FlushBoxCache = ImpactCflushBoxEnclosure; - ImpactRefreshArea32DMA(pImpact, 1, pbox); - } - } -} - -void -ImpactSRRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox) -{ - ImpactRefreshArea32DMA(IMPACTPTR(pScrn), num, pbox); -} - -/* eof */ |