Update to xf86-video-ast 1.0.1

This commit is contained in:
matthieu 2015-05-24 09:17:25 +00:00
parent 97a89ff946
commit 1516562272
19 changed files with 4284 additions and 3994 deletions

View File

@ -1,3 +1,220 @@
commit d531cac475980908ea52309846221a974b8e7efd
Author: Y.C. Chen <yc_chen@aspeedtech.com>
Date: Fri Aug 8 16:51:07 2014 +0800
Bump Version to 1.0.1
commit 85be2b8ecd69ebf24334ddfb1822bbbf0b41376a
Author: Y.C. Chen <yc_chen@aspeedtech.com>
Date: Fri Aug 8 16:36:04 2014 +0800
Update DP501FW Code
commit d0d76062f781896793bc51565e2dd5e4be047319
Author: Y.C. Chen <yc_chen@aspeedtech.com>
Date: Fri Aug 8 16:04:22 2014 +0800
Fixed 1600x900 cannot display properly
commit 94640946015eb6611ff9bf8daf49e10479351fac
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 17:09:42 2014 +0200
Add _AST_H_ define to ast.h
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 364364910d1cc9be67120b8d28ab79abd82dbf04
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 17:08:56 2014 +0200
Move firmware for DP501 to a separate file
This makes ast_vgatools.c much more readable.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 5bdd2cac0b8db58ab442375f5c9e9b4349f39c02
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 15:35:43 2014 +0200
Fix ABI version conflict in xf86UnclaimPciSlot()
xf86UnclaimPciSlot() received a GDevPtr as 2nd argument with
ABI_VIDEODRV_VERSION 13.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 06245e228319c63a48ddd0313cf39d9c8e93cfc7
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 15:10:20 2014 +0200
Fix typo
Chontel -> Chrontel
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 72a9703ae45fda895b658a97d125d8f62ff664aa
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 14:31:39 2014 +0200
Include local headers only when needed
Move inclusion of local headers from ast.h to the individual
files. Include only those headers which are needed.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 8fb9e1008473bc91b036dba5e9fb85f12bad7753
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 14:09:10 2014 +0200
Clean up namespace in ast_tool.c
- Made sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Placed declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 00fa895306c14bc320c9eb47368b20e6738ba430
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 14:05:17 2014 +0200
Clean up namespace in ast_accel.c
- Made sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Placed declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit a70eac7e6e5b23fa5cc140c29880a4abdf54adeb
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 13:57:25 2014 +0200
Clean up namespace in ast_mode.c
- Make local functions static
This sometimes helps the compiler to optimize.
- Made sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Placed declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 28f815fe8b56138f32a98e3712b61e930b5e892e
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 13:47:39 2014 +0200
Clean up namespace in ast_cursor.c
- Make sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Place declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit f6a2ba02b2ac8c8a8b66902dd3ac5324971a43fe
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 12:21:57 2014 +0200
Clean up namespace in ast_2dtool.c
- Make local functions static
This sometimes helps the compiler to optimize.
- Make sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Place declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit a833ba0b6cd6b6a449ddfed0b4753bc6f8dcb305
Author: Egbert Eich <eich@suse.de>
Date: Thu Apr 24 17:25:03 2014 +0200
Clean up namespace in ast_vgatools.c
- Make local functions static
This sometimes helps the compiler to optimize.
- Make sure exported functions have 'AST' in their name.
This avoids name space conflicts with the server or other drivers.
- Place declaration of exported functions in a header file.
This ensures that changes to the function type or arguments are followed
thru everywhere.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit e87938b319fd864f3f65527240d45a8ae234193f
Author: Egbert Eich <eich@suse.de>
Date: Thu Apr 24 17:27:30 2014 +0200
Remove unused functions from ast_vgatools.c
SetI2CReg(), GetI2CReg()
wait_fw_ready(), read_data() and clear_cmd() are used nowhere
currently.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 7c7fc069b7a50813c3ff88706e5616418f9ec76b
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 12:37:49 2014 +0200
Fix compiler warnings: add DrawablePtr argument to ASTPutImage
An archaeological survey revealed that this ABI change took place
in 2006 already.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit 0ddf408f17cee58d643f4fd2f683f6530f5027af
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 11:41:07 2014 +0200
Fix compiler warnings: get rid of deprecated IOADDRESS
For newer ABI versions IOADDRESS can be replaced by int
which is big enough to hold an PIO offset.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit e855e6806ea94a2296076924ee9460b5081bd6da
Author: Egbert Eich <eich@suse.de>
Date: Tue Apr 22 11:38:10 2014 +0200
Fix compiler warnings: get rid if xf86PciInfo.h
xf86PciInfo.h is not needed in the ASpeed driver at all.
Signed-off-by: Egbert Eich <eich@suse.de>
Acked-by: Y.C. Chen <yc_chen@aspeedtech.com>
commit ed39dc7c3cff7aa248fc3c8d697400371313745c
Author: Y.C. Chen <yc_chen@aspeedtech.com>
Date: Wed Mar 19 09:51:45 2014 +0800

View File

