summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.SRCINFO16
-rwxr-xr-xPKGBUILD14
-rw-r--r--linux-4.7.patch48
3 files changed, 64 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9d0fe3de45a4..136e52e7180a 100755
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
# Generated by mksrcinfo v8
# Wed Feb 10 11:39:03 UTC 2016
pkgbase = nvidia-full-beta
- pkgver = 367.18
+ pkgver = 367.27
pkgrel = 1
url = http://www.nvidia.com/
arch = i686
@@ -11,16 +11,16 @@ pkgbase = nvidia-full-beta
options = !strip
source = 20-nvidia.conf
md5sums = 2640eac092c220073f0668a7aaff61f7
- 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_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-full-beta
pkgdesc = Full NVIDIA driver package for Arch's official 'linux' package (driver, utilities, and libraries) (beta version)
install = nvidia-full-beta.install
depends = linux
- depends = nvidia-utils-full-beta>=367.18
+ depends = nvidia-utils-full-beta>=367.27
depends = libgl
provides = nvidia
conflicts = nvidia-96xx
@@ -35,7 +35,7 @@ pkgname = nvidia-utils-full-beta
optdepends = gtk3: nvidia-settings (GTK+ v3)
optdepends = opencl-nvidia-full-beta: OpenCL support
optdepends = xorg-server-devel: nvidia-xconfig
- provides = nvidia-utils=367.18
+ provides = nvidia-utils=367.27
provides = nvidia-settings
provides = libglvnd
conflicts = nvidia-utils
@@ -65,7 +65,7 @@ pkgname = lib32-nvidia-utils-full-beta
depends = lib32-zlib
depends = lib32-gcc-libs
optdepends = lib32-opencl-nvidia-full-beta: OpenCL support
- provides = lib32-nvidia-utils=367.18
+ provides = lib32-nvidia-utils=367.27
provides = lib32-libglvnd
conflicts = lib32-nvidia-utils
conflicts = lib32-libglvnd
diff --git a/PKGBUILD b/PKGBUILD
index c0263648946c..bdbf2e1e4027 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@
_lib32=0
pkgname=('nvidia-full-beta' 'nvidia-utils-full-beta' 'nvidia-libgl-full-beta' 'opencl-nvidia-full-beta')
-pkgver=367.18
+pkgver=367.27
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
@@ -26,13 +26,15 @@ elif [[ $_lib32 = 1 ]] || pacman -Q lib32-nvidia-utils-full-beta &>/dev/null; th
fi
# Source
-source=('20-nvidia.conf')
+source=('20-nvidia.conf'
+ '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/$_pkg.run")
-md5sums=('2640eac092c220073f0668a7aaff61f7')
-md5sums_i686=('9ae023927692dab99f23a006865fa966')
-md5sums_x86_64=('0e01ed625c26ad4e4b44a7b139a3e363')
-[[ $_pkg = NVIDIA-Linux-x86_64-$pkgver ]] && md5sums_x86_64=('3b08d38b21d485c0d680b065415e1e21')
+md5sums=('2640eac092c220073f0668a7aaff61f7'
+ '0b68fdfd7b43a20e47a3ddb06004e820')
+md5sums_i686=('f32b9ab673acce56990f2b5acdc1e77f')
+md5sums_x86_64=('cdf8a16c533382acc9f088bd8e689860')
+[[ $_pkg = NVIDIA-Linux-x86_64-$pkgver ]] && md5sums_x86_64=('8f146c8270430af73c7b4333f1c46eb8')
# 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;