summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.SRCINFO14
-rwxr-xr-xPKGBUILD8
-rw-r--r--linux-4.7.patch48
3 files changed, 61 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c16d1101dc28..7260bfdec7ce 100755
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = nvidia-beta-all
pkgdesc = NVIDIA drivers for all kernels on the system (beta)
- pkgver = 367.18
+ pkgver = 367.27
pkgrel = 1
url = http://www.nvidia.com/
install = nvidia-beta-all.install
@@ -8,17 +8,19 @@ pkgbase = nvidia-beta-all
arch = x86_64
license = custom:NVIDIA
makedepends = linux-headers
- depends = nvidia-utils-beta>=367.18
+ depends = nvidia-utils-beta>=367.27
depends = libgl
provides = nvidia
conflicts = nvidia-96xx
conflicts = nvidia-173xx
conflicts = nvidia
options = !strip
- source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/367.18/NVIDIA-Linux-x86-367.18.run
- md5sums_i686 = 9ae023927692dab99f23a006865fa966
- source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/367.18/NVIDIA-Linux-x86_64-367.18-no-compat32.run
- md5sums_x86_64 = 0e01ed625c26ad4e4b44a7b139a3e363
+ source = linux-4.7.patch
+ md5sums = 0b68fdfd7b43a20e47a3ddb06004e820
+ source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/367.27/NVIDIA-Linux-x86-367.27.run
+ md5sums_i686 = f32b9ab673acce56990f2b5acdc1e77f
+ source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/367.27/NVIDIA-Linux-x86_64-367.27-no-compat32.run
+ md5sums_x86_64 = cdf8a16c533382acc9f088bd8e689860
pkgname = nvidia-beta-all
diff --git a/PKGBUILD b/PKGBUILD
index 96778a0bdc45..86ade026afd8 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
# Based on nvidia-beta: https://aur.archlinux.org/packages/nvidia-beta/
pkgname=nvidia-beta-all
-pkgver=367.18
+pkgver=367.27
pkgrel=1
pkgdesc="NVIDIA drivers for all kernels on the system (beta)"
arch=('i686' 'x86_64')
@@ -23,10 +23,12 @@ case "$CARCH" in
esac
# Source
+source=('linux-4.7.patch')
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/$pkgver/NVIDIA-Linux-x86-$pkgver.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/$pkgver/NVIDIA-Linux-x86_64-$pkgver-no-compat32.run")
-md5sums_i686=('9ae023927692dab99f23a006865fa966')
-md5sums_x86_64=('0e01ed625c26ad4e4b44a7b139a3e363')
+md5sums=('0b68fdfd7b43a20e47a3ddb06004e820')
+md5sums_i686=('f32b9ab673acce56990f2b5acdc1e77f')
+md5sums_x86_64=('cdf8a16c533382acc9f088bd8e689860')
# Auto-detect patches (e.g. linux-4.1.patch)
for _patch in $(find "$startdir" -maxdepth 1 -name '*.patch' -printf "%f\n"); do
diff --git a/linux-4.7.patch b/linux-4.7.patch
new file mode 100644
index 000000000000..d1d2a1ace76a
--- /dev/null
+++ b/linux-4.7.patch
@@ -0,0 +1,48 @@
+diff -Npur a/kernel/nvidia-drm/nvidia-drm-fb.c b/kernel/nvidia-drm/nvidia-drm-fb.c
+--- a/kernel/nvidia-drm/nvidia-drm-fb.c 2016-06-04 14:35:34.039874000 +0200
++++ b/kernel/nvidia-drm/nvidia-drm-fb.c 2016-06-04 14:40:03.137790083 +0200
+@@ -114,7 +114,7 @@ static struct drm_framebuffer *internal_
+ * We don't support any planar format, pick up first buffer only.
+ */
+
+- gem = drm_gem_object_lookup(dev, file, cmd->handles[0]);
++ gem = drm_gem_object_lookup(file, cmd->handles[0]);
+
+ if (gem == NULL)
+ {
+diff -Npur a/kernel/nvidia-drm/nvidia-drm-gem.c b/kernel/nvidia-drm/nvidia-drm-gem.c
+--- a/kernel/nvidia-drm/nvidia-drm-gem.c 2016-04-19 22:31:08.000000000 +0200
++++ b/kernel/nvidia-drm/nvidia-drm-gem.c 2016-06-04 14:37:28.833902856 +0200
+@@ -405,7 +405,7 @@ int nvidia_drm_dumb_map_offset
+
+ mutex_lock(&dev->struct_mutex);
+
+- gem = drm_gem_object_lookup(dev, file, handle);
++ gem = drm_gem_object_lookup(file, handle);
+
+ if (gem == NULL)
+ {
+diff -Npur a/kernel/nvidia-uvm/uvm8_gpu.c b/kernel/nvidia-uvm/uvm8_gpu.c
+--- a/kernel/nvidia-uvm/uvm8_gpu.c 2016-04-19 22:33:14.000000000 +0200
++++ b/kernel/nvidia-uvm/uvm8_gpu.c 2016-06-04 14:30:07.363305134 +0200
+@@ -525,7 +525,7 @@ static void remove_gpu(uvm_gpu_t *gpu)
+ gpu->id, uvm_gpu_retained_count(gpu));
+
+ // All channels should have been removed before the retained count went to 0
+- UVM_ASSERT(radix_tree_empty(&gpu->instance_ptr_table));
++ UVM_ASSERT(radix_tree_is_empty(&gpu->instance_ptr_table));
+
+ // Remove the GPU from the table.
+ uvm_spin_lock_irqsave(&g_uvm_global.gpu_table_lock);
+diff -Npur a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h
+--- a/kernel/nvidia-uvm/uvm_linux.h 2016-04-19 22:33:14.000000000 +0200
++++ b/kernel/nvidia-uvm/uvm_linux.h 2016-06-04 14:30:07.553400122 +0200
+@@ -547,7 +547,7 @@ static void uvm_init_radix_tree_preloada
+ INIT_RADIX_TREE(tree, GFP_NOWAIT);
+ }
+
+-static bool radix_tree_empty(struct radix_tree_root *tree)
++static bool radix_tree_is_empty(struct radix_tree_root *tree)
+ {
+ void *dummy;
+ return radix_tree_gang_lookup(tree, &dummy, 0, 1) == 0;