Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Tue Mar 20 01:23:24 CET 2007.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-03-18 11:45:33.000000000 +0100
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-03-19 22:05:39.887560000 +0100
@@ -1,0 +2,13 @@
+Mon Mar 19 21:35:36 CET 2007 - sndirsch@suse.de
+
+- updated nv driver to release 2.0.0
+ * This release adds support for the NVIDIA GeForce 8800 GTX,
+ GeForce 8800 GTS, Quadro FX 4600, and Quadro FX 5600 GPUs.
+ It also fixes a few bugs for earlier graphics cards.
+- obsoletes patches:
+ * xf86-video-nv-DAC.diff
+ * xf86-video-nv-corruption-cursor.diff
+ * xf86-video-nv-switchmode-freeze.diff
+ * xf86-video-nv-vesafb-vga.diff
+
+-------------------------------------------------------------------
Old:
----
xf86-video-nv-1.99.1.tar.bz2
xf86-video-nv-corruption-cursor.diff
xf86-video-nv-DAC.diff
xf86-video-nv-switchmode-freeze.diff
xf86-video-nv-vesafb-vga.diff
New:
----
xf86-video-nv-2.0.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.kt4816/_old 2007-03-20 01:23:07.000000000 +0100
+++ /var/tmp/diff_new_pack.kt4816/_new 2007-03-20 01:23:07.000000000 +0100
@@ -14,7 +14,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
URL: http://xorg.freedesktop.org/
Version: 7.2
-Release: 68
+Release: 69
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -39,7 +39,7 @@
Source15: xf86-video-neomagic-X11R7.1-1.1.1.tar.bz2
Source16: xf86-video-newport-0.2.1.tar.bz2
Source17: xf86-video-nsc-2.8.2.tar.bz2
-Source18: xf86-video-nv-1.99.1.tar.bz2
+Source18: xf86-video-nv-2.0.0.tar.bz2
Source19: xf86-video-rendition-4.1.3.tar.bz2
Source20: xf86-video-s3-0.5.0.tar.bz2
Source21: xf86-video-s3virge-X11R7.1-1.9.1.tar.bz2
@@ -74,11 +74,7 @@
Patch1: radeon-xrandr-dotclock.diff
Patch2: radeon_dell.diff
Patch3: ps_nv.diff
-Patch4: xf86-video-nv-DAC.diff
Patch5: mga-g200se_pci-fix.diff
-Patch6: xf86-video-nv-vesafb-vga.diff
-Patch7: xf86-video-nv-corruption-cursor.diff
-Patch8: xf86-video-nv-switchmode-freeze.diff
Patch9: xf86-video-sunffb.diff
Patch10: xf86-video-tdfx.diff
Patch11: xf86-video-glint.diff
@@ -121,12 +117,6 @@
pushd xf86-video-nv-*/src
%patch3 -p6
popd
-pushd xf86-video-nv-*
-%patch4 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-popd
pushd xf86-video-mga-*/src
tar xzf %{SOURCE44}
%patch5 -p1
@@ -262,6 +252,16 @@
%{_mandir}/man4/*
%changelog
+* Mon Mar 19 2007 - sndirsch@suse.de
+- updated nv driver to release 2.0.0
+ * This release adds support for the NVIDIA GeForce 8800 GTX,
+ GeForce 8800 GTS, Quadro FX 4600, and Quadro FX 5600 GPUs.
+ It also fixes a few bugs for earlier graphics cards.
+- obsoletes patches:
+ * xf86-video-nv-DAC.diff
+ * xf86-video-nv-corruption-cursor.diff
+ * xf86-video-nv-switchmode-freeze.diff
+ * xf86-video-nv-vesafb-vga.diff
* Sun Mar 18 2007 - sndirsch@suse.de
- updated optional RANDR 1.2 drivers radeon/nv/mga (2007-03-18):
* "First stab at RandR 1.2. This will only work on G450/G550
++++++ xf86-video-nv-1.99.1.tar.bz2 -> xf86-video-nv-2.0.0.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/ChangeLog new/xf86-video-nv-2.0.0/ChangeLog
--- old/xf86-video-nv-1.99.1/ChangeLog 2007-03-09 03:45:39.000000000 +0100
+++ new/xf86-video-nv-2.0.0/ChangeLog 2007-03-19 04:52:08.000000000 +0100
@@ -1,3 +1,48 @@
+commit 4d15dd2c490cce739f2eb1474019c723da8ce32b
+Author: Aaron Plattner
+Date: Fri Mar 16 16:14:00 2007 -0700
+
+ Avoid hanging when switching modes on some nv4x cards.
+
+ SUSE bug #235171.
+
+commit 90c53c5322e50bce06996e3c857e6bf7531235d4
+Author: Aaron Plattner
+Date: Thu Mar 15 17:07:25 2007 -0700
+
+ Fix GXxor corruption on nv4x.
+
+ SUSE bug #246421.
+
+commit 9763b9dcef144f649ccbcfd302601769bc940ffb
+Author: Aaron Plattner
+Date: Thu Mar 15 14:39:07 2007 -0700
+
+ Hide the cursor in CloseScreen.
+
+ Otherwise, if we're restoring a graphical framebuffer mode the cursor will still
+ be visible.
+
+commit 9d65abab153cdf3ab2b7e3e2843d573b22ea6769
+Author: Aaron Plattner
+Date: Wed Mar 14 21:16:04 2007 -0700
+
+ Fix VGA output with vesafb on nv4x and G7x GPUs.
+
+ SuSE bug #160812.
+
+commit 26a9f1fa5a92eba7d4b6ddfa47c0517e604be130
+Author: Aaron Plattner
+Date: Mon Mar 12 14:56:10 2007 -0700
+
+ Get rid of non-portable := assignments.
+
+commit 8b2c7bc457d34b7ed59cd08719bec8754ebf6fb8
+Author: Aaron Plattner
+Date: Fri Mar 9 12:43:12 2007 -0800
+
+ Use DAC load detection to decide which OR to use instead of trusting the EDID.
+
commit 06b168ced3cc4aa47cdad21a2351cca674fa26e0
Author: Aaron Plattner
Date: Thu Mar 8 18:12:43 2007 -0800
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/configure new/xf86-video-nv-2.0.0/configure
--- old/xf86-video-nv-1.99.1/configure 2007-03-09 03:45:24.000000000 +0100
+++ new/xf86-video-nv-2.0.0/configure 2007-03-19 04:51:53.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xf86-video-nv 1.99.1.
+# Generated by GNU Autoconf 2.61 for xf86-video-nv 2.0.0.
#
# Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-nv'
PACKAGE_TARNAME='xf86-video-nv'
-PACKAGE_VERSION='1.99.1'
-PACKAGE_STRING='xf86-video-nv 1.99.1'
+PACKAGE_VERSION='2.0.0'
+PACKAGE_STRING='xf86-video-nv 2.0.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -1414,7 +1414,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-nv 1.99.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-nv 2.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1484,7 +1484,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-nv 1.99.1:";;
+ short | recursive ) echo "Configuration of xf86-video-nv 2.0.0:";;
esac
cat <<\_ACEOF
@@ -1597,7 +1597,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-nv configure 1.99.1
+xf86-video-nv configure 2.0.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1611,7 +1611,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-nv $as_me 1.99.1, which was
+It was created by xf86-video-nv $as_me 2.0.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2286,7 +2286,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-nv'
- VERSION='1.99.1'
+ VERSION='2.0.0'
cat >>confdefs.h <<_ACEOF
@@ -21465,7 +21465,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-nv $as_me 1.99.1, which was
+This file was extended by xf86-video-nv $as_me 2.0.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21518,7 +21518,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xf86-video-nv config.status 1.99.1
+xf86-video-nv config.status 2.0.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/configure.ac new/xf86-video-nv-2.0.0/configure.ac
--- old/xf86-video-nv-1.99.1/configure.ac 2007-03-09 03:06:44.000000000 +0100
+++ new/xf86-video-nv-2.0.0/configure.ac 2007-03-19 04:51:44.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-nv],
- 1.99.1,
+ 2.0.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-nv)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/man/Makefile.am new/xf86-video-nv-2.0.0/man/Makefile.am
--- old/xf86-video-nv-1.99.1/man/Makefile.am 2007-03-09 02:52:19.000000000 +0100
+++ new/xf86-video-nv-2.0.0/man/Makefile.am 2007-03-16 02:28:05.000000000 +0100
@@ -42,9 +42,9 @@
XORGMANNAME = X Version 11
if SUPPORT_G80
-MAN_SUPPORT_G80 := 1
+MAN_SUPPORT_G80 = 1
else
-MAN_SUPPORT_G80 := 0
+MAN_SUPPORT_G80 = 0
endif
MAN_SUBSTS = \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/man/Makefile.in new/xf86-video-nv-2.0.0/man/Makefile.in
--- old/xf86-video-nv-1.99.1/man/Makefile.in 2007-03-09 03:45:25.000000000 +0100
+++ new/xf86-video-nv-2.0.0/man/Makefile.in 2007-03-19 04:51:54.000000000 +0100
@@ -217,8 +217,8 @@
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
-@SUPPORT_G80_FALSE@MAN_SUPPORT_G80 := 0
-@SUPPORT_G80_TRUE@MAN_SUPPORT_G80 := 1
+@SUPPORT_G80_FALSE@MAN_SUPPORT_G80 = 0
+@SUPPORT_G80_TRUE@MAN_SUPPORT_G80 = 1
MAN_SUBSTS = \
-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/g80_ddc.c new/xf86-video-nv-2.0.0/src/g80_ddc.c
--- old/xf86-video-nv-1.99.1/src/g80_ddc.c 2007-03-09 02:52:19.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/g80_ddc.c 2007-03-16 02:28:05.000000000 +0100
@@ -197,22 +197,19 @@
flatPanel = (monInfo->features.input_type == 1);
- if(flatPanel) {
- if(pNv->i2cMap[port].sor == -1) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Saw a flat panel EDID "
- "on I2C port %i but no SOR outputs were registered for "
- "that port.\n", port);
- continue;
- }
+ if(pNv->i2cMap[port].dac != -1 &&
+ G80DispDetectLoad(pScrn, pNv->i2cMap[port].dac)) {
+ pNv->orType = DAC;
+ pNv->or = pNv->i2cMap[port].dac;
+ } else if(pNv->i2cMap[port].sor != -1) {
pNv->orType = SOR;
pNv->or = pNv->i2cMap[port].sor;
} else {
- if(pNv->i2cMap[port].dac == -1) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Saw a flat panel EDID "
- "on I2C port %i but no DAC outputs were registered for "
- "that port.\n", port);
- continue;
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Saw an EDID on I2C port %i but no DAC load was "
+ "detected and no SOR is connected to this port. Using "
+ "DAC%i.\n", port,
+ pNv->or);
pNv->orType = DAC;
pNv->or = pNv->i2cMap[port].dac;
}
@@ -220,7 +217,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
"Found a %s on I2C port %i, assigning %s%i\n",
flatPanel ? "flat panel" : "CRT",
- port, flatPanel ? "SOR" : "DAC", pNv->or);
+ port, pNv->orType == SOR ? "SOR" : "DAC", pNv->or);
pScrn->monitor->DDC = monInfo;
xf86SetDDCproperties(pScrn, monInfo);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/g80_display.c new/xf86-video-nv-2.0.0/src/g80_display.c
--- old/xf86-video-nv-1.99.1/src/g80_display.c 2007-03-09 02:52:19.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/g80_display.c 2007-03-16 02:28:05.000000000 +0100
@@ -187,6 +187,28 @@
#define C(mthd, data) G80DispCommand(pNv, (mthd), (data))
/*
+ * Performs load detection on a single DAC.
+ */
+Bool G80DispDetectLoad(ScrnInfoPtr pScrn, ORNum or)
+{
+ G80Ptr pNv = G80PTR(pScrn);
+ const int dacOff = 2048 * or;
+ CARD32 load, tmp;
+
+ pNv->reg[(0x0061A010+dacOff)/4] = 0x00000001;
+ pNv->reg[(0x0061A004+dacOff)/4] = 0x80150000;
+ while(pNv->reg[(0x0061A004+dacOff)/4] & 0x80000000);
+ tmp = pNv->architecture == 0x50 ? 420 : 340;
+ pNv->reg[(0x0061A00C+dacOff)/4] = tmp | 0x100000;
+ usleep(4500);
+ load = pNv->reg[(0x0061A00C+dacOff)/4];
+ pNv->reg[(0x0061A00C+dacOff)/4] = 0;
+ pNv->reg[(0x0061A004+dacOff)/4] = 0x80550000;
+
+ return (load & 0x38000000) == 0x38000000;
+}
+
+/*
* Performs load detection on the DACs. Sets pNv->orType and pNv->or
* accordingly.
*/
@@ -199,21 +221,9 @@
pNv->orType = DAC;
for(or = DAC0; or <= DAC2; or++) {
- const int dacOff = 2048 * or;
- CARD32 load, tmp;
-
xf86DrvMsg(scrnIndex, X_PROBED, "Trying load detection on DAC%i ... ", or);
- pNv->reg[(0x0061A010+dacOff)/4] = 0x00000001;
- pNv->reg[(0x0061A004+dacOff)/4] = 0x80150000;
- while(pNv->reg[(0x0061A004+dacOff)/4] & 0x80000000);
- tmp = pNv->architecture == 0x50 ? 420 : 340;
- pNv->reg[(0x0061A00C+dacOff)/4] = tmp | 0x100000;
- usleep(4500);
- load = pNv->reg[(0x0061A00C+dacOff)/4];
- pNv->reg[(0x0061A00C+dacOff)/4] = 0;
- pNv->reg[(0x0061A004+dacOff)/4] = 0x80550000;
- if((load & 0x38000000) == 0x38000000) {
+ if(G80DispDetectLoad(pScrn, or)) {
xf86ErrorF("found one!\n");
pNv->or = or;
return TRUE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/g80_display.h new/xf86-video-nv-2.0.0/src/g80_display.h
--- old/xf86-video-nv-1.99.1/src/g80_display.h 2007-03-09 02:52:19.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/g80_display.h 2007-03-16 02:28:05.000000000 +0100
@@ -1,4 +1,5 @@
Bool G80LoadDetect(ScrnInfoPtr);
+Bool G80DispLoadDetect(ScrnInfoPtr, ORNum or);
Bool G80DispInit(ScrnInfoPtr);
Bool G80DispSetMode(ScrnInfoPtr, DisplayModePtr);
void G80DispShutdown(ScrnInfoPtr);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/nv_driver.c new/xf86-video-nv-2.0.0/src/nv_driver.c
--- old/xf86-video-nv-1.99.1/src/nv_driver.c 2007-03-09 02:52:19.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/nv_driver.c 2007-03-17 00:12:13.000000000 +0100
@@ -1736,6 +1736,8 @@
NVPtr pNv = NVPTR(pScrn);
NVRegPtr nvReg;
+ NVSync(pScrn);
+
/* Initialise the ModeReg values */
if (!vgaHWInit(pScrn, mode))
return FALSE;
@@ -1791,6 +1793,8 @@
NVPtr pNv = NVPTR(pScrn);
NVRegPtr nvReg = &pNv->SavedReg;
+ if(pNv->HWCursor)
+ NVShowHideCursor(pNv, 0);
NVLockUnlock(pNv, 0);
if(pNv->twoHeads) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/nv_hw.c new/xf86-video-nv-2.0.0/src/nv_hw.c
--- old/xf86-video-nv-1.99.1/src/nv_hw.c 2007-01-26 23:58:35.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/nv_hw.c 2007-03-16 02:28:05.000000000 +0100
@@ -878,6 +878,10 @@
state->general = bpp == 16 ? 0x00101100 : 0x00100100;
state->repaint1 = hDisplaySize < 1280 ? 0x04 : 0x00;
break;
+ case NV_ARCH_40:
+ if(!pNv->FlatPanel)
+ state->control = pNv->PRAMDAC0[0x0580/4] & 0xeffffeff;
+ /* fallthrough */
case NV_ARCH_10:
case NV_ARCH_20:
case NV_ARCH_30:
@@ -1186,6 +1190,7 @@
pNv->PGRAPH[0x008C/4] = 0x60de8051;
pNv->PGRAPH[0x0090/4] = 0x00008000;
pNv->PGRAPH[0x0610/4] = 0x00be3c5f;
+ pNv->PGRAPH[0x0bc4/4] |= 0x00008000;
j = pNv->REGS[0x1540/4] & 0xff;
if(j) {
@@ -1475,6 +1480,10 @@
VGA_WR08(pNv->PCIO, 0x03D5, state->interlace);
if(!pNv->FlatPanel) {
+ if(pNv->Architecture >= NV_ARCH_40) {
+ pNv->PRAMDAC0[0x0580/4] = state->control;
+ }
+
pNv->PRAMDAC0[0x050C/4] = state->pllsel;
pNv->PRAMDAC0[0x0508/4] = state->vpll;
if(pNv->twoHeads)
@@ -1541,6 +1550,10 @@
state->scale = pNv->PRAMDAC[0x0848/4];
state->config = pNv->PFB[0x0200/4];
+ if(pNv->Architecture >= NV_ARCH_40 && !pNv->FlatPanel) {
+ state->control = pNv->PRAMDAC0[0x0580/4];
+ }
+
if(pNv->Architecture >= NV_ARCH_10) {
if(pNv->twoHeads) {
state->head = pNv->PCRTC0[0x0860/4];
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-nv-1.99.1/src/nv_type.h new/xf86-video-nv-2.0.0/src/nv_type.h
--- old/xf86-video-nv-1.99.1/src/nv_type.h 2007-01-26 23:58:35.000000000 +0100
+++ new/xf86-video-nv-2.0.0/src/nv_type.h 2007-03-16 02:28:05.000000000 +0100
@@ -56,6 +56,7 @@
U032 vpllB;
U032 vpll2B;
U032 pllsel;
+ U032 control;
U032 general;
U032 crtcOwner;
U032 head;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org