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 <aplattner@nvidia.com> +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 <aplattner@nvidia.com> +Date: Thu Mar 15 17:07:25 2007 -0700 + + Fix GXxor corruption on nv4x. + + SUSE bug #246421. + +commit 9763b9dcef144f649ccbcfd302601769bc940ffb +Author: Aaron Plattner <aplattner@nvidia.com> +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 <aplattner@nvidia.com> +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 <aplattner@nvidia.com> +Date: Mon Mar 12 14:56:10 2007 -0700 + + Get rid of non-portable := assignments. + +commit 8b2c7bc457d34b7ed59cd08719bec8754ebf6fb8 +Author: Aaron Plattner <aplattner@nvidia.com> +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 <aplattner@nvidia.com> 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