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

xserver-xorg-video-siliconmotion: Changes to 'upstream-experimental'



 .gitignore            |   73 ++++++++++++--
 COPYING               |   76 +++++++++++++--
 Makefile.am           |   11 +-
 README                |   77 ++-------------
 configure.ac          |   26 ++---
 man/Makefile.am       |   45 ++++-----
 man/siliconmotion.man |    8 -
 src/Makefile.am       |    4 
 src/smi.h             |    4 
 src/smi_501.c         |    5 +
 src/smi_501.h         |    2 
 src/smi_driver.c      |  247 ++++++++++++++++++++++----------------------------
 src/smi_exa.c         |   40 ++------
 src/smi_video.c       |   25 ++---
 src/smilynx_crtc.c    |  114 ++++++++++++++---------
 src/smilynx_hw.c      |   12 --
 src/smilynx_output.c  |   42 ++++----
 17 files changed, 426 insertions(+), 385 deletions(-)

New commits:
commit 2de1f7ae0b4441c1501568358acf2b870bb9dcc6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Apr 27 15:11:35 2010 -0700

    xf86-video-siliconmotion 1.7.4
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 2f6fe7e..733c6e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-siliconmotion],
-        1.7.3,
+        1.7.4,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-siliconmotion)
 

commit 2dd7cd7508b459638a640905f8793ea85f41af82
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Apr 27 15:11:02 2010 -0700

    Require xorg-macros 1.4 for XORG_INSTALL
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index f3dbfd5..2f6fe7e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,10 +26,10 @@ AC_INIT([xf86-video-siliconmotion],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-siliconmotion)
 
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
+# Require xorg-macros 1.4 for XORG_DEFAULT_OPTIONS & XORG_INSTALL
 m4_ifndef([XORG_MACROS_VERSION], 
-          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.3)
+          [m4_fatal([must install xorg-macros 1.4 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.4)
 XORG_DEFAULT_OPTIONS
 
 AC_CONFIG_SRCDIR([Makefile.am])

commit b6d8a1adec9f780826090fb923c54f16fd7f9ce7
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Apr 27 15:08:36 2010 -0700

    Use $(AM_V_GEN) & $(SED) to generate man pages
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/man/Makefile.am b/man/Makefile.am
index 8f2454b..5f0dd85 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -31,8 +31,6 @@ EXTRA_DIST = @DRIVER_NAME@.man
 
 CLEANFILES = $(driverman_DATA)
 
-SED = sed
-
 # Strings to replace in man pages
 XORGRELSTRING = @PACKAGE_STRING@
   XORGMANNAME = X Version 11
@@ -52,4 +50,4 @@ MAN_SUBSTS = \
 SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
 
 .man.$(DRIVER_MAN_SUFFIX):
-	sed $(MAN_SUBSTS) < $< > $@
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@

commit 7510112f30e33cfb9650ee939564f73ff9633bea
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Thu Feb 11 10:08:07 2010 -0500

    config: move CWARNFLAGS from configure.ac to Makefile.am
    
    Compiler warning flags should be explicitly set in the makefile
    rather than being merged with other packages compiler flags.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index f113864..f3dbfd5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,7 +81,6 @@ AC_HEADER_STDC
 
 if test "x$XSERVER_LIBPCIACCESS" = xyes; then
     PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
-    XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
 fi
 AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
 AM_CONDITIONAL(XMODES, test "x$XMODES" = xyes)
@@ -90,8 +89,6 @@ if test "x$XMODES" = xyes; then
     AC_DEFINE(HAVE_XMODES, 1, [X server has new mode code])
 fi
 
-XORG_CFLAGS="$CWARNFLAGS $XORG_CFLAGS"
-AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
 DRIVER_NAME=siliconmotion
diff --git a/src/Makefile.am b/src/Makefile.am
index 811b456..f3ee526 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,9 @@
 # -avoid-version prevents gratuitous .0.0.0 version numbers on the end
 # _ladir passes a dummy rpath to libtool so the thing will actually link
 # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
-AM_CFLAGS = @XORG_CFLAGS@
+
+AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(PCIACCESS_CFLAGS)
+
 siliconmotion_drv_la_LTLIBRARIES = siliconmotion_drv.la
 siliconmotion_drv_la_LDFLAGS = -module -avoid-version
 siliconmotion_drv_ladir = @moduledir@/drivers

commit 3f2aaabcdfe339908338dff42aabc1fef47e8694
Author: Cedric Cellier <rixed@happyleptic.org>
Date:   Mon Feb 8 11:44:28 2010 +0100

    Fix lack of precision in video resizing. #26443
    
    On some videos the last displayed line was wrong. This can
    be fixed using LynxEM+ VPR68. Code borrowed from siliconmotion's
    in-house driver.
    Also fix a typo.
    
    Signed-off-by: Cedric Cellier <rixed@happyleptic.org>
    Signed-off-by: Francisco Jerez <currojerez@riseup.net>

diff --git a/src/smi_video.c b/src/smi_video.c
index 9bf0e1b..c2e8868 100644
--- a/src/smi_video.c
+++ b/src/smi_video.c
@@ -1103,7 +1103,7 @@ SMI_PutVideo(
 	vpr00 |= 0x0010000E;
     } else {
 	/*
-	  Bit 21     = 10: Vertical Interpolation                   = enabled
+	  Bit 21     = 1: Vertical Interpolation                   = enabled
 	  Bit 24     = 1: Select Video Window I Source Addr        = 1
 	  1= Video window I source addr = capture port buffer ?
 	*/
@@ -1747,7 +1747,7 @@ SMI_DisplayVideo(
 {
     SMIPtr pSmi = SMIPTR(pScrn);
     CARD32 vpr00;
-    int hstretch, vstretch;
+    uint32_t hstretch, vstretch;
 
     ENTER();
 
@@ -1774,13 +1774,13 @@ SMI_DisplayVideo(
     }
 
     if (drw_w > vid_w) {
-	hstretch = (2560 * vid_w / drw_w + 5) / 10;
+	hstretch = ((uint32_t)(vid_w - 1) << 16) / (drw_w - 1);
     } else {
 	hstretch = 0;
     }
 
     if (drw_h > vid_h) {
-	vstretch = (2560 * vid_h / drw_h + 5) / 10;
+	vstretch = ((uint32_t)(vid_h - 1) << 16) / (drw_h - 1);
 	vpr00 |= 1 << 21;
     } else {
 	vstretch = 0;
@@ -1791,7 +1791,10 @@ SMI_DisplayVideo(
     WRITE_VPR(pSmi, 0x18, (dstBox->x2) | (dstBox->y2 << 16));
     WRITE_VPR(pSmi, 0x1C, offset >> 3);
     WRITE_VPR(pSmi, 0x20, (pitch >> 3) | ((pitch >> 3) << 16));
-    WRITE_VPR(pSmi, 0x24, (hstretch << 8) | vstretch);
+    WRITE_VPR(pSmi, 0x24, (hstretch & 0xff00) | ((vstretch & 0xff00) >> 8));
+    if (pSmi->Chipset == SMI_LYNXEMplus) {	/* This one can store additional precision */
+	WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff));
+    }
 
     LEAVE();
 }

commit 6bf8f8d7e13ccbb773765c4fcdcaf6d1d2993122
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Jan 15 13:50:43 2010 -0800

    Update Sun license notices to current X.Org standard form
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>

diff --git a/man/Makefile.am b/man/Makefile.am
index f0eb29b..8f2454b 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,27 +1,24 @@
 #
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-# 
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation.
-# 
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-# 
-# Except as contained in this notice, the name of the copyright holders shall
-# not be used in advertising or otherwise to promote the sale, use or
-# other dealings in this Software without prior written authorization
-# from the copyright holders.
+#
+# 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.
 # 
 
 drivermandir = $(DRIVER_MAN_DIR)

commit 6650644b51947c0c13e71b0fa01f795e997ab750
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Dec 15 22:01:02 2009 -0500

    configure.ac: remove unused sdkdir=$(pkg-config...) statement
    
    The sdkdir variable isn't use, so remove the statement.
    
    Acked-by: Dan Nicholson <dbn.lists@gmail.com>
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index d8f8864..f113864 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,7 +65,6 @@ 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.
 SAVE_CPPFLAGS="$CPPFLAGS"

commit e8e1d7d22aee2b6aa7caecf910b616a8e39ac061
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Nov 23 09:25:05 2009 -0500

    Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
    
    Now that the INSTALL file is generated.
    Allows running make maintainer-clean.

diff --git a/Makefile.am b/Makefile.am
index 83cb855..1bb47d9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,6 +19,7 @@
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 SUBDIRS = src man
+MAINTAINERCLEANFILES = ChangeLog INSTALL
 
 EXTRA_DIST = CALLMAP Release.txt
 

commit 6acfadf1c541626ce445f5d71438c845f196e37f
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Oct 28 14:41:41 2009 -0400

    INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
    
    Automake 'foreign' option is specified in configure.ac.
    Remove from Makefile.am

diff --git a/Makefile.am b/Makefile.am
index 2235fe5..83cb855 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,7 +18,6 @@
 #  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.
 
-AUTOMAKE_OPTIONS = foreign
 SUBDIRS = src man
 
 EXTRA_DIST = CALLMAP Release.txt

commit 638e15adec65c00cf3be68249c8372befe6a12a1
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Oct 28 14:09:09 2009 -0400

    INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
    
    Add missing INSTALL file. Use standard GNU file on building tarball
    README may have been updated
    Remove AUTHORS file as it is empty and no content available yet.
    Remove NEWS file as it is empty and no content available yet.

diff --git a/Makefile.am b/Makefile.am
index 22446fc..2235fe5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,9 +23,12 @@ SUBDIRS = src man
 
 EXTRA_DIST = CALLMAP Release.txt
 
-.PHONY: ChangeLog
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+	$(INSTALL_CMD)
 
 ChangeLog:
 	$(CHANGELOG_CMD)
 
-dist-hook: ChangeLog
+dist-hook: ChangeLog INSTALL
diff --git a/configure.ac b/configure.ac
index 35103bd..d8f8864 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,7 +36,7 @@ AC_CONFIG_SRCDIR([Makefile.am])
 AM_CONFIG_HEADER([config.h])
 AC_CONFIG_AUX_DIR(.)
 
-AM_INIT_AUTOMAKE([dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 AM_MAINTAINER_MODE
 

commit dd3ce955349f7545d9aa2aacbb018811d7b9faa3
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Oct 26 12:54:22 2009 -0400

    Several driver modules do not have a ChangeLog target in Makefile.am #23814
    
    The git generated ChangeLog replaces the hand written one.
    Update configure.ac to xorg-macros level 1.3.
    Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros
    Update Makefile.am to add ChangeLog target if missing
    Remove ChangeLog from EXTRA_DIST or *CLEAN variables
    This is a pre-req for the INSTALL_CMD

diff --git a/Makefile.am b/Makefile.am
index d79e354..22446fc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,9 +21,7 @@
 AUTOMAKE_OPTIONS = foreign
 SUBDIRS = src man
 
-EXTRA_DIST = ChangeLog CALLMAP Release.txt
-
-MAINTAINERCLEANFILES=ChangeLog
+EXTRA_DIST = CALLMAP Release.txt
 
 .PHONY: ChangeLog
 
diff --git a/configure.ac b/configure.ac
index e461861..35103bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,10 +26,11 @@ AC_INIT([xf86-video-siliconmotion],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-siliconmotion)
 
-# Require xorg-macros version 1.2 or newer for XORG_CWARNFLAGS and
-# XORG_CHANGELOG macros
-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2.1 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.2.1)
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION], 
+          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
 
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_CONFIG_HEADER([config.h])
@@ -90,7 +91,6 @@ if test "x$XMODES" = xyes; then
     AC_DEFINE(HAVE_XMODES, 1, [X server has new mode code])
 fi
 
-XORG_CWARNFLAGS
 XORG_CFLAGS="$CWARNFLAGS $XORG_CFLAGS"
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
@@ -98,10 +98,6 @@ AC_SUBST([moduledir])
 DRIVER_NAME=siliconmotion
 AC_SUBST([DRIVER_NAME])
 
-XORG_MANPAGE_SECTIONS
-XORG_RELEASE_VERSION
-XORG_CHANGELOG
-
 AC_OUTPUT([
 	Makefile
 	src/Makefile

commit b48c3f38767cdcd71eccfa6a0f4a15501a39f83a
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Thu Oct 22 12:34:18 2009 -0400

    .gitignore: use common defaults with custom section # 24239
    
    Using common defaults will reduce errors and maintenance.
    Only the very small or inexistent custom section need periodic maintenance
    when the structure of the component changes. Do not edit defaults.

diff --git a/.gitignore b/.gitignore
index 7b646e3..7667571 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,23 +1,78 @@
-.deps
-.libs
-Makefile
-Makefile.in
-*.la
-*.lo
+#
+#		X.Org module default exclusion patterns
+#		The next section if for module specific patterns
+#
+#	Do not edit the following section
+# 	GNU Build System (Autotools)
 aclocal.m4
-autom4te.cache
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
 config.guess
 config.h
 config.h.in
 config.log
+config-ml.in
+config.py
 config.status
+config.status.lineno
 config.sub
 configure
+configure.scan
 depcomp
+.deps/
+INSTALL
 install-sh
+.libs/
 libtool
+libtool.m4
 ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
 missing
-stamp-h1
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+#	Do not edit the following section
+# 	Edit Compile Debug Document Distribute
 *~
-siliconmotion.4
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+#		Add & Override patterns for xf86-video-siliconmotion 
+#
+#		Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+# 

commit 8a4f000f22bbec70193415372cfb478d6e2164d8
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Nov 2 16:03:00 2009 -0500

    Change clockRange to ClockRange, not ClockRanges
    
    ClockRanges is a silly type and I want rid of it, and the one extra
    field it provides that's not in ClockRange, we're not using.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

diff --git a/src/smi.h b/src/smi.h
index e682dfa..0f72db9 100644
--- a/src/smi.h
+++ b/src/smi.h
@@ -147,7 +147,7 @@ typedef struct
     int			Bpp;		/* Bytes per pixel */
     int			MCLK;		/* Memory Clock  */
     int			MXCLK;		/* MSOC Clock for local sdram */
-    ClockRanges		clockRange;	/* Allowed pixel clock range */
+    ClockRange		clockRange;	/* Allowed pixel clock range */
     CloseScreenProcPtr	CloseScreen;	/* Pointer used to save wrapped
 					   CloseScreen function */
 

commit 52f40e7569bbcc9bce8f5d885b0de2868398e8df
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Aug 5 11:09:26 2009 +1000

    fix build after headers moved

diff --git a/src/smi_driver.c b/src/smi_driver.c
index 39448c4..391efbc 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -31,7 +31,7 @@ authorization from The XFree86 Project or Silicon Motion.
 #include "config.h"
 #endif
 
-
+#include "xf86.h"
 #include "xf86DDC.h"
 #include "xf86int10.h"
 #include "vbe.h"

commit 9d9bfe0349693b283e5dc1ced6fa882f10619253
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Aug 5 11:08:15 2009 +1000

    update for 1.7.3

diff --git a/configure.ac b/configure.ac
index e38433e..e461861 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-siliconmotion],
-        1.7.2,
+        1.7.3,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-siliconmotion)
 

commit 115b564f78b038baef2d14c037785850efb4e9ca
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 15:22:41 2009 +1000

    siliconmotion: change to using ABI version check

diff --git a/src/smi_driver.c b/src/smi_driver.c
index 9c07f61..39448c4 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -36,7 +36,7 @@ authorization from The XFree86 Project or Silicon Motion.
 #include "xf86int10.h"
 #include "vbe.h"
 
-#ifndef XSERVER_LIBPCIACCESS
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
 #include "xf86Resources.h"
 #include "xf86RAC.h"
 #endif

commit 70f2463faa6d21517d97aa460871e1b5f3fa6505
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 28 13:32:36 2009 +1000

    siliconmotion: update for resources/RAC API removal

diff --git a/src/smi_driver.c b/src/smi_driver.c
index b9b7b18..9c07f61 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -31,12 +31,16 @@ authorization from The XFree86 Project or Silicon Motion.
 #include "config.h"
 #endif
 
-#include "xf86Resources.h"
-#include "xf86RAC.h"
+
 #include "xf86DDC.h"
 #include "xf86int10.h"
 #include "vbe.h"
 
+#ifndef XSERVER_LIBPCIACCESS
+#include "xf86Resources.h"
+#include "xf86RAC.h"
+#endif
+
 #include "smi.h"
 #include "smi_501.h"
 #include "smilynx.h"
@@ -416,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);
@@ -626,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.

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>

diff --git a/configure.ac b/configure.ac
index ec0e99e..e38433e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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/src/smi_501.c b/src/smi_501.c
index a392eb0..a605e0d 100644
--- a/src/smi_501.c
+++ b/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/src/smi_driver.c b/src/smi_driver.c
index b47f774..b9b7b18 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -43,8 +43,13 @@ authorization from The XFree86 Project or Silicon Motion.
 #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

commit d754e9a2954e56a26a94e58d87a450a825c250e6
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Jul 2 11:43:52 2009 -0400

    siliconmotion 1.7.2

diff --git a/configure.ac b/configure.ac
index da129c8..ec0e99e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-siliconmotion],
-        1.7.1,
+        1.7.2,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-siliconmotion)
 

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).

diff --git a/src/smi_exa.c b/src/smi_exa.c
index 1b6d42f..5103924 100644
--- a/src/smi_exa.c
+++ b/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));

commit 97498c048c897e5753e61d3b4ab231025974d67c
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu May 28 15:17:58 2009 -0400

    Remove useless loader symbol lists.

diff --git a/src/smi_driver.c b/src/smi_driver.c
index 985563b..b47f774 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -190,104 +190,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 +232,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.
 	 */
@@ -537,8 +426,6 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
 	if (!xf86LoadSubModule(pScrn, "vgahw"))
 	    LEAVE(FALSE);
 
-	xf86LoaderReqSymLists(vgahwSymbols, NULL);
-
 	/*
 	 * Allocate a vgaHWRec


Reply to: