Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Mon May 21 12:59:27 CEST 2007.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-05-17 22:45:15.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-05-21 10:48:05.252540000 +0200
@@ -1,0 +2,27 @@
+Mon May 21 10:43:39 CEST 2007 - sndirsch@suse.de
+
+- update ati driver to release 6.6.191:
+ * Fix regular/"xinerama"/zaphod dualhead mode
+ * radeon: fix up crtc debug dereference problem
+ * radeon: add support for enabling direct rendering on RS480
+ * radeon: fix build since patches for IBM don't actually build
+ * radeon: fix build on older server
+ * radeon: add support for DDC on some laptop chipsets
+ * radeon: another attempt at fixing the mergedfb refresh rate
+ * 9337: EDID modes do not participate in validation for CRT monitor
+ * 10205: Radeon driver's own mode validation code does not work properly
+ * Fixed typo in mode list generation.
+ * Fix crash if MergedFB and secondary head not found
+ * Fix inconsistent use of Mode lists.
+ * Set sync polarity restriction flags even for non-"digital separate"
+ monitors.
+ * Disable RMX for IBM Lewis server.
+ * radeon: Fix typo.
+ * radeon: Guard some MergedFB specific code with info->MergedFB tests.
+ * radeon: Don't shrink virtual size based on secondary modes.
+ * radeon: Always sort modes when adding to list.
+ * radeon: Link nearest modes by default for clone mode.
+- obsoletes bug-263199_radeon-mergedfb-crash.diff,
+ xf86-video-ati-6.6.191.diff
+
+-------------------------------------------------------------------
Old:
----
bug-263199_radeon-mergedfb-crash.diff
xf86-video-ati-6.6.191.diff
xf86-video-ati-6.6.191.tar.bz2
New:
----
xf86-video-ati-6.6.192.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.B14473/_old 2007-05-21 12:52:46.000000000 +0200
+++ /var/tmp/diff_new_pack.B14473/_new 2007-05-21 12:52:46.000000000 +0200
@@ -15,7 +15,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
URL: http://xorg.freedesktop.org/
Version: 7.2
-Release: 100
+Release: 102
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -25,7 +25,7 @@
Source0: xf86-video-apm-X11R7.1-1.1.1.tar.bz2
Source1: xf86-video-ark-X11R7.1-0.6.0.tar.bz2
Source2: xf86-video-ast-X11R7.1-0.81.0.tar.bz2
-Source3: xf86-video-ati-6.6.191.tar.bz2
+Source3: xf86-video-ati-6.6.192.tar.bz2
Source4: xf86-video-chips-X11R7.1-1.1.1.tar.bz2
Source5: xf86-video-cirrus-X11R7.1-1.1.0.tar.bz2
Source6: xf86-video-cyrix-X11R7.1-1.1.0.tar.bz2
@@ -85,8 +85,6 @@
Patch27: xf86-video-ati-mergedfb-dpi.diff
Patch28: xf86-video-ati.randr12.diff
Patch30: xf86-video-mga.randr12.diff
-Patch31: xf86-video-ati-6.6.191.diff
-Patch32: bug-263199_radeon-mergedfb-crash.diff
Patch33: bug-263199_radeon-autocrt.diff
%description
@@ -113,8 +111,6 @@
#%patch2 -p0
%patch18 -p1
%patch27 -p0
-%patch31 -p0
-%patch32 -p2
popd
pushd xf86-video-ati-*
%patch33 -p1
@@ -263,6 +259,30 @@
%{_mandir}/man4/*
%changelog
+* Mon May 21 2007 - sndirsch@suse.de
+- update ati driver to release 6.6.191:
+ * Fix regular/"xinerama"/zaphod dualhead mode
+ * radeon: fix up crtc debug dereference problem
+ * radeon: add support for enabling direct rendering on RS480
+ * radeon: fix build since patches for IBM don't actually build
+ * radeon: fix build on older server
+ * radeon: add support for DDC on some laptop chipsets
+ * radeon: another attempt at fixing the mergedfb refresh rate
+ * 9337: EDID modes do not participate in validation for CRT monitor
+ * 10205: Radeon driver's own mode validation code does not work properly
+ * Fixed typo in mode list generation.
+ * Fix crash if MergedFB and secondary head not found
+ * Fix inconsistent use of Mode lists.
+ * Set sync polarity restriction flags even for non-"digital separate"
+ monitors.
+ * Disable RMX for IBM Lewis server.
+ * radeon: Fix typo.
+ * radeon: Guard some MergedFB specific code with info->MergedFB tests.
+ * radeon: Don't shrink virtual size based on secondary modes.
+ * radeon: Always sort modes when adding to list.
+ * radeon: Link nearest modes by default for clone mode.
+- obsoletes bug-263199_radeon-mergedfb-crash.diff,
+ xf86-video-ati-6.6.191.diff
* Thu May 17 2007 - sndirsch@suse.de
- updated ATI RANDR1.2 driver (git 20070517)
* Thu May 17 2007 - sndirsch@suse.de
++++++ xf86-video-ati-6.6.191.tar.bz2 -> xf86-video-ati-6.6.192.tar.bz2 ++++++
++++ 22285 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/ChangeLog new/xf86-video-ati-6.6.192/ChangeLog
--- old/xf86-video-ati-6.6.191/ChangeLog 2007-03-27 08:58:28.000000000 +0200
+++ new/xf86-video-ati-6.6.192/ChangeLog 2007-05-21 00:12:31.000000000 +0200
@@ -1,3 +1,171 @@
+commit 09bfc8ed000f95ede5b73f2bad69edc1a4d9bac6
+Author: Alex Deucher
+Date: Sun May 20 18:06:22 2007 -0400
+
+ update to 6.6.192 for rc release
+
+commit 764cb73e8dec4040cdd418d249fc504399fca3ee
+Author: Alex Deucher
+Date: Sun May 20 17:26:26 2007 -0400
+
+ Fix regular/"xinerama"/zaphod dualhead mode
+
+ - logic in RADEONUnblank() was wrong
+ - Calling RADEONSetupConnectors() on second instance screwed up the port info
+ - still seem to be HW cursor issues with zaphod mode
+
+commit a3ee42207aab77d93655a82fdcb32be38268b85f
+Author: Dave Airlie
+Date: Wed Apr 25 09:52:22 2007 +1000
+
+ radeon: another attempt at fixing the mergedfb refresh rate
+
+ This attempts to keep it inside the 32-bit limit when multiplying things out
+ later in the randr tree.
+
+ Let me know if I screwed this up..
+
+commit 3828237200fc16d4d32664fb8358950c213d4897
+Author: Dave Airlie
+Date: Sun Apr 22 11:36:00 2007 +1000
+
+ radeon: add support for DDC on some laptop chipsets
+
+ I noticed fglrx has DDC for the panel in the rs480 laptop, however radeon
+ didn't pick it up, so I valgrinded fglrx and spotted 0x1a0/0x1a4 accesses
+ I actually noticed this before from the BIOS but never figured it out.
+
+ So now I get DDC from the LCD on this laptop.
+
+commit c81ed9bd7b37c9d02141d10f6c7bad3d0c57032f
+Author: Dave Airlie
+Date: Sat Apr 21 18:58:40 2007 +1000
+
+ radeon: fix build on older server
+
+commit 406eec71116a58d42288a7f1c809a92d5bda7350
+Author: Dave Airlie
+Date: Sat Apr 21 18:56:28 2007 +1000
+
+ radeon: fix build since patches for IBM don't actually build
+
+commit ad119960095b4b64f4c6793f65950c9967ce4989
+Author: Matthias Hopf
+Date: Thu Apr 19 11:54:46 2007 +0200
+
+ Disable RMX for IBM Lewis server.
+
+ Due to the hardware layout RMX ddc_mode has to be set.
+ If ddc_mode is set, RADEONValdiateFPModes() shouldn't be called.
+ Bugzilla #10620 (3).
+
+commit 16ef77df4ebaf5ea13baa82972aaf98e71ac32ee
+Author: Matthias Hopf
+Date: Wed Apr 18 17:36:15 2007 +0200
+
+ Set sync polarity restriction flags even for non-"digital separate" monitors.
+
+ According to Lisa Wu, this is correct regarding the VESA EEDID standard.
+ Bugzilla #10620 (2), original patch by Lisa Wu @ATI
+
+commit 0abce69f0d826a7ca1a41d963cd4730b6e01c145
+Author: Matthias Hopf
+Date: Wed Apr 18 17:32:52 2007 +0200
+
+ Fix inconsistent use of Mode lists.
+
+ Some scans used to only check every second entry, some stopped at the entry
+ before the last entry.
+ Bugzilla #10620 (1), original patch by Lisa Wu @ATI
+
+commit aea801cf9a5ce519a53d6fffd9a3a2e526ec79ea
+Author: Matthias Hopf
+Date: Fri Apr 13 16:16:05 2007 +0200
+
+ Fix crash if MergedFB and secondary head not found
+
+ If the secondary head isn't found (Monitor unplugged etc.) but MergedFB
+ is configured, the driver segfaults because it tries to access the mode
+ list private structures, which are not filled in.
+
+commit 07ddffb32e6293c77b32c94b87ec468caef3d6f5
+Author: Matthias Hopf
+Date: Wed Apr 11 14:36:51 2007 +0200
+
+ Fixed typo in mode list generation.
+
+commit 4effa67ea75736a31b9e78a7b35acf74b067c43e
+Author: Dave Airlie
+Date: Mon Apr 9 22:08:31 2007 +1000
+
+ radeon: add support for enabling direct rendering on RS480
+
+ Thanks to Matthew Garrett and Ubuntu for the hw loan to get this working.
+
+ Still no 3D driver support but at least you should get CP acceleration for
+ 2D now.
+
+commit 6b25a4c48796e022a093f3072574ffe9709ecaf4
+Author: Michel Dänzer
+Date: Wed Apr 4 10:47:29 2007 +0200
+
+ radeon: Link nearest modes by default for clone mode.
+
+ This makes sure all modes of both CRTCs will be available by default with
+ MergedFB.
+
+commit 3c892f163ec1fa9be6e733aab091c9b718f41efc
+Author: Michel Dänzer
+Date: Wed Apr 4 09:52:37 2007 +0200
+
+ radeon: Always sort modes when adding to list.
+
+ This makes sure mode lists will always be sorted from larger to smaller.
+
+commit 3a8190ccc79969925257e7b980b78d79053d208d
+Author: Michel Dänzer
+Date: Wed Apr 4 09:47:07 2007 +0200
+
+ radeon: Don't shrink virtual size based on secondary modes.
+
+commit 9b1e97284ce185d358ca756a235d2cee346fa53f
+Author: Henry Zhao
+Date: Sat Mar 31 23:01:52 2007 -0800
+
+ 10205: Radeon driver's own mode validation code does not work properly
+
+commit 9c2dcd19be8fc2cc29e637d1e9748e66196e3900
+Author: Henry Zhao
+Date: Sat Mar 31 20:10:03 2007 -0800
+
+ 9337: EDID modes do not participate in validation for CRT monitor
+
+commit 1acd6d6fa42acec07fb11aeb189f492ddb021cb4
+Author: Michel Dänzer
+Date: Fri Mar 30 11:06:10 2007 +0200
+
+ radeon: Guard some MergedFB specific code with info->MergedFB tests.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10442 .
+
+commit 1a71106c0e4fe5f650239dc694163fdf52d33663
+Author: Michel Dänzer
+Date: Tue Mar 27 10:13:21 2007 +0200
+
+ radeon: Fix typo.
+
+commit f87e57d4d773a019d1cc8a10425c57480430f6a4
+Author: Dave Airlie
+Date: Tue Mar 27 18:08:54 2007 +1000
+
+ radeon: fix up crtc debug dereference problem
+
+commit 66b4a571a4e7960da6807d3f30955aa08e89ccc6
+Author: Dave Airlie
+Date: Tue Mar 27 17:00:37 2007 +1000
+
+ update number to 6.6.191 for rc release
+
commit fca30a6b581cb6c1466ab1bc316df8fed5d82b60
Author: Alex Deucher
Date: Mon Mar 26 23:26:51 2007 -0400
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/compile new/xf86-video-ati-6.6.192/compile
--- old/xf86-video-ati-6.6.191/compile 2006-11-17 08:30:49.000000000 +0100
+++ new/xf86-video-ati-6.6.192/compile 1970-01-01 01:00:00.000000000 +0100
@@ -1,107 +0,0 @@
-#! /bin/sh
-
-# Wrapper for compilers which do not understand `-c -o'.
-
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-# Written by Tom Tromey .
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Usage:
-# compile PROGRAM [ARGS]...
-# `-o FOO.o' is removed from the args passed to the actual compile.
-
-# Usage statement added by Billy Biggs .
-if [ -z $1 ]; then
- echo "Wrapper for compilers which do not understand '-c -o'."
- echo "usage: compile PROGRAM [ARGS]..."
- echo "'-o FOO.o' is removed from the args passed to the actual compile."
- exit 1
-fi
-
-prog=$1
-shift
-
-ofile=
-cfile=
-args=
-while test $# -gt 0; do
- case "$1" in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we do something ugly here.
- ofile=$2
- shift
- case "$ofile" in
- *.o | *.obj)
- ;;
- *)
- args="$args -o $ofile"
- ofile=
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- args="$args $1"
- ;;
- *)
- args="$args $1"
- ;;
- esac
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$prog" $args
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir $lockdir > /dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir $lockdir; exit 1" 1 2 15
-
-# Run the compile.
-"$prog" $args
-status=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-fi
-
-rmdir $lockdir
-exit $status
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/configure.ac new/xf86-video-ati-6.6.192/configure.ac
--- old/xf86-video-ati-6.6.191/configure.ac 2007-03-27 08:58:58.000000000 +0200
+++ new/xf86-video-ati-6.6.192/configure.ac 2007-05-21 00:04:14.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-ati],
- 6.6.191,
+ 6.6.192,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-ati)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/missing new/xf86-video-ati-6.6.192/missing
--- old/xf86-video-ati-6.6.191/missing 2006-11-17 08:30:48.000000000 +0100
+++ new/xf86-video-ati-6.6.192/missing 2007-04-27 05:21:26.000000000 +0200
@@ -1,6 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -15,8 +19,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -29,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -38,18 +44,24 @@
configure_ac=configure.in
fi
-case "$1" in
+msg="missing on your system"
+
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-h|--h|--he|--hel|--help)
echo "\
@@ -67,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -74,11 +87,15 @@
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to ."
+ exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing 0.4 - GNU automake"
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
;;
-*)
@@ -87,14 +104,44 @@
exit 1
;;
- aclocal*)
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
fi
+ ;;
+esac
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+ aclocal*)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
@@ -102,13 +149,8 @@
;;
autoconf)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
@@ -116,13 +158,8 @@
;;
autoheader)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
@@ -130,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -140,13 +177,8 @@
;;
automake*)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
@@ -156,20 +188,15 @@
;;
autom4te)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -185,74 +212,67 @@
bison|yacc)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -262,32 +282,36 @@
;;
makeinfo)
- if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
- # We have makeinfo, but it failed.
- exit 1
- fi
-
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
touch $file
;;
tar)
shift
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
@@ -300,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
@@ -323,8 +347,8 @@
*)
echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
@@ -334,3 +358,10 @@
esac
exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_bios.c new/xf86-video-ati-6.6.192/src/radeon_bios.c
--- old/xf86-video-ati-6.6.191/src/radeon_bios.c 2007-01-04 00:23:18.000000000 +0100
+++ new/xf86-video-ati-6.6.192/src/radeon_bios.c 2007-05-19 05:47:32.000000000 +0200
@@ -181,6 +181,9 @@
case RADEON_GPIO_CRT2_DDC:
pRADEONEnt->PortInfo[crtc]->DDCType = DDC_CRT2;
break;
+ case RADEON_LCD_GPIO_MASK:
+ pRADEONEnt->PortInfo[crtc]->DDCType = DDC_LCD;
+ break;
default:
pRADEONEnt->PortInfo[crtc]->DDCType = DDC_NONE_DETECTED;
break;
@@ -290,7 +293,7 @@
if ((tmp0 = RADEON_BIOS16(tmp + 0x15))) {
if ((tmp1 = RADEON_BIOS8(tmp0+2) & 0x07)) {
pRADEONEnt->PortInfo[0]->DDCType = tmp1;
- if (pRADEONEnt->PortInfo[0]->DDCType > DDC_CRT2) {
+ if (pRADEONEnt->PortInfo[0]->DDCType > DDC_LCD) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Unknown DDCType %d found\n",
pRADEONEnt->PortInfo[0]->DDCType);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_display.c new/xf86-video-ati-6.6.192/src/radeon_display.c
--- old/xf86-video-ati-6.6.191/src/radeon_display.c 2007-03-27 08:55:57.000000000 +0200
+++ new/xf86-video-ati-6.6.192/src/radeon_display.c 2007-05-20 23:20:41.000000000 +0200
@@ -75,12 +75,13 @@
"External"
};
-const char *DDCTypeName[5] = {
+const char *DDCTypeName[6] = {
"NONE",
"MONID",
"DVI_DDC",
"VGA_DDC",
- "CRT2_DDC"
+ "CRT2_DDC",
+ "LCD_DDC"
};
const char *DACTypeName[3] = {
@@ -166,10 +167,16 @@
unsigned char *RADEONMMIO = info->MMIO;
/* Get the result */
- val = INREG(info->DDCReg);
- *Clock = (val & RADEON_GPIO_Y_1) != 0;
- *data = (val & RADEON_GPIO_Y_0) != 0;
+ if (info->DDCReg == RADEON_LCD_GPIO_MASK) {
+ val = INREG(info->DDCReg+4);
+ *Clock = (val & (1<<13)) != 0;
+ *data = (val & (1<<12)) != 0;
+ } else {
+ val = INREG(info->DDCReg);
+ *Clock = (val & RADEON_GPIO_Y_1) != 0;
+ *data = (val & RADEON_GPIO_Y_0) != 0;
+ }
}
static void RADEONI2CPutBits(I2CBusPtr b, int Clock, int data)
@@ -179,11 +186,17 @@
unsigned long val;
unsigned char *RADEONMMIO = info->MMIO;
- val = INREG(info->DDCReg) & (CARD32)~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1);
- val |= (Clock ? 0:RADEON_GPIO_EN_1);
- val |= (data ? 0:RADEON_GPIO_EN_0);
- OUTREG(info->DDCReg, val);
-
+ if (info->DDCReg == RADEON_LCD_GPIO_MASK) {
+ val = INREG(info->DDCReg) & (CARD32)~((1<<12) | (1<<13));
+ val |= (Clock ? 0:(1<<13));
+ val |= (data ? 0:(1<<12));
+ OUTREG(info->DDCReg, val);
+ } else {
+ val = INREG(info->DDCReg) & (CARD32)~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1);
+ val |= (Clock ? 0:RADEON_GPIO_EN_1);
+ val |= (data ? 0:RADEON_GPIO_EN_0);
+ OUTREG(info->DDCReg, val);
+ }
/* read back to improve reliability on some cards. */
val = INREG(info->DDCReg);
}
@@ -562,13 +575,16 @@
case DDC_CRT2:
info->DDCReg = RADEON_GPIO_CRT2_DDC;
break;
+ case DDC_LCD:
+ info->DDCReg = RADEON_LCD_GPIO_MASK;
+ break;
default:
info->DDCReg = DDCReg;
return MT_NONE;
}
/* Read and output monitor info using DDC2 over I2C bus */
- if (info->pI2CBus && info->ddc2) {
+ if (info->pI2CBus && info->ddc2 && (info->DDCReg != RADEON_LCD_GPIO_MASK)) {
OUTREG(info->DDCReg, INREG(info->DDCReg) &
(CARD32)~(RADEON_GPIO_A_0 | RADEON_GPIO_A_1));
@@ -620,15 +636,17 @@
OUTREG(info->DDCReg, INREG(info->DDCReg) | RADEON_GPIO_EN_1);
OUTREG(info->DDCReg, INREG(info->DDCReg) | RADEON_GPIO_EN_0);
usleep(15000);
- if(*MonInfo) break;
+ if(*MonInfo) break;
}
+ } else if (info->pI2CBus && info->ddc2 && info->DDCReg == RADEON_LCD_GPIO_MASK) {
+ *MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, info->pI2CBus);
} else {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "DDC2/I2C is not properly initialized\n");
MonType = MT_NONE;
}
OUTREG(info->DDCReg, INREG(info->DDCReg) &
- ~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1));
+ ~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1));
if (*MonInfo) {
if ((*MonInfo)->rawData[0x14] & 0x80) {
@@ -755,13 +773,11 @@
info->VSyncWidth = d_timings->v_sync_width;
info->VBlank = d_timings->v_blanking;
info->Flags = (d_timings->interlaced ? V_INTERLACE : 0);
- if (d_timings->sync == 3) {
- switch (d_timings->misc) {
- case 0: info->Flags |= V_NHSYNC | V_NVSYNC; break;
- case 1: info->Flags |= V_PHSYNC | V_NVSYNC; break;
- case 2: info->Flags |= V_NHSYNC | V_PVSYNC; break;
- case 3: info->Flags |= V_PHSYNC | V_PVSYNC; break;
- }
+ switch (d_timings->misc) {
+ case 0: info->Flags |= V_NHSYNC | V_NVSYNC; break;
+ case 1: info->Flags |= V_PHSYNC | V_NVSYNC; break;
+ case 2: info->Flags |= V_NHSYNC | V_PVSYNC; break;
+ case 3: info->Flags |= V_PHSYNC | V_PVSYNC; break;
}
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Panel infos found from DDC detailed: %dx%d\n",
info->PanelXRes, info->PanelYRes);
@@ -776,7 +792,7 @@
for (j = 0; j < 8; j++) {
if ((info->PanelXRes < ddc->timings2[j].hsize) &&
(info->PanelYRes < ddc->timings2[j].vsize)) {
- for (p = pScrn->monitor->Modes; p && p->next; p = p->next->next) {
+ for (p = pScrn->monitor->Modes; p; p = p->next) {
if ((ddc->timings2[j].hsize == p->HDisplay) &&
(ddc->timings2[j].vsize == p->VDisplay)) {
float refresh =
@@ -2119,7 +2135,9 @@
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
RADEONConnector *pPort;
- if (!pRADEONEnt->HasSecondary || (info->IsSwitching && !info->IsSecondary)) {
+ if (!pRADEONEnt->HasSecondary ||
+ (pRADEONEnt->HasSecondary && !info->IsSwitching) ||
+ (info->IsSwitching && (!info->IsSecondary))) {
pPort = RADEONGetCrtcConnector(pScrn, 1);
if (pPort)
RADEONUnblankSet(pScrn, pPort);
@@ -2142,7 +2160,8 @@
}
}
- if (info->IsSwitching && info->IsSecondary) {
+ if ((pRADEONEnt->HasSecondary && !info->IsSwitching) ||
+ (info->IsSwitching && info->IsSecondary)) {
pPort = RADEONGetCrtcConnector(pScrn, 2);
if (pPort)
RADEONUnblankSet(pScrn, pPort);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_driver.c new/xf86-video-ati-6.6.192/src/radeon_driver.c
--- old/xf86-video-ati-6.6.191/src/radeon_driver.c 2007-03-27 08:56:13.000000000 +0200
+++ new/xf86-video-ati-6.6.192/src/radeon_driver.c 2007-05-20 23:20:14.000000000 +0200
@@ -953,7 +953,8 @@
if (ref_div < 2) {
CARD32 tmp;
tmp = INPLL(pScrn, RADEON_PPLL_REF_DIV);
- if (IS_R300_VARIANT || (info->ChipFamily == CHIP_FAMILY_RS300))
+ if (IS_R300_VARIANT || (info->ChipFamily == CHIP_FAMILY_RS300)
+ || (info->ChipFamily == CHIP_FAMILY_RS400))
ref_div = (tmp & R300_PPLL_REF_DIV_ACC_MASK) >>
R300_PPLL_REF_DIV_ACC_SHIFT;
else
@@ -1033,7 +1034,8 @@
CARD32 tmp;
tmp = INPLL(pScrn, RADEON_PPLL_REF_DIV);
if (IS_R300_VARIANT ||
- (info->ChipFamily == CHIP_FAMILY_RS300)) {
+ (info->ChipFamily == CHIP_FAMILY_RS300) ||
+ (info->ChipFamily == CHIP_FAMILY_RS400)) {
pll->reference_div = (tmp & R300_PPLL_REF_DIV_ACC_MASK) >> R300_PPLL_REF_DIV_ACC_SHIFT;
} else {
pll->reference_div = tmp & RADEON_PPLL_REF_DIV_MASK;
@@ -1903,10 +1905,15 @@
}
}
+
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s card detected\n",
(info->cardType==CARD_PCI) ? "PCI" :
(info->cardType==CARD_PCIE) ? "PCIE" : "AGP");
+ /* treat PCIE IGP cards as PCI */
+ if (info->cardType == CARD_PCIE && info->IsIGP)
+ info->cardType = CARD_PCI;
+
if ((s = xf86GetOptValString(info->Options, OPTION_BUS_TYPE))) {
if (strcmp(s, "AGP") == 0) {
info->cardType = CARD_AGP;
@@ -2022,15 +2029,19 @@
xf86ReturnOptValBool(info->Options, OPTION_DDC_MODE, FALSE);
/* don't use RMX if we have a dual-tmds panels */
-
if ((connector = RADEONGetCrtcConnector(pScrn, 2)))
if (connector->MonType == MT_DFP)
info->ddc_mode = TRUE;
/* don't use RMX if we are Dell Server */
if (info->IsDellServer)
- {
info->ddc_mode = TRUE;
+ /* IBM Lewis server have troubles using the on-chip RMX mode */
+ if (info->ChipFamily == CHIP_FAMILY_RV100 && !pRADEONEnt->HasCRTC2 && pRADEONEnt->PortInfo[0]->MonInfo) {
+ struct vendor *ven = &pRADEONEnt->PortInfo[0]->MonInfo->vendor;
+ if (ven && ven->prod_id == 0x029a && ven->serial == 0x01010101)
+ info->ddc_mode = TRUE;
}
+
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Validating modes on %s head ---------\n",
info->IsSecondary ? "Secondary" : "Primary");
@@ -2125,7 +2136,7 @@
* 'stretched' from their native mode.
*/
if (info->DisplayType == MT_CRT && !info->ddc_mode) {
-
+ xf86SetDDCproperties(pScrn, pScrn->monitor->DDC);
modesFound =
xf86ValidateModes(pScrn,
pScrn->monitor->Modes,
@@ -2212,7 +2223,7 @@
pScrn->display->virtualY,
info->FbMapSize,
LOOKUP_BEST_REFRESH);
- else if (!info->IsSecondary)
+ else if (!info->IsSecondary && !info->ddc_mode)
modesFound = RADEONValidateFPModes(pScrn, pScrn->display->modes);
}
}
@@ -2247,7 +2258,7 @@
/* If we have 2 screens from the config file, we don't need
* to do clone thing, let each screen handles one head.
*/
- if (!pRADEONEnt->HasSecondary) {
+ if (info->MergedFB) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Validating CRTC2 modes for MergedFB ------------ \n");
@@ -2273,7 +2284,7 @@
if (pRADEONEnt->HasCRTC2) {
- if(pRADEONEnt->Controller[1]->binding == 1) {
+ if(pRADEONEnt->Controller[1]->binding == 1 && info->MergedFB) {
xf86SetCrtcForModes(info->CRT2pScrn, INTERLACE_HALVE_V);
@@ -2321,7 +2332,11 @@
}
}
+ else
+ info->MergedFB = FALSE;
}
+ else
+ info->MergedFB = FALSE;
if (info->MergedFB) {
/* If no virtual dimension was given by the user,
@@ -2526,18 +2541,6 @@
}
}
- if (info->Chipset == PCI_CHIP_RS400_5A41 ||
- info->Chipset == PCI_CHIP_RS400_5A42 ||
- info->Chipset == PCI_CHIP_RC410_5A61 ||
- info->Chipset == PCI_CHIP_RC410_5A62 ||
- info->Chipset == PCI_CHIP_RS480_5954 ||
- info->Chipset == PCI_CHIP_RS480_5955 ||
- info->Chipset == PCI_CHIP_RS482_5974 ||
- info->Chipset == PCI_CHIP_RS482_5975) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Direct rendering broken on XPRESS 200 and 200M\n");
- return FALSE;
- }
if (!xf86ReturnOptValBool(info->Options, OPTION_DRI, TRUE)) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -2564,6 +2567,24 @@
info->pKernelDRMVersion->version_minor,
info->pKernelDRMVersion->version_patchlevel);
+ if (info->Chipset == PCI_CHIP_RS400_5A41 ||
+ info->Chipset == PCI_CHIP_RS400_5A42 ||
+ info->Chipset == PCI_CHIP_RC410_5A61 ||
+ info->Chipset == PCI_CHIP_RC410_5A62 ||
+ info->Chipset == PCI_CHIP_RS480_5954 ||
+ info->Chipset == PCI_CHIP_RS480_5955 ||
+ info->Chipset == PCI_CHIP_RS482_5974 ||
+ info->Chipset == PCI_CHIP_RS482_5975) {
+
+ if (info->pKernelDRMVersion->version_minor < 27) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Direct rendering broken on XPRESS 200 and 200M with DRI less than 1.27\n");
+ return FALSE;
+ }
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Direct rendering experimental on RS400/Xpress 200 enabled\n");
+ }
+
if (xf86ReturnOptValBool(info->Options, OPTION_CP_PIO, FALSE)) {
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forcing CP into PIO mode\n");
info->CPMode = RADEON_DEFAULT_CP_PIO_MODE;
@@ -2950,7 +2971,9 @@
RADEONGetBIOSInfo(pScrn, pInt10);
- RADEONSetupConnectors(pScrn);
+ if (!info->IsSecondary) {
+ RADEONSetupConnectors(pScrn);
+ }
RADEONMapControllers(pScrn);
RADEONGetClockInfo(pScrn);
@@ -4734,7 +4757,8 @@
RADEONPllErrataAfterIndex(info);
if (IS_R300_VARIANT ||
- (info->ChipFamily == CHIP_FAMILY_RS300)) {
+ (info->ChipFamily == CHIP_FAMILY_RS300) ||
+ (info->ChipFamily == CHIP_FAMILY_RS400)) {
if (restore->ppll_ref_div & R300_PPLL_REF_DIV_ACC_MASK) {
/* When restoring console mode, use saved PPLL_REF_DIV
* setting.
@@ -6333,9 +6357,10 @@
ScrnInfoPtr pScrn0 = NULL;
#if RADEON_DEBUG
- ErrorF("%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
+ if (crtc1 && (crtc_mask & 1)) {
+ ErrorF("%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
crtc1->name,
- dot_clock,
+ crtc1->Clock/1000.0,
crtc1->HDisplay,
crtc1->HSyncStart,
@@ -6348,40 +6373,44 @@
crtc1->VTotal,
pScrn->depth,
pScrn->bitsPerPixel);
- if (crtc1->Flags & V_DBLSCAN) ErrorF(" D");
- if (crtc1->Flags & V_CSYNC) ErrorF(" C");
- if (crtc1->Flags & V_INTERLACE) ErrorF(" I");
- if (crtc1->Flags & V_PHSYNC) ErrorF(" +H");
- if (crtc1->Flags & V_NHSYNC) ErrorF(" -H");
- if (crtc1->Flags & V_PVSYNC) ErrorF(" +V");
- if (crtc1->Flags & V_NVSYNC) ErrorF(" -V");
- ErrorF("\n");
- ErrorF("%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
- crtc1->name,
- crtc1->Clock/1000.0,
-
- crtc1->CrtcHDisplay,
- crtc1->CrtcHSyncStart,
- crtc1->CrtcHSyncEnd,
- crtc1->CrtcHTotal,
-
- crtc1->CrtcVDisplay,
- crtc1->CrtcVSyncStart,
- crtc1->CrtcVSyncEnd,
- crtc1->CrtcVTotal,
+ if (crtc1->Flags & V_DBLSCAN) ErrorF(" D");
+ if (crtc1->Flags & V_CSYNC) ErrorF(" C");
+ if (crtc1->Flags & V_INTERLACE) ErrorF(" I");
+ if (crtc1->Flags & V_PHSYNC) ErrorF(" +H");
+ if (crtc1->Flags & V_NHSYNC) ErrorF(" -H");
+ if (crtc1->Flags & V_PVSYNC) ErrorF(" +V");
+ if (crtc1->Flags & V_NVSYNC) ErrorF(" -V");
+ ErrorF("\n");
+ }
+ if (crtc2 && (crtc_mask & 2)) {
+ ErrorF("%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
+ crtc2->name,
+ crtc2->Clock/1000.0,
+
+ crtc2->CrtcHDisplay,
+ crtc2->CrtcHSyncStart,
+ crtc2->CrtcHSyncEnd,
+ crtc2->CrtcHTotal,
+
+ crtc2->CrtcVDisplay,
+ crtc2->CrtcVSyncStart,
+ crtc2->CrtcVSyncEnd,
+ crtc2->CrtcVTotal,
pScrn->depth,
pScrn->bitsPerPixel);
- if (crtc1->Flags & V_DBLSCAN) ErrorF(" D");
- if (crtc1->Flags & V_CSYNC) ErrorF(" C");
- if (crtc1->Flags & V_INTERLACE) ErrorF(" I");
- if (crtc1->Flags & V_PHSYNC) ErrorF(" +H");
- if (crtc1->Flags & V_NHSYNC) ErrorF(" -H");
- if (crtc1->Flags & V_PVSYNC) ErrorF(" +V");
- if (crtc1->Flags & V_NVSYNC) ErrorF(" -V");
- ErrorF("\n");
+ if (crtc2->Flags & V_DBLSCAN) ErrorF(" D");
+ if (crtc2->Flags & V_CSYNC) ErrorF(" C");
+ if (crtc2->Flags & V_INTERLACE) ErrorF(" I");
+ if (crtc2->Flags & V_PHSYNC) ErrorF(" +H");
+ if (crtc2->Flags & V_NHSYNC) ErrorF(" -H");
+ if (crtc2->Flags & V_PVSYNC) ErrorF(" +V");
+ if (crtc2->Flags & V_NVSYNC) ErrorF(" -V");
+ ErrorF("\n");
+ }
#endif
- info->Flags = crtc1->Flags;
+ if (crtc1 && (crtc_mask & 1))
+ info->Flags = crtc1->Flags;
RADEONInitMemMapRegisters(pScrn, save, info);
RADEONInitCommonRegisters(save, info);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_mergedfb.c new/xf86-video-ati-6.6.192/src/radeon_mergedfb.c
--- old/xf86-video-ati-6.6.191/src/radeon_mergedfb.c 2007-01-04 00:23:18.000000000 +0100
+++ new/xf86-video-ati-6.6.192/src/radeon_mergedfb.c 2007-05-19 05:47:32.000000000 +0200
@@ -215,8 +215,13 @@
* extension to allow selecting among a number of modes whose merged result
* looks identical but consists of different modes for CRT1 and CRT2
*/
- mode->VRefresh = (float)((i->Clock * 1000.0 / i->HTotal / i->VTotal) * 100 +
- (j->Clock * 1000.0 / j->HTotal / j->VTotal));
+ {
+ float ref1, ref2;
+ ref1 = ((float)i->Clock * 100.0 / i->HTotal / i->VTotal) * 50.0;
+ ref2 = ((float)j->Clock * 100.0 / j->HTotal / j->VTotal) / 2.0;
+
+ mode->VRefresh = (float) ref1 + ref2;
+ }
mode->Clock = (int)(mode->VRefresh * 0.001 * mode->HTotal * mode->VTotal);
@@ -389,7 +394,7 @@
if(srel != radeonClone) {
if(mode3 && mode4 && !info->NonRect) {
mode1 = mode3;
- mode2 = mode2;
+ mode2 = mode4;
}
}
@@ -536,12 +541,33 @@
DisplayModePtr p, q, result = NULL;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Clone mode, list all common modes\n");
- for (p = i; p->next != i; p = p->next)
- for (q = j; q->next != j; q = q->next)
- if ((p->HDisplay == q->HDisplay) &&
- (p->VDisplay == q->VDisplay))
- result = RADEONCopyModeNLink(pScrn, result, p, q, srel);
+ "Clone mode, linking all nearest modes\n");
+
+ p = i;
+ q = j;
+
+ result = RADEONCopyModeNLink(pScrn, result, p, q, srel);
+
+ while (p->next != i || q->next != j) {
+ DisplayModePtr next_p = p;
+
+ if (q->next == j || (p->next != i &&
+ (p->HDisplay > q->HDisplay ||
+ (p->HDisplay == q->HDisplay &&
+ p->VDisplay >= q->VDisplay))))
+ next_p = p->next;
+
+ if (p->next == i || (q->next != j &&
+ (q->HDisplay > p->HDisplay ||
+ (q->HDisplay == p->HDisplay &&
+ q->VDisplay >= p->VDisplay))))
+ q = q->next;
+
+ p = next_p;
+
+ result = RADEONCopyModeNLink(pScrn, result, p, q, srel);
+ }
+
return result;
} else {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -581,8 +607,10 @@
info->CRT1XOffs = info->CRT2XOffs = 0;
maxh -= (info->CRT1XOffs + info->CRT2XOffs);
}
- pScrn->virtualX = maxh;
- pScrn->displayWidth = maxh;
+ if (maxh > pScrn->virtualX)
+ pScrn->virtualX = maxh;
+ if (maxh > pScrn->displayWidth)
+ pScrn->displayWidth = maxh;
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, str, "width", maxh);
} else {
if(maxh < pScrn->display->virtualX) {
@@ -592,7 +620,8 @@
}
if(!(pScrn->display->virtualY)) {
- pScrn->virtualY = maxv;
+ if (maxv > pScrn->virtualY)
+ pScrn->virtualY = maxv;
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, str, "height", maxv);
} else {
if(maxv < pScrn->display->virtualY) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_modes.c new/xf86-video-ati-6.6.192/src/radeon_modes.c
--- old/xf86-video-ati-6.6.191/src/radeon_modes.c 2007-03-27 08:55:57.000000000 +0200
+++ new/xf86-video-ati-6.6.192/src/radeon_modes.c 2007-05-19 05:47:32.000000000 +0200
@@ -86,10 +86,16 @@
p = *last;
while (p) {
- if ((((*new)->HDisplay < p->HDisplay) &&
+ if (((*new)->HDisplay < p->HDisplay) ||
+ (((*new)->HDisplay == p->HDisplay) &&
((*new)->VDisplay < p->VDisplay)) ||
(((*new)->HDisplay == p->HDisplay) &&
((*new)->VDisplay == p->VDisplay) &&
+ ((*new)->type < p->type) &&
+ !(((*new)->type == M_T_USERDEF) || (!(*new)->type))) ||
+ (((*new)->HDisplay == p->HDisplay) &&
+ ((*new)->VDisplay == p->VDisplay) &&
+ ((*new)->type == p->type) &&
((*new)->Clock < p->Clock))) {
if (p->next) p->next->prev = *new;
@@ -180,18 +186,17 @@
new->status = MODE_OK;
#ifdef M_T_PREFERRED
if (PREFERRED_TIMING_MODE(ddc->features.msc))
- new->type = M_T_PREFERRED;
- else
+ new->type |= M_T_PREFERRED;
+#endif
+#ifdef M_T_DRIVER
+ new->type |= M_T_DRIVER;
#endif
- new->type = M_T_DEFAULT;
- if (d_timings->sync == 3) {
- switch (d_timings->misc) {
- case 0: new->Flags |= V_NHSYNC | V_NVSYNC; break;
- case 1: new->Flags |= V_PHSYNC | V_NVSYNC; break;
- case 2: new->Flags |= V_NHSYNC | V_PVSYNC; break;
- case 3: new->Flags |= V_PHSYNC | V_PVSYNC; break;
- }
+ switch (d_timings->misc) {
+ case 0: new->Flags |= V_NHSYNC | V_NVSYNC; break;
+ case 1: new->Flags |= V_PHSYNC | V_NVSYNC; break;
+ case 2: new->Flags |= V_NHSYNC | V_PVSYNC; break;
+ case 3: new->Flags |= V_PHSYNC | V_PVSYNC; break;
}
count++;
@@ -207,8 +212,10 @@
for (j = 0; j < 8; j++) {
if (ddc->timings2[j].hsize == 0 || ddc->timings2[j].vsize == 0)
continue;
- for (p = pScrn->monitor->Modes; p && p->next; p = p->next->next) {
+ for (p = pScrn->monitor->Modes; p; p = p->next) {
/* Ignore all double scan modes */
+ if (p->Flags & V_DBLSCAN)
+ continue;
if ((ddc->timings2[j].hsize == p->HDisplay) &&
(ddc->timings2[j].vsize == p->VDisplay)) {
float refresh =
@@ -221,7 +228,8 @@
new->name = xnfalloc(strlen(p->name) + 1);
strcpy(new->name, p->name);
new->status = MODE_OK;
- new->type = M_T_DEFAULT;
+ if ((new->type != M_T_USERDEF) && (new->type))
+ new->type = M_T_DEFAULT;
count++;
@@ -240,7 +248,10 @@
tmp = (ddc->timings1.t1 << 8) | ddc->timings1.t2;
for (j = 0; j < 16; j++) {
if (tmp & (1 << j)) {
- for (p = pScrn->monitor->Modes; p && p->next; p = p->next->next) {
+ for (p = pScrn->monitor->Modes; p; p = p->next) {
+ /* Ignore all double scan modes */
+ if (p->Flags & V_DBLSCAN)
+ continue;
if ((est_timings[j].hsize == p->HDisplay) &&
(est_timings[j].vsize == p->VDisplay)) {
float refresh =
@@ -253,7 +264,8 @@
new->name = xnfalloc(strlen(p->name) + 1);
strcpy(new->name, p->name);
new->status = MODE_OK;
- new->type = M_T_DEFAULT;
+ if ((new->type != M_T_USERDEF) && (new->type))
+ new->type = M_T_DEFAULT;
count++;
@@ -361,15 +373,7 @@
if (p == ddcModes) ddcModes = p->next;
/* Add to used modes */
- if (last) {
- last->next = p;
- p->prev = last;
- } else {
- first = p;
- p->prev = NULL;
- }
- p->next = NULL;
- last = p;
+ RADEONSortModes(&p, &first, &last);
break;
}
@@ -390,15 +394,7 @@
if (p == ddcModes) ddcModes = p->next;
/* Add to used modes */
- if (last) {
- last->next = p;
- p->prev = last;
- } else {
- first = p;
- p->prev = NULL;
- }
- p->next = NULL;
- last = p;
+ RADEONSortModes(&p, &first, &last);
}
}
@@ -546,12 +542,7 @@
new->type |= M_T_USERDEF;
- new->next = NULL;
- new->prev = last;
-
- if (last) last->next = new;
- last = new;
- if (!first) first = new;
+ RADEONSortModes(&new, &first, &last);
pScrn->display->virtualX =
pScrn->virtualX = MAX(pScrn->virtualX, width);
@@ -569,7 +560,7 @@
}
/* add in all default vesa modes smaller than panel size, used for randr*/
- for (p = pScrn->monitor->Modes; p && p->next; p = p->next->next) {
+ for (p = pScrn->monitor->Modes; p; p = p->next) {
if ((p->HDisplay <= info->PanelXRes) && (p->VDisplay <= info->PanelYRes)) {
tmp = first;
while (tmp) {
@@ -597,12 +588,7 @@
new->type |= M_T_DEFAULT;
- new->next = NULL;
- new->prev = last;
-
- if (last) last->next = new;
- last = new;
- if (!first) first = new;
+ RADEONSortModes(&new, &first, &last);
}
}
}
@@ -675,7 +661,7 @@
* 'stretched' from their native mode.
*/
if (info->MergeType == MT_CRT && !info->ddc_mode) {
-
+ xf86SetDDCproperties(pScrn, pScrn->monitor->DDC);
modesFound =
xf86ValidateModes(pScrn,
pScrn->monitor->Modes,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_probe.h new/xf86-video-ati-6.6.192/src/radeon_probe.h
--- old/xf86-video-ati-6.6.191/src/radeon_probe.h 2007-03-27 08:56:13.000000000 +0200
+++ new/xf86-video-ati-6.6.192/src/radeon_probe.h 2007-05-19 05:47:32.000000000 +0200
@@ -48,7 +48,8 @@
DDC_MONID,
DDC_DVI,
DDC_VGA,
- DDC_CRT2
+ DDC_CRT2,
+ DDC_LCD,
} RADEONDDCType;
typedef enum
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ati-6.6.191/src/radeon_reg.h new/xf86-video-ati-6.6.192/src/radeon_reg.h
--- old/xf86-video-ati-6.6.191/src/radeon_reg.h 2007-03-27 08:56:13.000000000 +0200
+++ new/xf86-video-ati-6.6.192/src/radeon_reg.h 2007-05-08 16:24:25.000000000 +0200
@@ -907,6 +907,8 @@
# define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1<<13)
# define RADEON_MC_MCLK_DYN_ENABLE (1 << 14)
# define RADEON_IO_MCLK_DYN_ENABLE (1 << 15)
+#define RADEON_LCD_GPIO_MASK 0x01a0
+#define RADEON_LCD_GPIO_Y_REG 0x01a4
#define RADEON_MDGPIO_A_REG 0x01ac
#define RADEON_MDGPIO_EN_REG 0x01b0
#define RADEON_MDGPIO_MASK 0x0198
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org