--- xserver-xorg-video-siliconmotion-1.7.5.orig/autogen.sh +++ xserver-xorg-video-siliconmotion-1.7.5/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/README.source +++ xserver-xorg-video-siliconmotion-1.7.5/debian/README.source @@ -0,0 +1,49 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated using this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/changelog +++ xserver-xorg-video-siliconmotion-1.7.5/debian/changelog @@ -0,0 +1,287 @@ +xserver-xorg-video-siliconmotion (1:1.7.5-1loongson2) unstable; urgency=low + + * Non-maintainer upload. + * enable CRT output, + * loongson2f + + -- liu shiwei Sun, 15 May 2011 21:35:08 +0800 + +xserver-xorg-video-siliconmotion (1:1.7.5-1) unstable; urgency=low + + * New upstream release. + * Bump xutils-dev build-dep for new macros. + * Update debian/copyright from upstream COPYING. + + -- Cyril Brulebois Wed, 09 Mar 2011 00:31:34 +0100 + +xserver-xorg-video-siliconmotion (1:1.7.4-3) unstable; urgency=low + + * Switch to dh: + - Use debhelper 8. + - Use dh-autoreconf. + - Bump xserver-xorg-dev build-dep for dh_xsf_substvars and xsf + debhelper sequence. + * Remove xsfbs accordingly. + * Update Uploaders list. Thanks, David & Brice! + * Remove long obsolete Replaces/Conflicts. + * Wrap Depends/Provides. + * Bump Standards-Version to 3.9.1 (no changes needed). + + -- Cyril Brulebois Sat, 05 Feb 2011 14:55:28 +0100 + +xserver-xorg-video-siliconmotion (1:1.7.4-2) experimental; urgency=low + + [ Julien Cristau ] + * Drop 01_siliconmotion_rotate_option_disables_randr.diff, it was disabled + since 1.7.0 and most likely obsoleted by randr 1.2 support in that + release. + + [ Cyril Brulebois ] + * Build against Xserver 1.9.1 rc1. + + -- Cyril Brulebois Sat, 16 Oct 2010 21:03:39 +0200 + +xserver-xorg-video-siliconmotion (1:1.7.4-1) experimental; urgency=low + + [ Christopher James Halse Rogers ] + * New upstream release + - Fixes FTBFS against Xserver 1.8 + + -- Julien Cristau Thu, 10 Jun 2010 11:32:50 +0200 + +xserver-xorg-video-siliconmotion (1:1.7.3-2) unstable; urgency=low + + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + * Remove myself from Uploaders + + [ Cyril Brulebois ] + * Update to new xsfbs, replace deprecated ${xserver:Depends} with + ${xviddriver:Depends} in Depends, and bump B-D on xserver-xorg-dev + accordingly. + * Add myself to Uploaders. + * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). + + -- Cyril Brulebois Tue, 04 May 2010 00:19:15 +0200 + +xserver-xorg-video-siliconmotion (1:1.7.3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + * Bump Standards-Version to 3.8.3. + * Build against Xserver 1.7. + + [ Cyril Brulebois ] + * Upload to experimental. + + -- Cyril Brulebois Sun, 06 Dec 2009 01:50:22 +0100 + +xserver-xorg-video-siliconmotion (1:1.7.2-1) unstable; urgency=low + + * New upstream release. + * Bump Standards-Version to 3.8.2. + * Remove 01_gen_pci_ids.diff. The X server now uses an internal table to + choose a driver during autoconfiguration. + + -- Brice Goglin Mon, 20 Jul 2009 00:13:38 +0200 + +xserver-xorg-video-siliconmotion (1:1.7.1-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Wed, 29 Apr 2009 18:33:55 +0200 + +xserver-xorg-video-siliconmotion (1:1.7.0-2) unstable; urgency=low + + * Upload to unstable. + + -- Julien Cristau Thu, 09 Apr 2009 11:38:48 +0100 + +xserver-xorg-video-siliconmotion (1:1.7.0-1) experimental; urgency=low + + * New upstream release. + + Add support for EXA, RandR 1.2 and some smi 50x chipsets. + + Disable 01_siliconmotion_rotate_option_disables_randr.diff. + * Build against xserver 1.6 rc1. + * Allow parallel builds. + * Run autoreconf on build; add build-deps on automake, libtool and + xutils-dev. + * Add myself to Uploaders. + + -- Brice Goglin Sun, 01 Feb 2009 16:15:46 +0100 + +xserver-xorg-video-siliconmotion (1:1.6.0-2) experimental; urgency=low + + * Build against xserver 1.5. + + -- Julien Cristau Mon, 08 Sep 2008 19:37:00 +0100 + +xserver-xorg-video-siliconmotion (1:1.6.0-1) unstable; urgency=low + + [ Brice Goglin ] + * Add upstream URL to debian/copyright. + + [ Julien Cristau ] + * New upstream release. + * Refresh patches. + * Remove Branden from Uploaders with his permission, and add myself. + * Bump Standards-Version to 3.7.3. + * Drop the XS- prefix from Vcs-* control fields. + * Run dpkg-shlibdeps with --warnings=6. Drivers reference symbols from + /usr/bin/Xorg and other modules, and that's not a bug, so we want + dpkg-shlibdeps to shut up about symbols it can't find. Build-depend on + dpkg-dev >= 1.14.17. + + -- Julien Cristau Fri, 06 Jun 2008 12:19:48 +0200 + +xserver-xorg-video-siliconmotion (1:1.5.1-3) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Sun, 16 Sep 2007 15:43:48 -0400 + +xserver-xorg-video-siliconmotion (1:1.5.1-2) experimental; urgency=low + + * Build against xserver 1.4 and build-dep on it + * Add 02_gen_pci_ids.diff. This patch provides a set of pci id's supported + by this driver so that it can be automatically loaded by the server. + + -- David Nusinow Thu, 13 Sep 2007 20:20:40 -0400 + +xserver-xorg-video-siliconmotion (1:1.5.1-1) unstable; urgency=low + + [ Julien Cristau ] + * Add link to xserver-xorg-core bug script, so that bugreports contain + the user's config and log files. + * Bump dependency on xserver-xorg-core to >= 2:1.1.1-11, as previous + versions don't have the bug script. + + [ Timo Aaltonen ] + * Replaces/Conflicts: xserver-xorg-driver-siliconmotion. + + [ Brice Goglin ] + * New upstream version + + Pull more upstream fixes up-to 1a803a8f91a931c00106f9d3d41cfa5d74c19f55 + + Refresh 01_siliconmotion_rotate_option_disables_randr.diff + * Install the upstream changelog. + * Bump Build-Depends: xserver-xorg-dev to >= 2:1.2.99.902 + (needed to let xsfbs get access to serverminver). + * Add XS-Vcs-*. + * Add a link to www.X.org and a reference to the xf86-video-siliconmotion + module in the long description. + * Remove Fabio from uploaders with his permission. He's always welcome back. + + -- Julien Cristau Wed, 02 May 2007 15:08:45 +0200 + +xserver-xorg-video-siliconmotion (1:1.4.2-1) experimental; urgency=low + + * New upstream version + * Generate server dependencies automatically from the ABI + + -- David Nusinow Wed, 21 Feb 2007 22:54:34 -0500 + +xserver-xorg-video-siliconmotion (1:1.4.1-4) unstable; urgency=low + + * Add quilt to build-depends. Thanks lamont. closes: #388641 + * Bump standards version to 3.7.2.0. No changes needed. + + -- David Nusinow Thu, 21 Sep 2006 22:20:51 -0400 + +xserver-xorg-video-siliconmotion (1:1.4.1-3) unstable; urgency=low + + [ Steve Langasek ] + * Upload to unstable + + -- David Nusinow Mon, 18 Sep 2006 19:57:51 -0400 + +xserver-xorg-video-siliconmotion (1:1.4.1-2) experimental; urgency=low + + [ Drew Parsons ] + * Provides: xserver-xorg-video-1.0 not xserver-xorg-video. + + [ David Nusinow ] + * Bump xserver (build-)depends epochs to 2: to deal with botched + server upload + + -- David Nusinow Tue, 22 Aug 2006 23:46:40 +0000 + +xserver-xorg-video-siliconmotion (1:1.4.1-1) experimental; urgency=low + + [ Andres Salomon ] + * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build; + idempotency fix. + * Run dh_install w/ --list-missing. + + [ David Nusinow ] + * New upstream release + * Add dependency on xserver-xorg-core to >= 1:1.1.1. Bump version for + the build-dep on xserver-xorg-dev. + * Bump debhelper compat to 5 + + -- David Nusinow Tue, 15 Aug 2006 23:45:05 +0000 + +xserver-xorg-video-siliconmotion (1:1.3.1.5-3) unstable; urgency=low + + * Upload to modular + + -- David Nusinow Sun, 26 Mar 2006 20:25:54 -0500 + +xserver-xorg-video-siliconmotion (1:1.3.1.5-2) experimental; urgency=low + + * Port patches from trunk: + + general/083_siliconmotion_rotate_option_disables_randr.diff + + -- David Nusinow Sun, 26 Feb 2006 17:53:12 -0500 + +xserver-xorg-video-siliconmotion (1:1.3.1.5-1) experimental; urgency=low + + * First upload to Debian + * Change source package, package, and provides names to denote the + type of driver and that they are for xserver-xorg + + -- David Nusinow Fri, 13 Jan 2006 00:40:05 -0500 + +xserver-xorg-driver-siliconmotion (1:1.3.1.5-0ubuntu1) dapper; urgency=low + + * New upstream release. + * Add provides on xserver-xorg-driver. + + -- Daniel Stone Wed, 4 Jan 2006 20:02:33 +1100 + +xserver-xorg-driver-siliconmotion (1:1.3.1.4-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 19 Dec 2005 09:11:22 +1100 + +xserver-xorg-driver-siliconmotion (1:1.3.1.3-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 12 Dec 2005 13:07:11 +1100 + +xserver-xorg-driver-siliconmotion (1:1.3.1.2-0ubuntu2) dapper; urgency=low + + * Add missing Build-Depends (x11proto-core-dev, x11proto-fonts-dev, + x11proto-randr-dev, x11proto-render-dev). + + -- Daniel Stone Mon, 5 Dec 2005 12:57:32 +1100 + +xserver-xorg-driver-siliconmotion (1:1.3.1.2-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 22 Nov 2005 13:36:09 +1100 + +xserver-xorg-driver-siliconmotion (1:1.3.1.1-1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 25 Oct 2005 17:10:12 +1000 + +xserver-xorg-driver-siliconmotion (1:1.3.1-1) breezy; urgency=low + + * First xserver-xorg-driver-siliconmotion release. + + -- Daniel Stone Wed, 6 Jul 2005 15:48:17 +1000 --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/xserver-xorg-video-siliconmotion.install +++ xserver-xorg-video-siliconmotion-1.7.5/debian/xserver-xorg-video-siliconmotion.install @@ -0,0 +1,2 @@ +usr/lib/xorg/modules/drivers/*.so +usr/share/man/man4/* --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/copyright +++ xserver-xorg-video-siliconmotion-1.7.5/debian/copyright @@ -0,0 +1,75 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + +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. + +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. + +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. --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/watch +++ xserver-xorg-video-siliconmotion-1.7.5/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/xorg/driver/xf86-video-siliconmotion +version=3 +http://xorg.freedesktop.org/releases/individual/driver/ xf86-video-siliconmotion-(.*)\.tar\.gz --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/gbp.conf +++ xserver-xorg-video-siliconmotion-1.7.5/debian/gbp.conf @@ -0,0 +1,4 @@ +[DEFAULT] +upstream-branch=upstream-experimental +debian-branch=debian-experimental +pristine-tar = True --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/rules +++ xserver-xorg-video-siliconmotion-1.7.5/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f + +# Install in debian/tmp to retain control through dh_install: +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + +# Kill *.la files, and forget no-one: +override_dh_install: + find debian/tmp -name '*.la' -delete + dh_install --fail-missing + +# That's a plugin, use appropriate warning level: +override_dh_shlibdeps: + dh_shlibdeps -- --warnings=6 + +%: + dh $@ --with quilt,autoreconf,xsf --builddirectory=build/ --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/control +++ xserver-xorg-video-siliconmotion-1.7.5/debian/control @@ -0,0 +1,38 @@ +Source: xserver-xorg-video-siliconmotion +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: Cyril Brulebois +Build-Depends: + debhelper (>= 8), + dh-autoreconf, + pkg-config, + xserver-xorg-dev (>= 2:1.9.4), + x11proto-video-dev, + x11proto-xext-dev, + x11proto-core-dev, + x11proto-fonts-dev, + x11proto-randr-dev (>= 1.2), + x11proto-render-dev, + quilt, + xutils-dev (>= 1:7.5+4), +Standards-Version: 3.9.1 +Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-siliconmotion +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-siliconmotion.git + +Package: xserver-xorg-video-siliconmotion +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + ${xviddriver:Depends}, +Provides: + ${xviddriver:Provides} +Description: X.Org X server -- SiliconMotion display driver + This package provides the driver for the SiliconMotion Lynx and Cougar family + of chipsets, commonly found in laptops. + . + More information about X.Org can be found at: + + . + This package is built from the X.org xf86-video-siliconmotion driver module. --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/xserver-xorg-video-siliconmotion.links +++ xserver-xorg-video-siliconmotion-1.7.5/debian/xserver-xorg-video-siliconmotion.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-video-siliconmotion/script --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/compat +++ xserver-xorg-video-siliconmotion-1.7.5/debian/compat @@ -0,0 +1 @@ +8 --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/patches/98_sm712_CRT_enable.diff +++ xserver-xorg-video-siliconmotion-1.7.5/debian/patches/98_sm712_CRT_enable.diff @@ -0,0 +1,14 @@ +--- ../xx/xserver-xorg-video-siliconmotion-1.7.3/src/smi_driver.c 2010-03-09 23:39:23.451798382 +0800 ++++ xserver-xorg-video-siliconmotion-1.7.3/src/smi_driver.c 2010-03-10 10:36:58.835798871 +0800 +@@ -1805,6 +1797,11 @@ + pScreen->SaveScreen = SMI_SaveScreen; + pSmi->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = SMI_CloseScreen; ++ /* Added by Belcon to enable LCD Panel Control Select */ ++ if (pSmi->Chipset == SMI_LYNXEMplus) ++ { ++ VGAOUT8_INDEX (pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x22, 2); ++ } + + if ((IS_MSOC(pSmi) && + !xf86DPMSInit(pScreen, SMI501_DisplayPowerManagementSet, 0)) || --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/patches/series +++ xserver-xorg-video-siliconmotion-1.7.5/debian/patches/series @@ -0,0 +1,2 @@ +98_sm712_CRT_enable.diff +99_xf86-video-siliconmotion-1.7.3-fix-loongson.diff --- xserver-xorg-video-siliconmotion-1.7.5.orig/debian/patches/99_xf86-video-siliconmotion-1.7.3-fix-loongson.diff +++ xserver-xorg-video-siliconmotion-1.7.5/debian/patches/99_xf86-video-siliconmotion-1.7.3-fix-loongson.diff @@ -0,0 +1,160 @@ +rixed@happyleptic.org + 发送至 loongson-dev + +A patch for siliconmotion 1.7.3 is available in the bug trackers +at freedesktop.org, but a better one will be available monday. +Still, it lacks the most interresting part : the MMX pack function, +which should not be implemented there but probably either directly +in Xv or in pixman (and make Xv use pixman). + +So for now the simpliest is to fix these manually. +For the impatient I attach a patch against SM 1.7.3 +With it, 16bpp and AccelMethod = "XAA" works quite well. + +Just an ugly hack really. +diff -ur orig/src/smi_video.c mod/src/smi_video.c +--- orig/src/smi_video.c 2010-02-05 13:11:18.000000000 +0100 ++++ mod/src/smi_video.c 2010-02-05 13:20:36.000000000 +0100 +@@ -276,6 +276,7 @@ + XVIMAGE_YUY2, + XVIMAGE_YV12, + XVIMAGE_I420, ++ XVIMAGE_UYVY, + { + FOURCC_RV15, /* id */ + XvRGB, /* type */ +@@ -1462,6 +1463,117 @@ + LEAVE(); + } + ++static void myXVCopyYUV12ToPacked(const unsigned char *srcy, const unsigned char *srcv, const unsigned char *srcu, ++ unsigned char *dst, int srcPitchy, int srcPitchuv, int dstPitch, int h, int w) ++{ ++ int i, j; ++ unsigned char const *y, *u, *v; ++ int dstinc, yinc, uinc, vinc; ++ ++ y = srcy; ++ u = srcu; ++ v = srcv; ++ ++ dstinc = dstPitch - 2*w; ++ yinc = srcPitchy - w; ++ uinc = srcPitchuv - w/2; ++ vinc = srcPitchuv - w/2; ++ ++ for (i = 0; i < h; i++) { ++ asm ( ++// ".set arch=loongson2f\n\t" ++ ".set noreorder\n\t" ++ "move $8, %8 \n\t" ++ "1: \n\t" ++ "beqz $8, 2f \n\t" ++ "xor $f0, $f0, $f0 \n\t" ++ "ldc1 $f4, (%0) \n\t" ++ "punpcklbh $f2, $f4, $f0 \n\t" ++ "punpckhbh $f4, $f4, $f0 \n\t" ++ "ldc1 $f16, 8(%0) \n\t" ++ "punpcklbh $f14, $f16, $f0 \n\t" ++ "punpckhbh $f16, $f16, $f0 \n\t" ++ ++ "lwc1 $f8, (%1) \n\t" ++ "lwc1 $f12, (%2) \n\t" ++ "punpcklbh $f8, $f8, $f12 \n\t" ++ "punpcklbh $f6, $f0, $f8 \n\t" ++ "punpckhbh $f8, $f0, $f8 \n\t" ++ "lwc1 $f18, 4(%1) \n\t" ++ "lwc1 $f12, 4(%2) \n\t" ++ "punpcklbh $f18, $f18, $f12 \n\t" ++ "punpcklbh $f10, $f0, $f18 \n\t" ++ "punpckhbh $f12, $f0, $f18 \n\t" ++ ++ "or $f2, $f2, $f6 \n\t" ++ "or $f4, $f4, $f8 \n\t" ++ "or $f14, $f14, $f10 \n\t" ++ "or $f16, $f16, $f12 \n\t" ++ ++ "sdc1 $f2, (%3) \n\t" ++ "sdc1 $f4, 8(%3) \n\t" ++ "add %0, 16 \n\t" ++ "add %1, 8 \n\t" ++ "add %2, 8 \n\t" ++ "sdc1 $f14, 0x10(%3) \n\t" ++ "sdc1 $f16, 0x18(%3) \n\t" ++ "add $8, -1 \n\t" ++ "b 1b \n\t" ++ "add %3, 32 \n\t" ++ "2: \n\t" ++ ".set reorder\n\t" ++ : "=r" (y), "=r" (u), "=r" (v), "=r" (dst) ++ : "0" (y), "1" (u), "2" (v), "3" (dst), "r" (w>>4) ++ : "memory","$8" ++ ); ++ ++ asm ( ++// ".set arch=loongson2f\n\t" ++ ".set noreorder\n\t" ++ "move $8, %8 \n\t" ++ "1: \n\t" ++ "beqz $8, 2f \n\t" ++ "xor $f0, $f0, $f0 \n\t" ++ "ldc1 $f4, (%0) \n\t" ++ "punpcklbh $f2, $f4, $f0 \n\t" ++ "punpckhbh $f4, $f4, $f0 \n\t" ++ ++ "lwc1 $f8, (%1) \n\t" ++ "lwc1 $f12, (%2) \n\t" ++ "punpcklbh $f8, $f8, $f12 \n\t" ++ "punpcklbh $f6, $f0, $f8 \n\t" ++ "punpckhbh $f8, $f0, $f8 \n\t" ++ ++ "or $f2, $f2, $f6 \n\t" ++ "or $f4, $f4, $f8 \n\t" ++ ++ "sdc1 $f2, (%3) \n\t" ++ "sdc1 $f4, 8(%3) \n\t" ++ "add %0, 8 \n\t" ++ "add %1, 4 \n\t" ++ "add %2, 4 \n\t" ++ "add $8, -1 \n\t" ++ "b 1b \n\t" ++ "add %3, 16 \n\t" ++ "2:\n\t" ++ ".set reorder\n\t" ++ : "=r" (y), "=r" (u), "=r" (v), "=r" (dst) ++ : "0" (y), "1" (u), "2" (v), "3" (dst), "r" ((w&0xf)/8) ++ : "memory","$8" ++ ); ++ ++ for (j = (w&7)/2; j; j--) { ++ *dst++ = *y++; ++ *dst++ = *u++; ++ *dst++ = *y++; ++ *dst++ = *v++; ++ } ++ y += yinc; ++ u = (i%2) ? (u + uinc): (u - w/2); ++ v = (i%2) ? (v + vinc): (v - w/2); ++ dst += dstinc; ++ } ++} + + static int + SMI_PutImage( +@@ -1593,7 +1705,7 @@ + offset3 = tmp; + } + nLines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top; +- xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), ++ myXVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), + buf + offset2, buf + offset3, dstStart, + srcPitch, srcPitch2, dstPitch, nLines, + nPixels); +@@ -1793,6 +1905,7 @@ + WRITE_VPR(pSmi, 0x1C, offset >> 3); + WRITE_VPR(pSmi, 0x20, (pitch >> 3) | ((pitch >> 3) << 16)); + WRITE_VPR(pSmi, 0x24, (hstretch & 0xff00) | ((vstretch & 0xff00) >> 8)); ++ WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff)); + if (pSmi->Chipset == SMI_LYNXEMplus) { /* This one can store additional precision */ + WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff)); + }