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: