diff options
-rwxr-xr-x | .SRCINFO | 14 | ||||
-rwxr-xr-x | PKGBUILD | 8 | ||||
-rw-r--r-- | linux-4.7.patch | 48 |
3 files changed, 61 insertions, 9 deletions
@@ -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 @@ -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; |