summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2009-11-22 17:53:04 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2009-11-22 17:53:04 +0000
commit9a92e1811780364fd11ef3cf890287500d3f2618 (patch)
tree5f5ca82652c06f671f717b32520a649fcfd5a657
parentef1822cea93f7497da13487910e25d1977d2d9c2 (diff)
Update to xf86-video-siliconmotion 1.7.3
-rw-r--r--driver/xf86-video-siliconmotion/COPYING76
-rw-r--r--driver/xf86-video-siliconmotion/ChangeLog101
-rw-r--r--driver/xf86-video-siliconmotion/Makefile.in4
-rw-r--r--driver/xf86-video-siliconmotion/README13
-rw-r--r--driver/xf86-video-siliconmotion/aclocal.m489
-rw-r--r--driver/xf86-video-siliconmotion/config.h.in3
-rw-r--r--driver/xf86-video-siliconmotion/configure199
-rw-r--r--driver/xf86-video-siliconmotion/configure.ac6
-rw-r--r--driver/xf86-video-siliconmotion/man/Makefile.in4
-rw-r--r--driver/xf86-video-siliconmotion/src/Makefile.in4
-rw-r--r--driver/xf86-video-siliconmotion/src/smi_501.c5
-rw-r--r--driver/xf86-video-siliconmotion/src/smi_driver.c234
-rw-r--r--driver/xf86-video-siliconmotion/src/smi_exa.c40
-rw-r--r--driver/xf86-video-siliconmotion/src/smilynx_crtc.c2
14 files changed, 523 insertions, 257 deletions
diff --git a/driver/xf86-video-siliconmotion/COPYING b/driver/xf86-video-siliconmotion/COPYING
index 7f33cbfd2..2101aa117 100644
--- a/driver/xf86-video-siliconmotion/COPYING
+++ b/driver/xf86-video-siliconmotion/COPYING
@@ -1,12 +1,72 @@
-This is a stub file. This package has not yet had its complete licensing
-information compiled. Please see the individual source files for details on
-your rights to use and modify this software.
+Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+Copyright (C) 2000,2008 Silicon Motion, Inc. All Rights Reserved.
+Copyright (C) 2001 Corvin Zahn. All Rights Reserved.
+Copyright (C) 2008 Francisco Jerez. All Rights Reserved.
+Copyright (C) 2008 Mandriva Linux. All Rights Reserved.
-Please submit updated COPYING files to the Xorg bugzilla:
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-All licensing questions regarding this software should be directed at the
-Xorg mailing list:
+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 CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-http://lists.freedesktop.org/mailman/listinfo/xorg
+Except as contained in this notice, the names of The XFree86 Project and
+Silicon Motion 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 XFree86 Project or Silicon Motion.
+
+******************************************************************************
+
+Copyright 2007 George Sapountzis
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+******************************************************************************
+
+Copyright (C) 2006 Dennis De Winter All Rights Reserved.
+Copyright (C) 2007 Alex Deucher All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice 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 CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/driver/xf86-video-siliconmotion/ChangeLog b/driver/xf86-video-siliconmotion/ChangeLog
index 6f3a5f8ee..47516715e 100644
--- a/driver/xf86-video-siliconmotion/ChangeLog
+++ b/driver/xf86-video-siliconmotion/ChangeLog
@@ -1,3 +1,104 @@
+commit 52f40e7569bbcc9bce8f5d885b0de2868398e8df
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Aug 5 11:09:26 2009 +1000
+
+ fix build after headers moved
+
+commit 9d9bfe0349693b283e5dc1ced6fa882f10619253
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Aug 5 11:08:15 2009 +1000
+
+ update for 1.7.3
+
+commit 115b564f78b038baef2d14c037785850efb4e9ca
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 15:22:41 2009 +1000
+
+ siliconmotion: change to using ABI version check
+
+commit 70f2463faa6d21517d97aa460871e1b5f3fa6505
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 13:32:36 2009 +1000
+
+ siliconmotion: update for resources/RAC API removal
+
+commit 841df790b5b6700e9a1d6d41ee04b0b913329084
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Jul 16 11:55:05 2009 +1000
+
+ Update to xextproto 7.1 support.
+
+ DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
+ need to include dpmsconst.h if xextproto 7.1 is available.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit d754e9a2954e56a26a94e58d87a450a825c250e6
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Jul 2 11:43:52 2009 -0400
+
+ siliconmotion 1.7.2
+
+commit cd9e9f25294abb739c1772e3a9a7a9c0a921ee82
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue Jun 23 13:11:02 2009 +0200
+
+ Fix EXA rotation for SM502 at 32bpp (bug 22432).
+
+commit 97498c048c897e5753e61d3b4ab231025974d67c
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu May 28 15:17:58 2009 -0400
+
+ Remove useless loader symbol lists.
+
+commit 536e5df957698251206326edc5a13e833f7c72b1
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Wed May 27 01:23:36 2009 +0200
+
+ Program MCLK/MXCLK on startup for a secondary SM502.
+
+ This should allow using a SM502 as secondary display
+ device (bug 21810).
+
+commit 6a370fa2b6b8fcbd556dd6f9bf92872e9bea23e8
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon May 11 22:31:30 2009 -0700
+
+ Fill in COPYING file, add SubmittingPatches URL to README
+
+commit 962e0c4f08180ac51994aef8d6d042108d5841c1
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sun May 10 01:53:05 2009 +0200
+
+ Widen the pixel clock readjust interval for SM712.
+
+ Set it to 3MHz so that the pixel clock frequency is overridden
+ when it's found to be 49MHz, which is reported to be unstable.
+
+commit 3cc1b9d4bcf1b7a756ea4426c93392ff6d82e9a6
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue May 5 00:45:10 2009 +0200
+
+ Fail gracefully when the specified virtual screen doesn't fit in RAM.
+
+commit 32628d9884d577d7a672c172c12b7097be276700
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue May 5 00:44:17 2009 +0200
+
+ Probe the amount of installed memory by trial and error on SM712.
+
+ In some cases the BIOS hasn't filled in the "scratchpad registers"
+ (SR71) with the right amount of memory installed (e.g. MIPS
+ platform). There seems to be no other way to do it than to test it.
+
+ This should fix bug 21528.
+
+commit 00921b014fa0b5358c22a769cf2450cbd4bdc8a5
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue Apr 28 22:24:03 2009 +0200
+
+ Bump version to 1.7.1.
+
commit abf1ba79f2bfe61f24cfa43deb0400d7c5f95bd5
Author: Francisco Jerez <currojerez@riseup.net>
Date: Tue Apr 21 21:37:45 2009 +0200
diff --git a/driver/xf86-video-siliconmotion/Makefile.in b/driver/xf86-video-siliconmotion/Makefile.in
index b746b96ce..69884aba2 100644
--- a/driver/xf86-video-siliconmotion/Makefile.in
+++ b/driver/xf86-video-siliconmotion/Makefile.in
@@ -132,6 +132,8 @@ FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -168,6 +170,8 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XMODES_FALSE = @XMODES_FALSE@
XMODES_TRUE = @XMODES_TRUE@
XORG_CFLAGS = @XORG_CFLAGS@
diff --git a/driver/xf86-video-siliconmotion/README b/driver/xf86-video-siliconmotion/README
index 282d6a477..b3b6674a5 100644
--- a/driver/xf86-video-siliconmotion/README
+++ b/driver/xf86-video-siliconmotion/README
@@ -1,22 +1,25 @@
xf86-video-siliconmotion - Silicon Motion video driver for the Xorg X server
-Please submit bugs & patches to the Xorg bugzilla:
-
- https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
-
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-siliconmotion
http://cgit.freedesktop.org/xorg/driver/xf86-video-siliconmotion
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage
-----------------------------------------------------------------------------
diff --git a/driver/xf86-video-siliconmotion/aclocal.m4 b/driver/xf86-video-siliconmotion/aclocal.m4
index 3ec9c2c92..f5c20ec3e 100644
--- a/driver/xf86-video-siliconmotion/aclocal.m4
+++ b/driver/xf86-video-siliconmotion/aclocal.m4
@@ -7631,7 +7631,7 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
-dnl xorg-macros.m4. Generated from xorg-macros.m4.in:xorgversion.m4 by configure.
+dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl
@@ -7668,27 +7668,24 @@ dnl of the copyright holder.
# your configure.ac with the minimum required version, such as:
# XORG_MACROS_VERSION(1.1)
#
-# To force at least a version with this macro defined, also add:
-# m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
+# To ensure that this macro is defined, also add:
+# m4_ifndef([XORG_MACROS_VERSION],
+# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
#
#
# See the "minimum version" comment for each macro you use to see what
# version you require.
-AC_DEFUN([XORG_MACROS_VERSION],[
- [XORG_MACROS_needed_version=$1
- XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
- XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
- AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
- [XORG_MACROS_version=1.2.1
- XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
- XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
- if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
- AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x])
- fi
- if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
- AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer])
- fi
- AC_MSG_RESULT([yes, $XORG_MACROS_version])
+m4_defun([XORG_MACROS_VERSION],[
+m4_define([vers_have], [1.3.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,,
+ [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
+m4_if(m4_version_compare(vers_have, [$1]), -1,
+ [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
+m4_undefine([vers_have])
+m4_undefine([maj_have])
+m4_undefine([maj_needed])
]) # XORG_MACROS_VERSION
# XORG_PROG_RAWCPP()
@@ -7955,7 +7952,7 @@ AC_SUBST(MAKE_HTML)
# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
AC_ARG_ENABLE(malloc0returnsnull,
- AC_HELP_STRING([--enable-malloc0returnsnull],
+ AS_HELP_STRING([--enable-malloc0returnsnull],
[malloc(0) returns NULL (default: auto)]),
[MALLOC_ZERO_RETURNS_NULL=$enableval],
[MALLOC_ZERO_RETURNS_NULL=auto])
@@ -8007,7 +8004,7 @@ AC_SUBST([XTMALLOC_ZERO_CFLAGS])
AC_DEFUN([XORG_WITH_LINT],[
# Allow checking code with lint, sparse, etc.
-AC_ARG_WITH(lint, [AC_HELP_STRING([--with-lint],
+AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
[Use a lint-style source code checker (default: disabled)])],
[use_lint=$withval], [use_lint=no])
if test "x$use_lint" = "xyes" ; then
@@ -8048,7 +8045,7 @@ AM_CONDITIONAL(LINT, [test x$LINT != xno])
AC_DEFUN([XORG_LINT_LIBRARY],[
AC_REQUIRE([XORG_WITH_LINT])
# Build lint "library" for more indepth checks of programs calling this library
-AC_ARG_ENABLE(lint-library, [AC_HELP_STRING([--enable-lint-library],
+AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
[Create lint library (default: disabled)])],
[make_lint_lib=$enableval], [make_lint_lib=no])
if test "x$make_lint_lib" != "xno" ; then
@@ -8078,9 +8075,9 @@ if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
-Wbad-function-cast"
- case `gcc -dumpversion` in
+ case `$CC -dumpversion` in
3.4.* | 4.*)
- CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement"
+ CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
;;
esac
else
@@ -8090,7 +8087,51 @@ else
fi
fi
AC_SUBST(CWARNFLAGS)
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
]) # XORG_CWARNFLAGS
+
+# XORG_STRICT_OPTION
+# -----------------------
+# Minimum version: 1.3.0
+#
+# Add configure option to enable strict compilation
+AC_DEFUN([XORG_STRICT_OPTION], [
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_CC_C99])
+AC_REQUIRE([XORG_CWARNFLAGS])
+
+AC_ARG_ENABLE(strict-compilation,
+ AS_HELP_STRING([--enable-strict-compilation],
+ [Enable all warnings from compiler and make them errors (default: disabled)]),
+ [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
+if test "x$STRICT_COMPILE" = "xyes"; then
+ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
+ AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
+ if test "x$GCC" = xyes ; then
+ STRICT_CFLAGS="-pedantic -Werror"
+ elif test "x$SUNCC" = "xyes"; then
+ STRICT_CFLAGS="-errwarn"
+ elif test "x$INTELCC" = "xyes"; then
+ STRICT_CFLAGS="-Werror"
+ fi
+fi
+CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
+AC_SUBST([CWARNFLAGS])
+]) # XORG_STRICT_OPTION
+
+# XORG_DEFAULT_OPTIONS
+# --------------------
+# Minimum version: 1.3.0
+#
+# Defines default options for X.Org modules.
+#
+AC_DEFUN([XORG_DEFAULT_OPTIONS], [
+XORG_CWARNFLAGS
+XORG_STRICT_OPTION
+XORG_RELEASE_VERSION
+XORG_CHANGELOG
+XORG_MANPAGE_SECTIONS
+]) # XORG_DEFAULT_OPTIONS
dnl Copyright 2005 Red Hat, Inc
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
@@ -8125,7 +8166,7 @@ dnl
AC_DEFUN([XORG_RELEASE_VERSION],[
AC_ARG_WITH(release-version,
- AC_HELP_STRING([--with-release-version=STRING],
+ AS_HELP_STRING([--with-release-version=STRING],
[Use release version string in package name]),
[RELEASE_VERSION="$withval"],
[RELEASE_VERSION=""])
diff --git a/driver/xf86-video-siliconmotion/config.h.in b/driver/xf86-video-siliconmotion/config.h.in
index 7abc85352..875b7d796 100644
--- a/driver/xf86-video-siliconmotion/config.h.in
+++ b/driver/xf86-video-siliconmotion/config.h.in
@@ -32,6 +32,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* xextproto 7.1 available */
+#undef HAVE_XEXTPROTO_71
+
/* X server has new mode code */
#undef HAVE_XMODES
diff --git a/driver/xf86-video-siliconmotion/configure b/driver/xf86-video-siliconmotion/configure
index 7fdf1cc44..c97b5642e 100644
--- a/driver/xf86-video-siliconmotion/configure
+++ b/driver/xf86-video-siliconmotion/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for xf86-video-siliconmotion 1.7.1.
+# Generated by GNU Autoconf 2.62 for xf86-video-siliconmotion 1.7.3.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xf86-video-siliconmotion'
PACKAGE_TARNAME='xf86-video-siliconmotion'
-PACKAGE_VERSION='1.7.1'
-PACKAGE_STRING='xf86-video-siliconmotion 1.7.1'
+PACKAGE_VERSION='1.7.3'
+PACKAGE_STRING='xf86-video-siliconmotion 1.7.3'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -900,6 +900,10 @@ LIBTOOL
PKG_CONFIG
XORG_CFLAGS
XORG_LIBS
+XEXT_CFLAGS
+XEXT_LIBS
+HAVE_XEXTPROTO_71_TRUE
+HAVE_XEXTPROTO_71_FALSE
PCIACCESS_CFLAGS
PCIACCESS_LIBS
XSERVER_LIBPCIACCESS_TRUE
@@ -958,6 +962,8 @@ FFLAGS
PKG_CONFIG
XORG_CFLAGS
XORG_LIBS
+XEXT_CFLAGS
+XEXT_LIBS
PCIACCESS_CFLAGS
PCIACCESS_LIBS'
@@ -1512,7 +1518,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-siliconmotion 1.7.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-siliconmotion 1.7.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1583,7 +1589,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-siliconmotion 1.7.1:";;
+ short | recursive ) echo "Configuration of xf86-video-siliconmotion 1.7.3:";;
esac
cat <<\_ACEOF
@@ -1631,6 +1637,8 @@ Some influential environment variables:
PKG_CONFIG path to pkg-config utility
XORG_CFLAGS C compiler flags for XORG, overriding pkg-config
XORG_LIBS linker flags for XORG, overriding pkg-config
+ XEXT_CFLAGS C compiler flags for XEXT, overriding pkg-config
+ XEXT_LIBS linker flags for XEXT, overriding pkg-config
PCIACCESS_CFLAGS
C compiler flags for PCIACCESS, overriding pkg-config
PCIACCESS_LIBS
@@ -1702,7 +1710,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-siliconmotion configure 1.7.1
+xf86-video-siliconmotion configure 1.7.3
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1716,7 +1724,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-siliconmotion $as_me 1.7.1, which was
+It was created by xf86-video-siliconmotion $as_me 1.7.3, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
@@ -2087,26 +2095,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# XORG_CHANGELOG macros
- XORG_MACROS_needed_version=1.2.1
- XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
- XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`
- { $as_echo "$as_me:$LINENO: checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}" >&5
-$as_echo_n "checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}... " >&6; }
- XORG_MACROS_version=1.2.1
- XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
- XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`
- if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
- { { $as_echo "$as_me:$LINENO: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&5
-$as_echo "$as_me: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
- { { $as_echo "$as_me:$LINENO: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&5
-$as_echo "$as_me: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&2;}
- { (exit 1); exit 1; }; }
- fi
- { $as_echo "$as_me:$LINENO: result: yes, $XORG_MACROS_version" >&5
-$as_echo "yes, $XORG_MACROS_version" >&6; }
+
+
+
+
+
+
+
+
@@ -2396,7 +2392,7 @@ fi
# Define the identity of the package.
PACKAGE='xf86-video-siliconmotion'
- VERSION='1.7.1'
+ VERSION='1.7.3'
cat >>confdefs.h <<_ACEOF
@@ -4455,7 +4451,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4458 "configure"' > conftest.$ac_ext
+ echo '#line 4454 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7563,11 +7559,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7566: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7562: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7570: \$? = $ac_status" >&5
+ echo "$as_me:7566: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7853,11 +7849,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7856: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7852: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7860: \$? = $ac_status" >&5
+ echo "$as_me:7856: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7957,11 +7953,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7960: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7956: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7964: \$? = $ac_status" >&5
+ echo "$as_me:7960: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10357,7 +10353,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10360 "configure"
+#line 10356 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10457,7 +10453,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10460 "configure"
+#line 10456 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12866,11 +12862,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12869: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12865: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12873: \$? = $ac_status" >&5
+ echo "$as_me:12869: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12970,11 +12966,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12973: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12969: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12977: \$? = $ac_status" >&5
+ echo "$as_me:12973: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14553,11 +14549,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14556: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14552: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14560: \$? = $ac_status" >&5
+ echo "$as_me:14556: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14657,11 +14653,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14660: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14656: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14664: \$? = $ac_status" >&5
+ echo "$as_me:14660: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16872,11 +16868,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16875: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16871: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16879: \$? = $ac_status" >&5
+ echo "$as_me:16875: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17162,11 +17158,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17165: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17161: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17169: \$? = $ac_status" >&5
+ echo "$as_me:17165: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17266,11 +17262,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17269: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17265: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17273: \$? = $ac_status" >&5
+ echo "$as_me:17269: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -21232,6 +21228,91 @@ else
$as_echo "yes" >&6; }
:
fi
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for XEXT" >&5
+$as_echo_n "checking for XEXT... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XEXT_CFLAGS"; then
+ pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xextproto >= 7.0.99.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xextproto >= 7.0.99.1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XEXT_CFLAGS=`$PKG_CONFIG --cflags "xextproto >= 7.0.99.1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XEXT_LIBS"; then
+ pkg_cv_XEXT_LIBS="$XEXT_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xextproto >= 7.0.99.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xextproto >= 7.0.99.1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XEXT_LIBS=`$PKG_CONFIG --libs "xextproto >= 7.0.99.1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xextproto >= 7.0.99.1"`
+ else
+ XEXT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xextproto >= 7.0.99.1"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$XEXT_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ HAVE_XEXTPROTO_71="no"
+elif test $pkg_failed = untried; then
+ HAVE_XEXTPROTO_71="no"
+else
+ XEXT_CFLAGS=$pkg_cv_XEXT_CFLAGS
+ XEXT_LIBS=$pkg_cv_XEXT_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_XEXTPROTO_71="yes";
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_XEXTPROTO_71 1
+_ACEOF
+
+fi
+
+
+if test "$HAVE_XEXTPROTO_71" = "yes" ; then
+ HAVE_XEXTPROTO_71_TRUE=
+ HAVE_XEXTPROTO_71_FALSE='#'
+else
+ HAVE_XEXTPROTO_71_TRUE='#'
+ HAVE_XEXTPROTO_71_FALSE=
+fi
+
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for libraries.
@@ -21680,9 +21761,9 @@ if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
-Wbad-function-cast"
- case `gcc -dumpversion` in
+ case `$CC -dumpversion` in
3.4.* | 4.*)
- CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement"
+ CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
;;
esac
else
@@ -21751,6 +21832,7 @@ fi
fi
+
XORG_CFLAGS="$CWARNFLAGS $XORG_CFLAGS"
@@ -22011,6 +22093,13 @@ $as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${HAVE_XEXTPROTO_71_TRUE}" && test -z "${HAVE_XEXTPROTO_71_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_XEXTPROTO_71\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_XEXTPROTO_71\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${XSERVER_LIBPCIACCESS_TRUE}" && test -z "${XSERVER_LIBPCIACCESS_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"XSERVER_LIBPCIACCESS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -22347,7 +22436,7 @@ exec 6>&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-siliconmotion $as_me 1.7.1, which was
+This file was extended by xf86-video-siliconmotion $as_me 1.7.3, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22400,7 +22489,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-xf86-video-siliconmotion config.status 1.7.1
+xf86-video-siliconmotion config.status 1.7.3
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/driver/xf86-video-siliconmotion/configure.ac b/driver/xf86-video-siliconmotion/configure.ac
index da129c889..e46186153 100644
--- a/driver/xf86-video-siliconmotion/configure.ac
+++ b/driver/xf86-video-siliconmotion/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-siliconmotion],
- 1.7.1,
+ 1.7.3,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-siliconmotion)
@@ -60,6 +60,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for pkg-config packages
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ HAVE_XEXTPROTO_71="no")
+AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for libraries.
diff --git a/driver/xf86-video-siliconmotion/man/Makefile.in b/driver/xf86-video-siliconmotion/man/Makefile.in
index fb77c101f..3d1da4df4 100644
--- a/driver/xf86-video-siliconmotion/man/Makefile.in
+++ b/driver/xf86-video-siliconmotion/man/Makefile.in
@@ -125,6 +125,8 @@ FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -161,6 +163,8 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XMODES_FALSE = @XMODES_FALSE@
XMODES_TRUE = @XMODES_TRUE@
XORG_CFLAGS = @XORG_CFLAGS@
diff --git a/driver/xf86-video-siliconmotion/src/Makefile.in b/driver/xf86-video-siliconmotion/src/Makefile.in
index 7ea11339e..28bc0fcf4 100644
--- a/driver/xf86-video-siliconmotion/src/Makefile.in
+++ b/driver/xf86-video-siliconmotion/src/Makefile.in
@@ -138,6 +138,8 @@ FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -174,6 +176,8 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XMODES_FALSE = @XMODES_FALSE@
XMODES_TRUE = @XMODES_TRUE@
XORG_CFLAGS = @XORG_CFLAGS@
diff --git a/driver/xf86-video-siliconmotion/src/smi_501.c b/driver/xf86-video-siliconmotion/src/smi_501.c
index a392eb069..a605e0d52 100644
--- a/driver/xf86-video-siliconmotion/src/smi_501.c
+++ b/driver/xf86-video-siliconmotion/src/smi_501.c
@@ -35,8 +35,13 @@ authorization from The XFree86 Project or Silicon Motion.
#include "smi_501.h"
#include "regsmi.h"
+#ifdef HAVE_XEXTPROTO_71
+#include <X11/extensions/dpmsconst.h>
+#else
#define DPMS_SERVER
#include <X11/extensions/dpms.h>
+#endif
+
/* Want to see register dumps for now */
#undef VERBLEV
diff --git a/driver/xf86-video-siliconmotion/src/smi_driver.c b/driver/xf86-video-siliconmotion/src/smi_driver.c
index 72196127e..391efbcb6 100644
--- a/driver/xf86-video-siliconmotion/src/smi_driver.c
+++ b/driver/xf86-video-siliconmotion/src/smi_driver.c
@@ -31,20 +31,29 @@ authorization from The XFree86 Project or Silicon Motion.
#include "config.h"
#endif
-#include "xf86Resources.h"
-#include "xf86RAC.h"
+#include "xf86.h"
#include "xf86DDC.h"
#include "xf86int10.h"
#include "vbe.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+#include "xf86Resources.h"
+#include "xf86RAC.h"
+#endif
+
#include "smi.h"
#include "smi_501.h"
#include "smilynx.h"
#include "smi_crtc.h"
#include "globals.h"
+#ifdef HAVE_XEXTPROTO_71
+#include <X11/extensions/dpmsconst.h>
+#else
#define DPMS_SERVER
#include <X11/extensions/dpms.h>
+#endif
+
/*
* Internals
@@ -190,104 +199,6 @@ static const OptionInfoRec SMIOptions[] =
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
-/*
- * Lists of symbols that may/may not be required by this driver.
- * This allows the loader to know which ones to issue warnings for.
- *
- * Note that vgahwSymbols and xaaSymbols are referenced outside the
- * XFree86LOADER define in later code, so are defined outside of that
- * define here also.
- */
-
-static const char *vgahwSymbols[] =
-{
- "vgaHWCopyReg",
- "vgaHWGetHWRec",
- "vgaHWGetIOBase",
- "vgaHWGetIndex",
- "vgaHWInit",
- "vgaHWLock",
- "vgaHWMapMem",
- "vgaHWProtect",
- "vgaHWRestore",
- "vgaHWSave",
- "vgaHWSaveScreen",
- "vgaHWSetMmioFuncs",
- "vgaHWSetStdFuncs",
- "vgaHWUnmapMem",
- "vgaHWddc1SetSpeedWeak",
- NULL
-};
-
-static const char *xaaSymbols[] =
-{
- "XAAGetCopyROP",
- "XAACreateInfoRec",
- "XAADestroyInfoRec",
- "XAAGetFallbackOps",
- "XAAInit",
- "XAAGetPatternROP",
- NULL
-};
-
-static const char *exaSymbols[] =
-{
- "exaDriverAlloc",
- "exaDriverInit",
- "exaDriverFini",
- "exaOffscreenAlloc",
- "exaOffscreenFree",
- "exaGetPixmapPitch",
- "exaGetPixmapOffset",
- "exaGetPixmapSize",
- NULL
-};
-
-static const char *ddcSymbols[] =
-{
- "xf86PrintEDID",
- "xf86DoEDID_DDC1",
- "xf86DoEDID_DDC2",
- "xf86SetDDCproperties",
- NULL
-};
-
-static const char *i2cSymbols[] =
-{
- "xf86CreateI2CBusRec",
- "xf86CreateI2CDevRec",
- "xf86DestroyI2CBusRec",
- "xf86DestroyI2CDevRec",
- "xf86I2CBusInit",
- "xf86I2CDevInit",
- "xf86I2CReadBytes",
- "xf86I2CWriteByte",
- NULL
-};
-
-static const char *int10Symbols[] =
-{
- "xf86ExecX86int10",
- "xf86FreeInt10",
- "xf86InitInt10",
- NULL
-};
-
-static const char *vbeSymbols[] =
-{
- "VBEInit",
- "vbeDoEDID",
- "vbeFree",
- NULL
-};
-
-static const char *fbSymbols[] =
-{
- "fbPictureInit",
- "fbScreenInit",
- NULL
-};
-
#ifdef XFree86LOADER
static MODULESETUPPROTO(siliconmotionSetup);
@@ -330,19 +241,6 @@ siliconmotionSetup(pointer module, pointer opts, int *errmaj, int *errmin)
xf86AddDriver(&SILICONMOTION, module, 0);
/*
- * Modules that this driver always requires can be loaded here
- * by calling LoadSubModule().
- */
-
- /*
- * Tell the loader about symbols from other modules that this module
- * might refer to.
- */
- LoaderRefSymLists(vgahwSymbols, fbSymbols, xaaSymbols, exaSymbols,
- ddcSymbols, i2cSymbols, int10Symbols, vbeSymbols,
- NULL);
-
- /*
* The return value must be non-NULL on success even though there
* is no TearDownProc.
*/
@@ -522,7 +420,7 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
LEAVE(TRUE);
}
- if (pEnt->location.type != BUS_PCI || pEnt->resources) {
+ if (pEnt->location.type != BUS_PCI) {
xfree(pEnt);
SMI_FreeRec(pScrn);
LEAVE(FALSE);
@@ -537,8 +435,6 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
if (!xf86LoadSubModule(pScrn, "vgahw"))
LEAVE(FALSE);
- xf86LoaderReqSymLists(vgahwSymbols, NULL);
-
/*
* Allocate a vgaHWRec
*/
@@ -578,6 +474,8 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
xf86PrintDepthBpp(pScrn);
+ pSmi->Bpp = pScrn->bitsPerPixel >> 3;
+
/*
* This must happen after pScrn->display has been set because
* xf86SetWeight references it.
@@ -719,12 +617,10 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
if (pSmi->useBIOS) {
if (xf86LoadSubModule(pScrn,"int10")) {
- xf86LoaderReqSymLists(int10Symbols,NULL);
pSmi->pInt10 = xf86InitInt10(pEnt->index);
}
if (pSmi->pInt10 && xf86LoadSubModule(pScrn, "vbe")) {
- xf86LoaderReqSymLists(vbeSymbols, NULL);
pSmi->pVbe = VBEInit(pSmi->pInt10, pEnt->index);
}
@@ -734,10 +630,9 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
}
}
+#ifndef XSERVER_LIBPCIACCESS
xf86RegisterResources(pEnt->index, NULL, ResExclusive);
-/* xf86SetOperatingState(resVgaIo, pEnt->index, ResUnusedOpr); */
-/* xf86SetOperatingState(resVgaMem, pEnt->index, ResDisableOpr); */
-
+#endif
/*
* Set the Chipset and ChipRev, allowing config file entries to
* override.
@@ -888,12 +783,9 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
if(!IS_MSOC(pSmi)){
if (xf86LoadSubModule(pScrn, "i2c")) {
- xf86LoaderReqSymLists(i2cSymbols, NULL);
SMI_I2CInit(pScrn);
}
- if (xf86LoadSubModule(pScrn, "ddc")) {
- xf86LoaderReqSymLists(ddcSymbols, NULL);
- }
+ xf86LoadSubModule(pScrn, "ddc");
}
/*
@@ -937,9 +829,27 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
/* Only allow growing the screen dimensions if EXA is being used */
if (!xf86InitialConfiguration (pScrn, !pSmi->NoAccel && pSmi->useEXA)){
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n");
+
+ SMI_EnableVideo(pScrn);
+ SMI_UnmapMem(pScrn);
LEAVE(FALSE);
}
+ /* Ensure that the framebuffer size just set fits in video memory. */
+ {
+ int aligned_pitch = (pScrn->virtualX*pSmi->Bpp + 15) & ~15;
+
+ if(aligned_pitch * pScrn->virtualY > pSmi->FBReserved){
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Not enough video memory "
+ "for the configured screen size (%dx%d) and color depth.\n",
+ pScrn->virtualX, pScrn->virtualY);
+
+ SMI_EnableVideo(pScrn);
+ SMI_UnmapMem(pScrn);
+ LEAVE(FALSE);
+ }
+ }
+
SMI_EnableVideo(pScrn);
SMI_UnmapMem(pScrn);
@@ -961,8 +871,6 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
LEAVE(FALSE);
}
- xf86LoaderReqSymLists(fbSymbols, NULL);
-
/* Load XAA or EXA if needed */
if (!pSmi->NoAccel) {
if (!pSmi->useEXA) {
@@ -970,7 +878,6 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
SMI_FreeRec(pScrn);
LEAVE(FALSE);
}
- xf86LoaderReqSymLists(xaaSymbols, NULL);
} else {
XF86ModReqInfo req;
int errmaj, errmin;
@@ -985,7 +892,6 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
SMI_FreeRec(pScrn);
LEAVE(FALSE);
}
- xf86LoaderReqSymLists(exaSymbols, NULL);
}
}
@@ -1230,10 +1136,21 @@ SMI_DetectMCLK(ScrnInfoPtr pScrn)
/* The SM712 can be safely clocked up to 157MHz, according to
Silicon Motion engineers. */
pSmi->MCLK = 157000;
- }else
- pSmi->MCLK = 0;
- pSmi->MXCLK = 0;
+ } else if (IS_MSOC(pSmi)) {
+ /* Set some sane defaults for the clock settings if we are on a
+ SM502 and it's likely to be uninitialized. */
+
+ if (!xf86IsPrimaryPci(pSmi->PciInfo) &&
+ (READ_SCR(pSmi, DEVICE_ID) & 0xFF) >= 0xC0) {
+ pSmi->MCLK = 112000;
+ pSmi->MXCLK = 144000;
+ }
+
+ } else {
+ pSmi->MCLK = 0;
+ pSmi->MXCLK = 0;
+ }
/* MCLK from user settings */
if (xf86GetOptValFreq(pSmi->Options, OPTION_MCLK, OPTUNITS_MHZ, &real)) {
@@ -1423,6 +1340,55 @@ SMI_MapMmio(ScrnInfoPtr pScrn)
return (TRUE);
}
+/* HACK - In some cases the BIOS hasn't filled in the "scratchpad
+ registers" (SR71) with the right amount of memory installed (e.g. MIPS
+ platform). Probe it manually. */
+static unsigned long
+SMI_ProbeMem(ScrnInfoPtr pScrn, unsigned long mem_skip, unsigned long mem_max)
+{
+ SMIPtr pSmi = SMIPTR(pScrn);
+ unsigned long mem_probe = 1024*1024;
+ unsigned long aperture_base;
+ void* mem;
+
+ ENTER();
+
+ aperture_base = PCI_REGION_BASE(pSmi->PciInfo, 0, REGION_MEM) + mem_skip;
+ mem_max = min(mem_max , PCI_REGION_SIZE(pSmi->PciInfo, 0) - mem_skip);
+
+#ifndef XSERVER_LIBPCIACCESS
+ mem = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, pSmi->PciTag,
+ aperture_base, mem_max);
+
+ if(!mem)
+ LEAVE(0);
+#else
+ if(pci_device_map_range(pSmi->PciInfo, aperture_base, mem_max,
+ PCI_DEV_MAP_FLAG_WRITABLE, &mem))
+ LEAVE(0);
+#endif
+
+ while(mem_probe <= mem_max){
+ MMIO_OUT32(mem, mem_probe-4, 0x55555555);
+ if(MMIO_IN32(mem, mem_probe-4) != 0x55555555)
+ break;
+
+ MMIO_OUT32(mem, mem_probe-4, 0xAAAAAAAA);
+ if(MMIO_IN32(mem, mem_probe-4) != 0xAAAAAAAA)
+ break;
+
+ mem_probe <<= 1;
+ }
+
+#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, mem, mem_max);
+#else
+ pci_device_unmap_range(pSmi->PciInfo, mem, mem_max);
+#endif
+
+ LEAVE(mem_probe >> 1);
+}
+
static Bool
SMI_DetectMem(ScrnInfoPtr pScrn)
{
@@ -1452,6 +1418,9 @@ SMI_DetectMem(ScrnInfoPtr pScrn)
pSmi->videoRAMKBytes = lynx3d_table[config >> 6] * 1024 +
512;
break;
+ case SMI_LYNXEMplus:
+ pSmi->videoRAMKBytes = SMI_ProbeMem(pScrn, 0, 0x400000) / 1024;
+ break;
case SMI_LYNX3DM:
pSmi->videoRAMKBytes = lynx3dm_table[config >> 6] * 1024;
break;
@@ -1672,7 +1641,6 @@ SMI_ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
pScrn->vtSema = TRUE;
pScrn->pScreen = pScreen;
- pSmi->Bpp = pScrn->bitsPerPixel >> 3;
pScrn->displayWidth = ((pScrn->virtualX * pSmi->Bpp + 15) & ~15) / pSmi->Bpp;
pSmi->fbArea = NULL;
diff --git a/driver/xf86-video-siliconmotion/src/smi_exa.c b/driver/xf86-video-siliconmotion/src/smi_exa.c
index 1b6d42fad..51039240d 100644
--- a/driver/xf86-video-siliconmotion/src/smi_exa.c
+++ b/driver/xf86-video-siliconmotion/src/smi_exa.c
@@ -78,9 +78,6 @@ static void
SMI_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
int dstX, int dstY, int width, int height);
static void
-SMI501_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
- int dstX, int dstY, int width, int height);
-static void
SMI730_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
int dstX, int dstY, int width, int height);
static void
@@ -169,12 +166,11 @@ SMI_EXAInit(ScreenPtr pScreen)
pSmi->EXADriverPtr->CheckComposite = SMI_CheckComposite;
pSmi->EXADriverPtr->PrepareComposite = SMI_PrepareComposite;
- if (IS_MSOC(pSmi))
- pSmi->EXADriverPtr->Composite = SMI501_Composite;
- else if (pSmi->Chipset == SMI_COUGAR3DR)
+ if (IS_MSOC(pSmi) || pSmi->Chipset == SMI_COUGAR3DR)
pSmi->EXADriverPtr->Composite = SMI730_Composite;
else
pSmi->EXADriverPtr->Composite = SMI_Composite;
+
pSmi->EXADriverPtr->DoneComposite = SMI_DoneComposite;
if(!exaDriverInit(pScreen, pSmi->EXADriverPtr)) {
@@ -711,38 +707,22 @@ SMI_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
LEAVE();
}
-#define MSOC_ROTBLTWIDTH 8
-static void
-SMI501_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
- int dstX, int dstY, int width, int height)
-{
- ENTER();
-
- /* SMI501 cannot rotate-blt more than 32 bytes.
- * Based on smi's sample smi_shadow.c */
- while (height > MSOC_ROTBLTWIDTH) {
- SMI_Composite(pDst, srcX, srcY, maskX, maskY, dstX, dstY,
- width, MSOC_ROTBLTWIDTH);
- srcY += MSOC_ROTBLTWIDTH;
- dstY += MSOC_ROTBLTWIDTH;
- height -= MSOC_ROTBLTWIDTH;
- }
- SMI_Composite(pDst, srcX, srcY, maskX, maskY, dstX, dstY, width, height);
-
- LEAVE();
-}
-
static void
SMI730_Composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
int dstX, int dstY, int width, int height)
{
+ ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum];
+ SMIPtr pSmi = SMIPTR(pScrn);
int maxPixels;
ENTER();
- /* SM731 cannot rotate-blt more than a certain number of pixels
- (based on a calculation from the Windows driver source */
- maxPixels = 1280 / pDst->drawable.bitsPerPixel;
+ /* Both SM501 and SM731 cannot rotate-blt more than a certain
+ number of pixels. */
+ if(IS_MSOC(pSmi))
+ maxPixels = 128 / pDst->drawable.bitsPerPixel;
+ else
+ maxPixels = 1280 / pDst->drawable.bitsPerPixel;
while(height>0){
SMI_Composite(pDst, srcX, srcY, maskX, maskY, dstX, dstY, width, min(height, maxPixels));
diff --git a/driver/xf86-video-siliconmotion/src/smilynx_crtc.c b/driver/xf86-video-siliconmotion/src/smilynx_crtc.c
index a8c0a037c..fb7183cb8 100644
--- a/driver/xf86-video-siliconmotion/src/smilynx_crtc.c
+++ b/driver/xf86-video-siliconmotion/src/smilynx_crtc.c
@@ -241,7 +241,7 @@ SMILynx_CrtcModeFixup(xf86CrtcPtr crtc,
/* Adjust the pixel clock in case it is near one of the known
stable frequencies (KHz) */
int stable_clocks[] = {46534,};
- int epsilon = 2000;
+ int epsilon = 3000;
int i;
for (i=0; i < sizeof(stable_clocks)/sizeof(int); i++) {