Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=dex77testing2.git;a=commitdiff;h=1b0210edbc46614d351192fa2f6ebfcf1fe5223c

commit 1b0210edbc46614d351192fa2f6ebfcf1fe5223c
Author: James Buren <[email protected]>
Date:   Sun May 24 14:53:39 2015 +0200

nvidia-304.125-2-x86_64
* rebuild with new kernel
* fix build with various patches

diff --git a/source/x11-extra/nvidia/FrugalBuild 
b/source/x11-extra/nvidia/FrugalBuild
index 12b30f5..25cfb48 100644
--- a/source/x11-extra/nvidia/FrugalBuild
+++ b/source/x11-extra/nvidia/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=nvidia
pkgver=304.125
-pkgrel=1
+pkgrel=2
archs=('i686' 'x86_64')
_F_kernelmod_scriptlet=nvidia.install
Finclude kernel-module
@@ -37,15 +37,22 @@ esac

source=("${source[@]}" \
modprobe-nvidia.conf \
-       xorg-nvidia.conf)
+       xorg-nvidia.conf \
+       kernel-3.18.patch \
+       kernel-3.19.patch \
+       kernel-4.0.patch)

sha1sums=("${sha1sums[@]}" \
'a2bf63eb7dffdfc9268534654d3864e865af6834' \
-       '15455cb16a6638ee348dc01620c7f64234178ac8')
+       '15455cb16a6638ee348dc01620c7f64234178ac8' \
+       'f0798ef2269fa4257a754ecc86fd1632774b188c' \
+       '15b58e8f8f7172874bdca3f5cf66d3339eae86ad' \
+       'c514894d29e1e2b6418ed4b187b31dfd1af32a4c')

build () {
cd $Fsrcdir
-       sh $_F_nvidia_name.run --extract-only
+       rm -rf ${_F_nvidia_name} || Fdie
+       sh $_F_nvidia_name.run --extract-only || Fdie

Fcd .

diff --git a/source/x11-extra/nvidia/kernel-3.18.patch 
b/source/x11-extra/nvidia/kernel-3.18.patch
new file mode 100644
index 0000000..4c6a393
--- /dev/null
+++ b/source/x11-extra/nvidia/kernel-3.18.patch
@@ -0,0 +1,27 @@
+--- kernel/nv-drm.c~ 2014-09-12 00:33:06.000000000 +0200
++++ kernel/nv-drm.c 2014-10-14 11:35:52.854400737 +0200
+@@ -18,6 +18,11 @@
+
+ #include <drm/drmP.h>
+
++/* 3.18-rc0+ */
++#ifndef drm_gem_object
++#include <drm/drm_gem.h>
++#endif
++
+ extern nv_linux_state_t *nv_linux_devices;
+
+ struct nv_gem_object {
+diff --git a/kernel/nv-drm.c~ b/kernel/nv-drm.c
+index ecc982a..60d7aae 100644
+--- kernel/nv-drm.c~
++++ kernel/nv-drm.c
+@@ -129,6 +129,8 @@ static struct drm_driver nv_drm_driver = {
+     .gem_prime_vmap = nv_gem_prime_vmap,
+     .gem_prime_vunmap = nv_gem_prime_vunmap,
+
++    .set_busid = drm_pci_set_busid,
++
+     .name = "nvidia-drm",
+     .desc = "NVIDIA DRM driver",
+     .date = "20130102",
diff --git a/source/x11-extra/nvidia/kernel-3.19.patch 
b/source/x11-extra/nvidia/kernel-3.19.patch
new file mode 100644
index 0000000..b3d0b2e
--- /dev/null
+++ b/source/x11-extra/nvidia/kernel-3.19.patch
@@ -0,0 +1,21 @@
+diff -Npur NVIDIA-Linux-x86_64-304.orig/kernel/nv.c 
NVIDIA-Linux-x86_64-304.125-no-compat32/kernel/nv.c
+--- NVIDIA-Linux-x86_64-304.orig/kernel/nv.c   2014-12-02 04:58:34.000000000 
+0100
++++ NVIDIA-Linux-x86_64-304.125-no-compat32/kernel/nv.c        2014-12-21 
17:50:33.420697348 +0100
+@@ -2026,7 +2026,7 @@ long nv_kern_unlocked_ioctl(
+     unsigned long i_arg
+ )
+ {
+-    return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
++    return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+ }
+
+ long nv_kern_compat_ioctl(
+@@ -2035,7 +2035,7 @@ long nv_kern_compat_ioctl(
+     unsigned long i_arg
+ )
+ {
+-    return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
++    return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+ }
+
+ /*
diff --git a/source/x11-extra/nvidia/kernel-4.0.patch 
b/source/x11-extra/nvidia/kernel-4.0.patch
new file mode 100644
index 0000000..08fe499
--- /dev/null
+++ b/source/x11-extra/nvidia/kernel-4.0.patch
@@ -0,0 +1,23 @@
+diff -ur a/kernel/nv-pat.c b/kernel/nv-pat.c
+--- a/kernel/nv-pat.c  2014-12-02 04:58:34.000000000 +0100
++++ b/kernel/nv-pat.c  2015-05-24 14:45:51.197995761 +0200
+@@ -35,8 +35,8 @@
+     unsigned long cr0 = read_cr0();
+     write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
+     wbinvd();
+-    *cr4 = read_cr4();
+-    if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
++    *cr4 = __read_cr4();
++    if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
+     __flush_tlb();
+ }
+
+@@ -46,7 +46,7 @@
+     wbinvd();
+     __flush_tlb();
+     write_cr0((cr0 & 0x9fffffff));
+-    if (cr4 & 0x80) write_cr4(cr4);
++    if (cr4 & 0x80) __write_cr4(cr4);
+ }
+
+ static int nv_determine_pat_mode(void)
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to