.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.coopersm...@oracle.com> Date: Tue Apr 27 15:11:35 2010 -0700 xf86-video-siliconmotion 1.7.4 Signed-off-by: Alan Coopersmith <alan.coopersm...@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.coopersm...@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.coopersm...@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.coopersm...@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.coopersm...@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_n...@.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 <mems...@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 <mems...@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 <ri...@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 <ri...@happyleptic.org> Signed-off-by: Francisco Jerez <curroje...@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.coopersm...@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.coopersm...@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 <mems...@videotron.ca> Date: Tue Dec 15 22:01:02 2009 -0500 configure.ac: remove unused sdkdir=$(pkg-config...) statement The sdkdir variable isn't use, so remove the statement. Acked-by: Dan Nicholson <dbn.li...@gmail.com> Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index 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 <mems...@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 <mems...@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 <mems...@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 <mems...@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 <mems...@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 <a...@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 <a...@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 <airl...@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 <airl...@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 <airl...@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 <airl...@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.hutte...@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.hutte...@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 <a...@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 <curroje...@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 <a...@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 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1omgbq-0006ct...@alioth.debian.org