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