Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=xorg74.git;a=commitdiff;h=d37bdc5fb56a13a4637602b200bb7b4b6e49ecbb

commit d37bdc5fb56a13a4637602b200bb7b4b6e49ecbb
Author: Krisztian VASAS <i...@frugalware.org>
Date:   Sat Jan 3 10:30:43 2009 +0100

xf86-video-nv-2.1.12-1-i686
- version bump
- added some patches

diff --git a/source/x11/xf86-video-nv/01-fix_for_xorg_bug_18099.patch 
b/source/x11/xf86-video-nv/01-fix_for_xorg_bug_18099.patch
new file mode 100644
index 0000000..1d2a244
--- /dev/null
+++ b/source/x11/xf86-video-nv/01-fix_for_xorg_bug_18099.patch
@@ -0,0 +1,49 @@
+diff --git a/src/g80_driver.c b/src/g80_driver.c
+index 50d55a0..ad8a424 100644
+--- a/src/g80_driver.c
++++ b/src/g80_driver.c
+@@ -206,11 +206,8 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
+     CARD32 tmp;
+     memType BAR1sizeKB;
+
+-    if(flags & PROBE_DETECT) {
+-        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+-                "G80 PROBE_DETECT unimplemented\n");
+-        return FALSE;
+-    }
++    if(flags & PROBE_DETECT)
++        return TRUE;
+
+     /* Check the number of entities, and fail if it isn't one. */
+     if(pScrn->numEntities != 1)
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index 831e90b..faf73a9 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -77,11 +77,22 @@ static Bool        NVModeInit(ScrnInfoPtr pScrn, 
DisplayModePtr mode);
+ static Bool   NVSetModeVBE(ScrnInfoPtr pScrn, DisplayModePtr pMode);
+
+ #if XSERVER_LIBPCIACCESS
+-/* For now, just match any NVIDIA PCI device and sort through them in the 
probe
+- * routine */
++/* For now, just match any NVIDIA display device and sort through them in the
++ * probe routine */
++
++/*
++ * libpciaccess's masks are shifted by 8 bits compared to the ones in 
xf86Pci.h.
++ */
++#define LIBPCIACCESS_CLASS_SHIFT (PCI_CLASS_SHIFT - 8)
++#define LIBPCIACCESS_CLASS_MASK (PCI_CLASS_MASK >> 8)
++
+ static const struct pci_id_match NVPciIdMatchList[] = {
+-    { PCI_VENDOR_NVIDIA, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, 0 
},
+-    { PCI_VENDOR_NVIDIA_SGS, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 
0, 0},
++    { PCI_VENDOR_NVIDIA, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
++      PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, 
0 },
++
++    { PCI_VENDOR_NVIDIA_SGS, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
++      PCI_CLASS_DISPLAY << LIBPCIACCESS_CLASS_SHIFT, LIBPCIACCESS_CLASS_MASK, 
0 },
++
+     { 0, 0, 0 }
+ };
+ #endif
diff --git 
a/source/x11/xf86-video-nv/02-nv34_panel_tweak_for_toshiba_tecra_m2.patch 
b/source/x11/xf86-video-nv/02-nv34_panel_tweak_for_toshiba_tecra_m2.patch
new file mode 100644
index 0000000..ab6f8d3
--- /dev/null
+++ b/source/x11/xf86-video-nv/02-nv34_panel_tweak_for_toshiba_tecra_m2.patch
@@ -0,0 +1,28 @@
+diff --git a/src/nv_dac.c b/src/nv_dac.c
+index b1049cc..a256d0a 100644
+--- a/src/nv_dac.c
++++ b/src/nv_dac.c
+@@ -42,8 +42,21 @@ NVDACPanelTweaks(NVPtr pNv, NVRegPtr state)
+           we can do is experiment and apply hacks. */
+
+        if(((pNv->Chipset & 0xffff) == 0x0328) && (state->bpp == 32)) {
+-          /* At least one NV34 laptop needs this workaround. */
+-          tweak = -1;
++#if XSERVER_LIBPCIACCESS
++          if (((pNv->PciInfo->subvendor_id & 0xffff) == 0x1179) &&
++              ((pNv->PciInfo->subdevice_id & 0xffff) == 0x0020))
++#else
++          if (((pNv->PciInfo->subsysVendor & 0xffff) == 0x1179) &&
++              ((pNv->PciInfo->subsysCard & 0xffff) == 0x0020))
++#endif
++          {
++
++             /* Toshiba Tecra M2 */
++             tweak = 1;
++          } else {
++             /* At least one NV34 laptop needs this workaround. */
++             tweak = -1;
++          }
+        }
+
+        if((pNv->Chipset & 0xfff0) == 0x0310) {
diff --git a/source/x11/xf86-video-nv/FrugalBuild 
b/source/x11/xf86-video-nv/FrugalBuild
index 10cf5cd..4781376 100644
--- a/source/x11/xf86-video-nv/FrugalBuild
+++ b/source/x11/xf86-video-nv/FrugalBuild
@@ -2,15 +2,20 @@
# Maintainer: Christian Hamar alias krix <kr...@linuxforum.hu>

pkgname=xf86-video-nv
-pkgver=2.1.7
+pkgver=2.1.12
pkgrel=1
pkgdesc="X.Org driver for NVidia cards"
url="http://xorg.freedesktop.org";
groups=('x11' 'xorg-core' 'xorg-drivers')
archs=('i686' 'x86_64' 'ppc')
-depends=('xorg-server>=1.4.0.90')
+depends=('xorg-server>=1.5.99.3')
makedepends=('randrproto' 'renderproto' 'videoproto' 'xf86dgaproto')
Finclude xorg
-sha1sums=('cfca8a16b1c43b24513ae38a1f6b09ada99f3d14')
+source=(${sour...@]} \
+       '01-fix_for_xorg_bug_18099.patch' \
+       '02-nv34_panel_tweak_for_toshiba_tecra_m2.patch')
+sha1sums=('d468596e6ffb41582cd3b214e42fc0004cc93418' \
+          'afca1d252901b0a067a7ba4f5f68f76279223a99' \
+          '715808d932be5d99c60a4cadacf7e041617871eb')

# optimization OK
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to