@ -1,11 +1,13 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
@ -13,7 +15,11 @@ Basic Installation
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation.
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. You can remove the program binaries and object files from the
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@ -67,8 +83,15 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
6. Often, you can also type `make uninstall' to remove the installed
files again.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
@ -120,7 +144,8 @@ Installation Names
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
@ -159,10 +222,15 @@ Particular systems
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae"
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
@ -174,6 +242,16 @@ and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
@ -189,7 +267,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
OS KERNEL-OS
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@ -277,7 +356,7 @@ operates.
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *Note Installation Names::
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.

View File

@ -73,7 +73,7 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure COPYING ChangeLog INSTALL config.guess \
config.sub install-sh ltmain.sh missing
config.sub depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \

View File

@ -9866,7 +9866,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.17.1])
m4_define([vers_have], [1.19.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@ -9916,6 +9916,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
AC_MSG_RESULT([no])
else
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
TRADITIONALCPPFLAGS="-traditional"
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
AC_MSG_RESULT([yes])
else
@ -9924,6 +9925,7 @@ else
fi
rm -f conftest.$ac_ext
AC_SUBST(RAWCPPFLAGS)
AC_SUBST(TRADITIONALCPPFLAGS)
]) # XORG_PROG_RAWCPP
# XORG_MANPAGE_SECTIONS()
@ -10448,9 +10450,10 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
]) # XORG_WITH_ASCIIDOC
# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
# --------------------------------
# -------------------------------------------
# Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0
# Minimum version for optional DOT checking: 1.18.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
@ -10470,6 +10473,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
#
AC_DEFUN([XORG_WITH_DOXYGEN],[
AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
AC_ARG_VAR([DOT], [Path to the dot graphics utility])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(doxygen,
AS_HELP_STRING([--with-doxygen],
@ -10513,6 +10517,20 @@ m4_ifval([$1],
AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
fi])
fi])
dnl Check for DOT if we have doxygen. The caller decides if it is mandatory
dnl HAVE_DOT is a variable that can be used in your doxygen.in config file:
dnl HAVE_DOT = @HAVE_DOT@
HAVE_DOT=no
if test "x$have_doxygen" = "xyes"; then
AC_PATH_PROG([DOT], [dot])
if test "x$DOT" != "x"; then
HAVE_DOT=yes
fi
fi
AC_SUBST([HAVE_DOT])
AM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"])
AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
]) # XORG_WITH_DOXYGEN
@ -10695,6 +10713,29 @@ fi])
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
]) # XORG_WITH_FOP
# XORG_WITH_M4([MIN-VERSION])
# ---------------------------
# Minimum version: 1.19.0
#
# This macro attempts to locate an m4 macro processor which supports
# -I option and is only useful for modules relying on M4 in order to
# expand macros in source code files.
#
# Interface to module:
# M4: returns the path of the m4 program found
# returns the path set by the user in the environment
#
AC_DEFUN([XORG_WITH_M4], [
AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
[AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
[[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
[AC_MSG_ERROR([could not find m4 that supports -I option])],
[$PATH:/usr/gnu/bin])])
AC_SUBST([M4], [$ac_cv_path_M4])
]) # XORG_WITH_M4
# XORG_WITH_PS2PDF([DEFAULT])
# ----------------
# Minimum version: 1.6.0
@ -11149,7 +11190,8 @@ AC_ARG_ENABLE(malloc0returnsnull,
AC_MSG_CHECKING([whether malloc(0) returns NULL])
if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
AC_RUN_IFELSE([AC_LANG_PROGRAM([
AC_CACHE_VAL([xorg_cv_malloc0_returns_null],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include <stdlib.h>
],[
char *m0, *r0, *c0, *p;
@ -11159,9 +11201,9 @@ if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
c0 = calloc(0,10);
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
])],
[MALLOC_ZERO_RETURNS_NULL=yes],
[MALLOC_ZERO_RETURNS_NULL=no],
[MALLOC_ZERO_RETURNS_NULL=yes])
[xorg_cv_malloc0_returns_null=yes],
[xorg_cv_malloc0_returns_null=no])])
MALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
fi
AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
@ -11450,7 +11492,7 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
]
)
@ -11459,16 +11501,17 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# These are currently disabled because they are noisy. They will be enabled
# in the future once the codebase is sufficiently modernized to silence
# them. For now, I don't want them to drown out the other warnings.
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
# Turn some warnings into errors, so we don't accidently get successful builds
# when there are problems that should be fixed.

View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xf86-video-ast 0.99.9.
# Generated by GNU Autoconf 2.69 for xf86-video-ast 1.0.1.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xf86-video-ast'
PACKAGE_TARNAME='xf86-video-ast'
PACKAGE_VERSION='0.99.9'
PACKAGE_STRING='xf86-video-ast 0.99.9'
PACKAGE_VERSION='1.0.1'
PACKAGE_STRING='xf86-video-ast 1.0.1'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@ -1358,7 +1358,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xf86-video-ast 0.99.9 to adapt to many kinds of systems.
\`configure' configures xf86-video-ast 1.0.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1428,7 +1428,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xf86-video-ast 0.99.9:";;
short | recursive ) echo "Configuration of xf86-video-ast 1.0.1:";;
esac
cat <<\_ACEOF
@ -1558,7 +1558,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
xf86-video-ast configure 0.99.9
xf86-video-ast configure 1.0.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1973,7 +1973,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by xf86-video-ast $as_me 0.99.9, which was
It was created by xf86-video-ast $as_me 1.0.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2802,7 +2802,7 @@ fi
# Define the identity of the package.
PACKAGE='xf86-video-ast'
VERSION='0.99.9'
VERSION='1.0.1'
cat >>confdefs.h <<_ACEOF
@ -5861,6 +5861,55 @@ $as_echo "$supported" >&6; }
fi
fi
if test $found = "no" ; then
if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
fi
if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
fi
CFLAGS="$CFLAGS -fd"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -fd" >&5
$as_echo_n "checking if $CC supports -fd... " >&6; }
cacheid=xorg_cv_cc_flag__fd
if eval \${$cacheid+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
eval $cacheid=yes
else
eval $cacheid=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
CFLAGS="$xorg_testset_save_CFLAGS"
eval supported=\$$cacheid
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5
$as_echo "$supported" >&6; }
if test "$supported" = "yes" ; then
BASE_CFLAGS="$BASE_CFLAGS -fd"
found="yes"
fi
fi
@ -6351,124 +6400,6 @@ $as_echo "$supported" >&6; }
xorg_testset_save_CFLAGS="$CFLAGS"
if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unknown-warning-option" >&5
$as_echo_n "checking if $CC supports -Werror=unknown-warning-option... " >&6; }
if ${xorg_cv_cc_flag_unknown_warning_option+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
xorg_cv_cc_flag_unknown_warning_option=yes
else
xorg_cv_cc_flag_unknown_warning_option=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unknown_warning_option" >&5
$as_echo "$xorg_cv_cc_flag_unknown_warning_option" >&6; }
xorg_testset_cc_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option
CFLAGS="$xorg_testset_save_CFLAGS"
fi
if test "x$xorg_testset_cc_unused_command_line_argument" = "x" ; then
if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
fi
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unused-command-line-argument" >&5
$as_echo_n "checking if $CC supports -Werror=unused-command-line-argument... " >&6; }
if ${xorg_cv_cc_flag_unused_command_line_argument+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
xorg_cv_cc_flag_unused_command_line_argument=yes
else
xorg_cv_cc_flag_unused_command_line_argument=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unused_command_line_argument" >&5
$as_echo "$xorg_cv_cc_flag_unused_command_line_argument" >&6; }
xorg_testset_cc_unused_command_line_argument=$xorg_cv_cc_flag_unused_command_line_argument
CFLAGS="$xorg_testset_save_CFLAGS"
fi
found="no"
if test $found = "no" ; then
if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
fi
if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
fi
CFLAGS="$CFLAGS -Wcast-qual"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wcast-qual" >&5
$as_echo_n "checking if $CC supports -Wcast-qual... " >&6; }
cacheid=xorg_cv_cc_flag__Wcast_qual
if eval \${$cacheid+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
eval $cacheid=yes
else
eval $cacheid=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
CFLAGS="$xorg_testset_save_CFLAGS"
eval supported=\$$cacheid
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5
$as_echo "$supported" >&6; }
if test "$supported" = "yes" ; then
BASE_CFLAGS="$BASE_CFLAGS -Wcast-qual"
found="yes"
fi
fi
xorg_testset_save_CFLAGS="$CFLAGS"
if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then
@ -6692,13 +6623,132 @@ $as_echo "$supported" >&6; }
fi
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
xorg_testset_save_CFLAGS="$CFLAGS"
if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unknown-warning-option" >&5
$as_echo_n "checking if $CC supports -Werror=unknown-warning-option... " >&6; }
if ${xorg_cv_cc_flag_unknown_warning_option+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
xorg_cv_cc_flag_unknown_warning_option=yes
else
xorg_cv_cc_flag_unknown_warning_option=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unknown_warning_option" >&5
$as_echo "$xorg_cv_cc_flag_unknown_warning_option" >&6; }
xorg_testset_cc_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option
CFLAGS="$xorg_testset_save_CFLAGS"
fi
if test "x$xorg_testset_cc_unused_command_line_argument" = "x" ; then
if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
fi
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unused-command-line-argument" >&5
$as_echo_n "checking if $CC supports -Werror=unused-command-line-argument... " >&6; }
if ${xorg_cv_cc_flag_unused_command_line_argument+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
xorg_cv_cc_flag_unused_command_line_argument=yes
else
xorg_cv_cc_flag_unused_command_line_argument=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unused_command_line_argument" >&5
$as_echo "$xorg_cv_cc_flag_unused_command_line_argument" >&6; }
xorg_testset_cc_unused_command_line_argument=$xorg_cv_cc_flag_unused_command_line_argument
CFLAGS="$xorg_testset_save_CFLAGS"
fi
found="no"
if test $found = "no" ; then
if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
fi
if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then
CFLAGS="$CFLAGS -Werror=unused-command-line-argument"
fi
CFLAGS="$CFLAGS -Wlogical-op"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wlogical-op" >&5
$as_echo_n "checking if $CC supports -Wlogical-op... " >&6; }
cacheid=xorg_cv_cc_flag__Wlogical_op
if eval \${$cacheid+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i;
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
eval $cacheid=yes
else
eval $cacheid=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
CFLAGS="$xorg_testset_save_CFLAGS"
eval supported=\$$cacheid
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5
$as_echo "$supported" >&6; }
if test "$supported" = "yes" ; then
BASE_CFLAGS="$BASE_CFLAGS -Wlogical-op"
found="yes"
fi
fi
# These are currently disabled because they are noisy. They will be enabled
# in the future once the codebase is sufficiently modernized to silence
# them. For now, I don't want them to drown out the other warnings.
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
# Turn some warnings into errors, so we don't accidently get successful builds
# when there are problems that should be fixed.
@ -18609,7 +18659,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by xf86-video-ast $as_me 0.99.9, which was
This file was extended by xf86-video-ast $as_me 1.0.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -18675,7 +18725,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
xf86-video-ast config.status 0.99.9
xf86-video-ast config.status 1.0.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-ast],
[0.99.9],
[1.0.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-ast])
AC_CONFIG_SRCDIR([Makefile.am])

View File

@ -43,4 +43,5 @@ ast_drv_la_SOURCES = \
ast_tool.c \
ast_vgatool.c \
ast_vgatool.h \
ast_dp501fw.h \
compat-api.h

View File

@ -332,6 +332,7 @@ ast_drv_la_SOURCES = \
ast_tool.c \
ast_vgatool.c \
ast_vgatool.h \
ast_dp501fw.h \
compat-api.h
all: all-am

View File

@ -19,6 +19,10 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _AST_H_
# define _AST_H_
/* Compiler Options */
#define Accel_2D
/* #define MMIO_2D */
@ -261,9 +265,11 @@ typedef struct _ASTRec {
unsigned long FbMapSize;
unsigned long MMIOMapSize;
IOADDRESS IODBase; /* Base of PIO memory area */
IOADDRESS PIOOffset;
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
IOADDRESS RelocateIO;
#else
int RelocateIO;
#endif
VIDEOMODE VideoModeInfo;
ASTRegRec SavedReg;
@ -303,8 +309,56 @@ typedef struct _ASTRec {
#define ASTPTR(p) ((ASTRecPtr)((p)->driverPrivate))
/* Include Files */
#include "ast_mode.h"
#include "ast_vgatool.h"
#include "ast_2dtool.h"
#include "ast_cursor.h"
/* ast_vgatool.c */
extern Bool bASTIsVGAEnabled(ScrnInfoPtr pScrn);
extern Bool ASTGetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
extern void ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags);
extern void vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual);
extern void ASTBlankScreen(ScrnInfoPtr pScreen, Bool unblack);
extern void vAST1000DisplayOn(ScrnInfoPtr pScrn);
extern void vAST1000DisplayOff(ScrnInfoPtr pScrn);
extern void vASTSetStartAddressCRT1(ASTRecPtr pAST, ULONG base);
extern void ASTGetScratchOptions(ScrnInfoPtr pScrn);
void ASTGetChipType(ScrnInfoPtr pScrn);
ULONG ASTGetMaxDCLK(ScrnInfoPtr pScrn);
ULONG ASTGetVRAMInfo(ScrnInfoPtr pScrn);
void ASTGetDRAMInfo(ScrnInfoPtr pScrn);
Bool bASTRegInit(ScrnInfoPtr pScrn);
void vASTOpenKey(ScrnInfoPtr pScrn);
Bool ASTReadEDID_M68K(ScrnInfoPtr pScrn, BYTE *pEDIDData);
UCHAR ASTGetLinkMaxCLK(ScrnInfoPtr pScrn);
Bool ASTGetVGAEDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
Bool bASTInitAST1180(ScrnInfoPtr pScrn);
void ASTGetAST1180DRAMInfo(ScrnInfoPtr pScrn);
void vASTEnableVGAMMIO(ScrnInfoPtr pScrn);
Bool ASTInitVGA(ScrnInfoPtr pScrn, ULONG Flags);
/* ast_2dtool.c */
void vASTWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST);
UCHAR *pASTjRequestCMDQ(ASTRecPtr pAST, ULONG ulDataLen);
Bool bASTEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void vASTDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
/* ast_cursor.c */
#ifdef HWC
Bool ASTCursorInit(ScreenPtr pScreen);
Bool bASTInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void ASTDisableHWC(ScrnInfoPtr pScrn);
#endif
/* ast_mode.c */
Bool ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
/* ast_accel.c */
#ifdef HAVE_XAA_H
Bool ASTAccelInit(ScreenPtr pScreen);
#endif
void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxes, int id);
/* ast_tool.c */
Bool ASTMapMem(ScrnInfoPtr pScrn);
Bool ASTUnmapMem(ScrnInfoPtr pScrn);
Bool ASTMapMMIO(ScrnInfoPtr pScrn);
void ASTUnmapMMIO(ScrnInfoPtr pScrn);
#endif /* _AST_H_ */

View File

@ -36,7 +36,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -49,21 +48,15 @@
/* Driver specific headers */
#include "ast.h"
#include "ast_vgatool.h"
#include "ast_2dtool.h"
#ifdef Accel_2D
typedef Bool (*PFN_bENABLE_CMDQ)(ScrnInfoPtr , ASTRecPtr);
/* Prototype type declaration */
Bool bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST);
Bool bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST);
Bool bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST);
Bool bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST);
UCHAR *pjRequestCMDQ(ASTRecPtr pAST, ULONG ulDataLen);
Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);
Bool
static Bool
bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
@ -111,12 +104,12 @@ bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST)
return (TRUE);
}
Bool
static Bool
bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulVMCmdQBasePort = 0;
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
/* set DBG Select Info */
if (pAST->DBGSelect)
@ -177,12 +170,12 @@ bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST)
return (TRUE);
}
Bool
static Bool
bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulVMCmdQBasePort = 0, ulNewModeData;
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
/* set DBG Select Info */
if (pAST->DBGSelect)
@ -243,7 +236,7 @@ bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST)
} /* bEnableCMDQ2300 */
Bool
bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
bASTEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulData;
PFN_bENABLE_CMDQ pfnEnableCMDQ = bEnableCMDQ;
@ -273,13 +266,13 @@ bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
if (!bInitCMDQInfo(pScrn, pAST))
{
vDisable2D(pScrn, pAST);
vASTDisable2D(pScrn, pAST);
return (FALSE);
}
if (!pfnEnableCMDQ(pScrn, pAST))
{
vDisable2D(pScrn, pAST);
vASTDisable2D(pScrn, pAST);
return (FALSE);
}
@ -287,11 +280,11 @@ bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
}
void
vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
vASTDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
vWaitEngIdle(pScrn, pAST);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
/* restore 2D settings */
if (pAST->jChipType != AST1180)
@ -310,7 +303,7 @@ vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
void
vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
vASTWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulEngState, ulEngState2;
UCHAR jReg;
@ -321,11 +314,11 @@ vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
/* 2D disable if 0xA4 D[0] = 1 */
GetIndexRegMask(CRTC_PORT, 0xA4, 0x01, jReg);
if (!jReg) goto Exit_vWaitEngIdle;
if (!jReg) goto Exit_vASTWaitEngIdle;
/* 2D not work if in std. mode */
GetIndexRegMask(CRTC_PORT, 0xA3, 0x0F, jReg);
if (!jReg) goto Exit_vWaitEngIdle;
if (!jReg) goto Exit_vASTWaitEngIdle;
}
if (*(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) & 0x02000000) /* MMIO Mode */
@ -342,7 +335,7 @@ vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
} while ((ulEngState & ulEngCheckSetting) || (ulEngState != ulEngState2));
Exit_vWaitEngIdle:
Exit_vASTWaitEngIdle:
;
}
@ -363,7 +356,7 @@ static __inline ULONG ulGetCMDQLength(ASTRecPtr pAST, ULONG ulWritePointer, ULON
return ((ulReadPointer << 3) - ulWritePointer - CMD_QUEUE_GUARD_BAND) & ulCMDQMask;
}
UCHAR *pjRequestCMDQ(
UCHAR *pASTjRequestCMDQ(
ASTRecPtr pAST, ULONG ulDataLen)
{
UCHAR *pjBuffer;
@ -453,7 +446,7 @@ ASTRecPtr pAST, ULONG ulDataLen)
} /* end of pjRequestCmdQ() */
Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam)
Bool bASTGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam)
{
LONG GAbsX, GAbsY, GXInc, GYInc, GXMajor;
LONG MM, mm, Error0, K1, K2;

View File

@ -621,3 +621,5 @@ typedef struct {
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_NUMBER); \
addr->PKT_SC_dwData[0] = (ULONG)(no); \
}
Bool bASTGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);

View File

@ -36,7 +36,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -53,6 +52,7 @@
/* Driver specific headers */
#include "ast.h"
#include "ast_2dtool.h"
#ifdef Accel_2D
@ -98,13 +98,7 @@ int ASTXAAPatternROP[16]=
ROP_1
};
/* extern function */
extern void vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern UCHAR *pjRequestCMDQ(ASTRecPtr pAST, ULONG ulDataLen);
extern Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);
/* Prototype type declaration */
Bool ASTAccelInit(ScreenPtr pScreen);
static void ASTSync(ScrnInfoPtr pScrn);
static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
int xdir, int ydir, int rop,
@ -294,7 +288,7 @@ ASTSync(ScrnInfoPtr pScrn)
ASTRecPtr pAST = ASTPTR(pScrn);
/* wait engle idle */
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
} /* end of ASTSync */
@ -333,7 +327,7 @@ static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
ASTSetupSRCPitch(pSingleCMD, pAST->VideoModeInfo.ScreenPitch);
pSingleCMD++;
@ -422,7 +416,7 @@ ASTSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, int x2,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
ASTSetupSRCBase(pSingleCMD, srcbase);
pSingleCMD++;
@ -449,7 +443,7 @@ ASTSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, int x2,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
} /* width & height check */
@ -490,7 +484,7 @@ ASTSetupForSolidFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -545,7 +539,7 @@ ASTSubsequentSolidFillRect(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -566,7 +560,7 @@ ASTSubsequentSolidFillRect(ScrnInfoPtr pScrn,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -608,7 +602,7 @@ static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -675,7 +669,7 @@ static void ASTSubsequentSolidHorVertLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -696,7 +690,7 @@ static void ASTSubsequentSolidHorVertLine(ScrnInfoPtr pScrn,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -746,7 +740,7 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
LineInfo.X2 = x2;
LineInfo.Y2 = y2;
bGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
bASTGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
ulCommand |= CMD_X_DEC;
@ -761,7 +755,7 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -781,7 +775,7 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
else
@ -794,7 +788,7 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
ASTSetupLineK2Term_MMIO(dsLineParam.dwK2Term);
ASTSetupCMDReg_MMIO(ulCommand);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -842,7 +836,7 @@ ASTSetupForDashedLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -915,7 +909,7 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
LineInfo.X2 = x2;
LineInfo.Y2 = y2;
bGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
bASTGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
ulCommand |= CMD_X_DEC;
@ -930,7 +924,7 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -950,7 +944,7 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
else
@ -963,7 +957,7 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
ASTSetupLineK2Term_MMIO(dsLineParam.dwK2Term);
ASTSetupCMDReg_MMIO(ulCommand);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -1005,7 +999,7 @@ ASTSetupForMonoPatternFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -1068,7 +1062,7 @@ ASTSubsequentMonoPatternFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -1089,7 +1083,7 @@ ASTSubsequentMonoPatternFill(ScrnInfoPtr pScrn,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
} /* end of ASTSubsequentMonoPatternFill */
@ -1134,7 +1128,7 @@ ASTSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*(1 + ulPatSize/4));
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*(1 + ulPatSize/4));
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
for (i=0; i<8; i++)
@ -1199,7 +1193,7 @@ ASTSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, int patx, int paty,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -1220,7 +1214,7 @@ ASTSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, int patx, int paty,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
} /* ASTSubsequentColor8x8PatternFillRect */
@ -1265,7 +1259,7 @@ ASTSetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -1323,7 +1317,7 @@ ASTSubsequentCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupSRCPitch(pSingleCMD, ((width+7)/8));
pSingleCMD++;
@ -1349,7 +1343,7 @@ ASTSubsequentCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -1397,7 +1391,7 @@ ASTSetupForScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@ -1458,7 +1452,7 @@ ASTSubsequentScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
ASTSetupSRCBase(pSingleCMD, srcbase);
pSingleCMD++;
@ -1485,7 +1479,7 @@ ASTSubsequentScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
ASTSetupRECTXY_MMIO(width, height);
ASTSetupCMDReg_MMIO(cmdreg);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -1502,7 +1496,7 @@ ASTSetHWClipping(ScrnInfoPtr pScrn, int delta_y)
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
ASTSetupCLIP1(pSingleCMD, pAST->clip_left, pAST->clip_top - delta_y);
pSingleCMD++;
@ -1583,7 +1577,7 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -1599,7 +1593,7 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
else
@ -1610,7 +1604,7 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
AIPSetupLineNumber_MMIO(0);
ASTSetupCMDReg_MMIO(ulCommand);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -1653,7 +1647,7 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
pSingleCMD = (PKT_SC *) pASTjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTBase(pSingleCMD, dstbase);
pSingleCMD++;
@ -1669,7 +1663,7 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
else
@ -1680,7 +1674,7 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
AIPSetupLineNumber_MMIO(0);
ASTSetupCMDReg_MMIO(ulCommand);
vWaitEngIdle(pScrn, pAST);
vASTWaitEngIdle(pScrn, pAST);
}
@ -1792,7 +1786,7 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
lSrcX = (ULONG)((float)rect.x * fScaleX + pPriv->src_x + 0.5f);
lSrcY = (ULONG)((float)rect.y * fScaleY + pPriv->src_y + 0.5f);
pCopyCmd = (BURSTSCALECMD*)pjRequestCMDQ(pAST, PKT_TYPESCALE_LENGTH);
pCopyCmd = (BURSTSCALECMD*)pASTjRequestCMDQ(pAST, PKT_TYPESCALE_LENGTH);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "pCopyCmd=%p, pBox=%x,%x,%x,%x\n", pCopyCmd, pBox->x1, pBox->y1, pBox->x2, pBox->y2);

View File

@ -36,7 +36,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -51,12 +50,11 @@
/* Driver specific headers */
#include "ast.h"
#include "ast_vgatool.h"
#include "ast_cursor.h"
#ifdef HWC
/* Prototype type declaration */
Bool ASTCursorInit(ScreenPtr pScreen);
Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void ASTDisableHWC(ScrnInfoPtr pScrn);
static void ASTShowCursor(ScrnInfoPtr pScrn);
static void ASTHideCursor(ScrnInfoPtr pScrn);
static void ASTSetCursorPosition(ScrnInfoPtr pScrn, int x, int y);
@ -112,7 +110,7 @@ ASTCursorInit(ScreenPtr pScreen)
}
Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST)
Bool bASTInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ScreenPtr pScreen;

File diff suppressed because it is too large Load Diff

View File

@ -40,7 +40,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -57,47 +56,9 @@
/* Driver specific headers */
#include "ast.h"
/* external reference fucntion */
extern Bool ASTMapMem(ScrnInfoPtr pScrn);
extern Bool ASTUnmapMem(ScrnInfoPtr pScrn);
extern Bool ASTMapMMIO(ScrnInfoPtr pScrn);
extern void ASTUnmapMMIO(ScrnInfoPtr pScrn);
extern void vASTOpenKey(ScrnInfoPtr pScrn);
extern Bool bASTRegInit(ScrnInfoPtr pScrn);
extern void GetDRAMInfo(ScrnInfoPtr pScrn);
extern ULONG GetVRAMInfo(ScrnInfoPtr pScrn);
extern ULONG GetMaxDCLK(ScrnInfoPtr pScrn);
extern void GetChipType(ScrnInfoPtr pScrn);
extern void GetScratchOptions(ScrnInfoPtr pScrn);
extern void vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual);
extern void ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags);
extern void vSetStartAddressCRT1(ASTRecPtr pAST, ULONG base);
extern Bool ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
extern Bool GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
extern void vInitDRAMReg(ScrnInfoPtr pScrn);
extern Bool bIsVGAEnabled(ScrnInfoPtr pScrn);
extern void ASTBlankScreen(ScrnInfoPtr pScreen, Bool unblack);
extern Bool InitVGA(ScrnInfoPtr pScrn, ULONG Flags);
extern Bool GetVGAEDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
extern Bool bInitAST1180(ScrnInfoPtr pScrn);
extern void GetAST1180DRAMInfo(ScrnInfoPtr pScrn);
extern void vEnableASTVGAMMIO(ScrnInfoPtr pScrn);
extern Bool ReadEDID_M68K(ScrnInfoPtr pScrn, BYTE *pEDIDData);
extern UCHAR GetLinkMaxCLK(ScrnInfoPtr pScrn);
extern Bool bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern Bool bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern void vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
#ifdef HAVE_XAA_H
extern Bool ASTAccelInit(ScreenPtr pScreen);
#endif
extern Bool ASTCursorInit(ScreenPtr pScreen);
extern void ASTDisableHWC(ScrnInfoPtr pScrn);
#include "ast_mode.h"
#include "ast_vgatool.h"
#include "ast_2dtool.h"
/* Mandatory functions */
static void ASTIdentify(int flags);
@ -129,7 +90,11 @@ static Bool ASTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
static void ASTInitVideo(ScreenPtr pScreen);
static int ASTPutImage( ScrnInfoPtr,
short, short, short, short, short, short, short, short,
int, unsigned char*, short, short, Bool, RegionPtr, pointer);
int, unsigned char*, short, short, Bool, RegionPtr, pointer
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 1
, DrawablePtr pDraw
#endif
);
#endif
/*
@ -316,7 +281,11 @@ ASTProbe(DriverPtr drv, int flags)
pPci->device_id, pPci->bus, pPci->domain, pPci->dev, pPci->func);
xf86DrvMsg(0, X_ERROR,
"ast: This driver cannot operate until it has been unloaded.\n");
xf86UnclaimPciSlot(pPci, devSections[0]);
xf86UnclaimPciSlot(pPci
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 13
, devSections[0]
#endif
);
free(devSections);
return FALSE;
}
@ -571,23 +540,21 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, from, "Chipset: \"%s\"\n",
(pScrn->chipset != NULL) ? pScrn->chipset : "Unknown ast");
/* Resource Allocation */
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
pAST->IODBase = pScrn->domainIOBase;
#else
pAST->IODBase = 0;
#endif
/* "Patch" the PIOOffset inside vgaHW in order to force
* the vgaHW module to use our relocated i/o ports.
*/
VGAHWPTR(pScrn)->PIOOffset =
pScrn->domainIOBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
pAST->RelocateIO = pScrn->domainIOBase +
PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO);
#else
pAST->RelocateIO = (PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO));
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
VGAHWPTR(pScrn)->PIOOffset = /* ... */
#endif
pAST->PIOOffset =
pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
pAST->RelocateIO = (IOADDRESS)(PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) + pAST->IODBase);
if (pAST->pEnt->device->MemBase != 0) {
pAST->FBPhysAddr = pAST->pEnt->device->MemBase;
@ -644,22 +611,22 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
}
/* Init AST1180 */
bInitAST1180(pScrn);
bASTInitAST1180(pScrn);
/* Get AST1180 Information */
GetAST1180DRAMInfo(pScrn);
ASTGetAST1180DRAMInfo(pScrn);
pScrn->videoRam = pAST->ulVRAMSize / 1024;
}
else
{
/* Enable VGA MMIO Access */
vEnableASTVGAMMIO(pScrn);
vASTEnableVGAMMIO(pScrn);
/* Init VGA Adapter */
if (!xf86IsPrimaryPci(pAST->PciInfo))
{
InitVGA(pScrn, 0);
ASTInitVGA(pScrn, 0);
}
vASTOpenKey(pScrn);
@ -671,16 +638,16 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
else if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x20)
pAST->jChipType = AST2300;
else if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x10)
GetChipType(pScrn);
ASTGetChipType(pScrn);
else
pAST->jChipType = AST2000;
/* Get Options from Scratch */
GetScratchOptions(pScrn);
ASTGetScratchOptions(pScrn);
/* Get DRAM Info */
GetDRAMInfo(pScrn);
pAST->ulVRAMSize = GetVRAMInfo(pScrn);
ASTGetDRAMInfo(pScrn);
pAST->ulVRAMSize = ASTGetVRAMInfo(pScrn);
pScrn->videoRam = pAST->ulVRAMSize / 1024;
}
@ -712,7 +679,7 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
clockRanges = xnfcalloc(sizeof(ClockRange), 1);
clockRanges->next = NULL;
clockRanges->minClock = 9500;
clockRanges->maxClock = GetMaxDCLK(pScrn) * 1000;
clockRanges->maxClock = ASTGetMaxDCLK(pScrn) * 1000;
clockRanges->clockIndex = -1;
clockRanges->interlaceAllowed = FALSE;
clockRanges->doubleScanAllowed = FALSE;
@ -1083,7 +1050,7 @@ ASTSwitchMode(SWITCH_MODE_ARGS_DECL)
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
pAST->pCMDQPtr = NULL;
}
vDisable2D(pScrn, pAST);
vASTDisable2D(pScrn, pAST);
#endif
/* Fixed display abnormal on the of the screen if run xvidtune, ycchen@122909 */
@ -1103,7 +1070,7 @@ ASTAdjustFrame(ADJUST_FRAME_ARGS_DECL)
base = y * pAST->VideoModeInfo.ScreenPitch + x * ((pAST->VideoModeInfo.bitsPerPixel + 1) / 8);
/* base = base >> 2; */ /* DW unit */
vSetStartAddressCRT1(pAST, base);
vASTSetStartAddressCRT1(pAST, base);
}
@ -1115,14 +1082,14 @@ ASTEnterVT(VT_FUNC_ARGS_DECL)
ASTRecPtr pAST = ASTPTR(pScrn);
/* Fixed suspend can't resume issue */
if (!bIsVGAEnabled(pScrn))
if (!bASTIsVGAEnabled(pScrn))
{
if (pAST->jChipType == AST1180)
bInitAST1180(pScrn);
bASTInitAST1180(pScrn);
else
{
vEnableASTVGAMMIO(pScrn);
InitVGA(pScrn, 1);
vASTEnableVGAMMIO(pScrn);
ASTInitVGA(pScrn, 1);
}
ASTRestore(pScrn);
}
@ -1159,7 +1126,7 @@ ASTLeaveVT(VT_FUNC_ARGS_DECL)
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
pAST->pCMDQPtr = NULL;
}
vDisable2D(pScrn, pAST);
vASTDisable2D(pScrn, pAST);
#endif
ASTRestore(pScrn);
@ -1343,7 +1310,7 @@ ASTCloseScreen(CLOSE_SCREEN_ARGS_DECL)
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
pAST->pCMDQPtr = NULL;
}
vDisable2D(pScrn, pAST);
vASTDisable2D(pScrn, pAST);
#endif
ASTRestore(pScrn);
@ -1560,15 +1527,15 @@ ASTProbeDDC(ScrnInfoPtr pScrn, int index)
if (xf86LoadSubModule(pScrn, "ddc"))
{
if (pAST->jChipType == AST1180)
Flags = GetVGA2EDID(pScrn, DDC_data);
Flags = ASTGetVGA2EDID(pScrn, DDC_data);
else if (pAST->jTxChipType == Tx_DP501)
{
Flags = ReadEDID_M68K(pScrn, DDC_data);
Flags = ASTReadEDID_M68K(pScrn, DDC_data);
if (Flags == FALSE)
Flags = GetVGAEDID(pScrn, DDC_data);
Flags = ASTGetVGAEDID(pScrn, DDC_data);
}
else
Flags = GetVGAEDID(pScrn, DDC_data);
Flags = ASTGetVGAEDID(pScrn, DDC_data);
if (Flags)
{
@ -1610,17 +1577,17 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
if (xf86LoadSubModule(pScrn, "ddc"))
{
if (pAST->jChipType == AST1180)
Flags = GetVGA2EDID(pScrn, DDC_data);
Flags = ASTGetVGA2EDID(pScrn, DDC_data);
else if (pAST->jTxChipType == Tx_DP501)
{
pAST->DP501_MaxVCLK = 0xFF;
Flags = ReadEDID_M68K(pScrn, DDC_data);
if (Flags) pAST->DP501_MaxVCLK = GetLinkMaxCLK(pScrn);
Flags = ASTReadEDID_M68K(pScrn, DDC_data);
if (Flags) pAST->DP501_MaxVCLK = ASTGetLinkMaxCLK(pScrn);
else
Flags = GetVGAEDID(pScrn, DDC_data);
Flags = ASTGetVGAEDID(pScrn, DDC_data);
}
else
Flags = GetVGAEDID(pScrn, DDC_data);
Flags = ASTGetVGAEDID(pScrn, DDC_data);
if (Flags)
{
@ -1636,7 +1603,7 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
/* For VGA2 CLONE Support, ycchen@012508 */
if ((xf86ReturnOptValBool(pAST->Options, OPTION_VGA2_CLONE, FALSE)) || pAST->VGA2Clone) {
if (GetVGA2EDID(pScrn, DDC_data) == TRUE) {
if (ASTGetVGA2EDID(pScrn, DDC_data) == TRUE) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Get VGA2 EDID Correctly!! \n");
MonInfo2 = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
if (MonInfo1 == NULL) /* No DDC1 EDID */
@ -1768,7 +1735,7 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
} /* Check with VGA1 & VGA2 EDID */
} /* GetVGA2EDID */
} /* ASTGetVGA2EDID */
else {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Can't Get VGA2 EDID Correctly!! \n");
}
@ -2126,8 +2093,6 @@ static int ASTQueryImageAttributes(ScrnInfoPtr pScrn, int id,
return size;
}
extern void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxes, int id);
static int ASTPutImage(ScrnInfoPtr pScrn,
short src_x, short src_y,
short drw_x, short drw_y,
@ -2137,6 +2102,9 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
short width, short height,
Bool sync,
RegionPtr clipBoxes, pointer data
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 1
, DrawablePtr pDraw
#endif
)
{
ASTPtr pAST = ASTPTR(pScrn);

View File

@ -36,7 +36,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -53,11 +52,10 @@
/* Driver specific headers */
#include "ast.h"
#include "ast_mode.h"
#include "ast_vgatool.h"
/* external reference fucntion */
extern Bool bInitAST1180(ScrnInfoPtr pScrn);
VBIOS_STDTABLE_STRUCT StdTable[] = {
static VBIOS_STDTABLE_STRUCT StdTable[] = {
/* MD_2_3_400 */
{
0x67,
@ -130,7 +128,7 @@ VBIOS_STDTABLE_STRUCT StdTable[] = {
},
};
VBIOS_ENHTABLE_STRUCT Res640x480Table[] = {
static VBIOS_ENHTABLE_STRUCT Res640x480Table[] = {
{ 800, 640, 8, 96, 525, 480, 2, 2, VCLK25_175, /* 60Hz */
(SyncNN | HBorder | VBorder | Charx8Dot), 60, 1, 0x2E },
{ 832, 640, 16, 40, 520, 480, 1, 3, VCLK31_5, /* 72Hz */
@ -144,7 +142,7 @@ VBIOS_ENHTABLE_STRUCT Res640x480Table[] = {
};
VBIOS_ENHTABLE_STRUCT Res800x600Table[] = {
static VBIOS_ENHTABLE_STRUCT Res800x600Table[] = {
{1024, 800, 24, 72, 625, 600, 1, 2, VCLK36, /* 56Hz */
(SyncPP | Charx8Dot), 56, 1, 0x30 },
{1056, 800, 40, 128, 628, 600, 1, 4, VCLK40, /* 60Hz */
@ -159,8 +157,7 @@ VBIOS_ENHTABLE_STRUCT Res800x600Table[] = {
(SyncPP | Charx8Dot), 0xFF, 5, 0x30 },
};
VBIOS_ENHTABLE_STRUCT Res1024x768Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1024x768Table[] = {
{1344, 1024, 24, 136, 806, 768, 3, 6, VCLK65, /* 60Hz */
(SyncNN | Charx8Dot), 60, 1, 0x31 },
{1328, 1024, 24, 136, 806, 768, 3, 6, VCLK75, /* 70Hz */
@ -173,7 +170,7 @@ VBIOS_ENHTABLE_STRUCT Res1024x768Table[] = {
(SyncPP | Charx8Dot), 0xFF, 4, 0x31 },
};
VBIOS_ENHTABLE_STRUCT Res1280x1024Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1280x1024Table[] = {
{1688, 1280, 48, 112, 1066, 1024, 1, 3, VCLK108, /* 60Hz */
(SyncPP | Charx8Dot), 60, 1, 0x32 },
{1688, 1280, 16, 144, 1066, 1024, 1, 3, VCLK135, /* 75Hz */
@ -184,7 +181,7 @@ VBIOS_ENHTABLE_STRUCT Res1280x1024Table[] = {
(SyncPP | Charx8Dot), 0xFF, 3, 0x32 },
};
VBIOS_ENHTABLE_STRUCT Res1600x1200Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1600x1200Table[] = {
{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* 60Hz */
(SyncPP | Charx8Dot), 60, 1, 0x33 },
{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* end */
@ -192,21 +189,23 @@ VBIOS_ENHTABLE_STRUCT Res1600x1200Table[] = {
};
/* 16:9 */
VBIOS_ENHTABLE_STRUCT Res1360x768Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1360x768Table[] = {
{1792, 1360, 64,112, 795, 768, 3, 6, VCLK85_5, /* 60Hz */
(SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 },
{1792, 1360, 64,112, 795, 768, 3, 6, VCLK85_5, /* end */
(SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x39 },
};
VBIOS_ENHTABLE_STRUCT Res1600x900Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1600x900Table[] = {
{2112, 1600, 88,168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A },
{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* end */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x3A },
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x3A },
};
VBIOS_ENHTABLE_STRUCT Res1920x1080Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1920x1080Table[] = {
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* HDTV 60Hz */
(SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x38 },
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* end */
@ -214,42 +213,41 @@ VBIOS_ENHTABLE_STRUCT Res1920x1080Table[] = {
};
/* 16:10 */
VBIOS_ENHTABLE_STRUCT Res1280x800Table[] = {
{1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 35 },
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 },
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x35 },
static VBIOS_ENHTABLE_STRUCT Res1280x800Table[] = {
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x35 },
{1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 35 },
{1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 35 },
};
VBIOS_ENHTABLE_STRUCT Res1440x900Table[] = {
{1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 },
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x36 },
static VBIOS_ENHTABLE_STRUCT Res1440x900Table[] = {
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
{1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 },
{1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x36 },
};
VBIOS_ENHTABLE_STRUCT Res1680x1050Table[] = {
{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x37 },
static VBIOS_ENHTABLE_STRUCT Res1680x1050Table[] = {
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz CVT RB */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x37 },
};
VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
static VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 },
{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 },
};
VBIOS_DCLK_INFO DCLKTable [] = {
static VBIOS_DCLK_INFO DCLKTable [] = {
{0x2C, 0xE7, 0x03}, /* 00: VCLK25_175 */
{0x95, 0x62, 0x03}, /* 01: VCLK28_322 */
{0x67, 0x63, 0x01}, /* 02: VCLK31_5 */
@ -275,9 +273,11 @@ VBIOS_DCLK_INFO DCLKTable [] = {
{0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
{0x77, 0x58, 0x80}, /* 17: VCLK119 */
{0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
{0x6a, 0x6d, 0x80}, /* 19: VCLK97_75 */
{0x3b, 0x2c, 0x81}, /* 1A: VCLK118_25 */
};
VBIOS_DCLK_INFO DCLKTable_AST2100 [] = {
static VBIOS_DCLK_INFO DCLKTable_AST2100 [] = {
{0x2C, 0xE7, 0x03}, /* 00: VCLK25_175 */
{0x95, 0x62, 0x03}, /* 01: VCLK28_322 */
{0x67, 0x63, 0x01}, /* 02: VCLK31_5 */
@ -303,9 +303,11 @@ VBIOS_DCLK_INFO DCLKTable_AST2100 [] = {
{0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
{0x77, 0x58, 0x80}, /* 17: VCLK119 */
{0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
{0x6a, 0x6d, 0x80}, /* 19: VCLK97_75 */
{0x3b, 0x2c, 0x81}, /* 1A: VCLK118_25 */
};
VBIOS_DAC_INFO DAC_TEXT[] = {
static VBIOS_DAC_INFO DAC_TEXT[] = {
{ 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
{ 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
{ 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
@ -324,7 +326,7 @@ VBIOS_DAC_INFO DAC_TEXT[] = {
{ 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
};
VBIOS_DAC_INFO DAC_EGA[] = {
static VBIOS_DAC_INFO DAC_EGA[] = {
{ 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
{ 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
{ 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
@ -343,7 +345,7 @@ VBIOS_DAC_INFO DAC_EGA[] = {
{ 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
};
VBIOS_DAC_INFO DAC_VGA[] = {
static VBIOS_DAC_INFO DAC_VGA[] = {
{ 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
{ 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x15, 0x00 }, { 0x2a, 0x2a, 0x2a },
{ 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
@ -410,32 +412,20 @@ VBIOS_DAC_INFO DAC_VGA[] = {
{ 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 },
};
/* extern. function */
extern void vASTOpenKey(ScrnInfoPtr pScrn);
extern Bool bASTRegInit(ScrnInfoPtr pScrn);
extern void vAST1000DisplayOn(ScrnInfoPtr pScrn);
extern void vAST1000DisplayOff(ScrnInfoPtr pScrn);
extern Bool bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern void vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST);
/* Prototype type declaration*/
Bool ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vInitChontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
static void vInitChrontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
Bool
ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
@ -451,14 +441,14 @@ ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
/* set mode */
if (pAST->jChipType == AST1180)
{
bInitAST1180(pScrn);
bASTInitAST1180(pScrn);
bSetAST1180CRTCReg(pScrn, mode, &vgamodeinfo);
bSetAST1180OffsetReg(pScrn, mode, &vgamodeinfo);
bSetAST1180DCLKReg(pScrn, mode, &vgamodeinfo);
bSetAST1180ExtReg(pScrn, mode, &vgamodeinfo);
vInitChontelReg(pScrn, mode, &vgamodeinfo);
vInitChrontelReg(pScrn, mode, &vgamodeinfo);
}
else
{
@ -481,7 +471,7 @@ ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
/* post set mode */
#ifdef Accel_2D
if (!pAST->noAccel) {
if (!bEnable2D(pScrn, pAST)) {
if (!bASTEnable2D(pScrn, pAST)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Enable 2D failed\n");
pAST->noAccel = TRUE;
}
@ -489,7 +479,7 @@ ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
#endif
#ifdef HWC
if (!pAST->noHWC) {
if (!bInitHWC(pScrn, pAST)) {
if (!bASTInitHWC(pScrn, pAST)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Init HWC failed\n");
pAST->noHWC = TRUE;
}
@ -500,7 +490,7 @@ ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
}
Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST;
ULONG ulModeID, ulColorIndex, ulRefreshRate, ulRefreshRateIndex = 0;
@ -570,25 +560,27 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
}
/* Get Proper Mode Index */
ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal);
while (pVGAModeInfo->pEnhTableEntry->ulRefreshRate < ulRefreshRate)
{
pVGAModeInfo->pEnhTableEntry++;
if ((pVGAModeInfo->pEnhTableEntry->ulRefreshRate > ulRefreshRate) ||
(pVGAModeInfo->pEnhTableEntry->ulRefreshRate == 0xFF))
{
pVGAModeInfo->pEnhTableEntry--;
break;
}
}
/* parsing for wide scrren reduced blank mode */
if (pVGAModeInfo->pEnhTableEntry->Flags & WideScreenMode)
{
if ((mode->Flags & V_PVSYNC) && (mode->Flags & V_NHSYNC)) /* CVT */
/* parsing for wide screen reduced blank mode */
if ((mode->Flags & V_NVSYNC) && (mode->Flags & V_PHSYNC)) /* CVT RB */
pVGAModeInfo->pEnhTableEntry++;
}
else
{
ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal);
while (pVGAModeInfo->pEnhTableEntry->ulRefreshRate < ulRefreshRate)
{
pVGAModeInfo->pEnhTableEntry++;
if ((pVGAModeInfo->pEnhTableEntry->ulRefreshRate > ulRefreshRate) ||
(pVGAModeInfo->pEnhTableEntry->ulRefreshRate == 0xFF))
{
pVGAModeInfo->pEnhTableEntry--;
break;
}
}
}
/* Update mode CRTC info */
ulHBorder = (pVGAModeInfo->pEnhTableEntry->Flags & HBorder) ? 8:0;
@ -643,7 +635,7 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
return (TRUE);
}
void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_STDTABLE_STRUCT pStdModePtr;
@ -700,7 +692,7 @@ void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
}
void
static void
vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST;
@ -775,7 +767,7 @@ vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInf
}
void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST;
USHORT usOffset;
@ -789,7 +781,7 @@ void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGA
}
void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
PVBIOS_DCLK_INFO pDCLKPtr;
@ -810,7 +802,7 @@ void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMo
}
void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST;
@ -868,7 +860,7 @@ void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
}
void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
ASTRecPtr pAST;
@ -883,7 +875,7 @@ void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMo
}
Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_DAC_INFO pDACPtr;
ASTRecPtr pAST;
@ -917,7 +909,7 @@ Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
}
ULONG AST1180DCLKTable [] = {
static ULONG AST1180DCLKTable [] = {
0x0008676b, /* 00: VCLK25_175 */
0x00086342, /* 01: VCLK28_322 */
0x00086568, /* 02: VCLK31_5 */
@ -941,7 +933,7 @@ ULONG AST1180DCLKTable [] = {
0x00040769, /* 14: VCLK148_5 */
};
BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST = ASTPTR(pScrn);
@ -993,7 +985,7 @@ BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INF
} /* bSetAST1180CRTCReg */
BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulOffset, ulTermalCount;
@ -1008,7 +1000,7 @@ BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_I
} /* bSetAST1180OffsetReg */
BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
ASTRecPtr pAST = ASTPTR(pScrn);
@ -1023,7 +1015,7 @@ BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INF
return (TRUE);
}
BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
ASTRecPtr pAST = ASTPTR(pScrn);
@ -1076,7 +1068,7 @@ BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO
#define I2C_BASE_AST1180 0x80fcb000
#define I2C_DEVICEADDR_AST1180 0x0EC /* slave addr */
void SetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex, UCHAR jData )
static void SetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex, UCHAR jData )
{
ULONG ulData, ulI2CAddr, ulI2CPortBase;
ULONG retry;
@ -1132,7 +1124,7 @@ Exit_SetChrontelReg:
;
}
UCHAR GetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex)
static UCHAR GetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex)
{
ULONG ulData, ulI2CAddr, ulI2CPortBase;
UCHAR jData;
@ -1191,7 +1183,7 @@ UCHAR GetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex)
return (jData);
}
void vInitChontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
static void vInitChrontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr = pVGAModeInfo->pEnhTableEntry;

View File

@ -59,6 +59,7 @@
#define VCLK119 0x17
#define VCLK85_5 0x18
#define VCLK97_75 0x19
#define VCLK118_25 0x1A
/* Flags Definition */
#define Charx8Dot 0x00000001

View File

@ -36,7 +36,6 @@
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
#include "xf86PciInfo.h"
#include "xf86Pci.h"
/* framebuffer offscreen manager */
@ -51,12 +50,6 @@
/* Driver specific headers */
#include "ast.h"
/* Prototype type declaration*/
Bool ASTMapMem(ScrnInfoPtr pScrn);
Bool ASTUnmapMem(ScrnInfoPtr pScrn);
Bool ASTMapMMIO(ScrnInfoPtr pScrn);
void ASTUnmapMMIO(ScrnInfoPtr pScrn);
Bool
ASTMapMem(ScrnInfoPtr pScrn)
{

File diff suppressed because it is too large Load Diff