diff options
author | Det | 2016-08-16 20:39:57 +0300 |
---|---|---|
committer | Det | 2016-08-16 20:39:57 +0300 |
commit | 36045de20385e23420fc55bb30572f7a80683c42 (patch) | |
tree | a1f28d756c4d9cc5d3098abb1b58d35ff1ef0139 | |
parent | d24ad5bf10513dfa19808bd5d11de4c692aa8dda (diff) | |
download | aur-36045de20385e23420fc55bb30572f7a80683c42.tar.gz |
Fix build for 4.7 + add patch for 4.8
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | linux-4.7.patch | 48 | ||||
-rw-r--r-- | linux-4.8.patch | 74 |
4 files changed, 78 insertions, 50 deletions
@@ -10,7 +10,9 @@ pkgbase = nvidia-full-beta makedepends = linux-headers options = !strip source = 20-nvidia.conf + source = linux-4.8.patch md5sums = 2640eac092c220073f0668a7aaff61f7 + md5sums = 575708b8db401ff82ee4a26e491cc0da source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/370.23/NVIDIA-Linux-x86-370.23.run md5sums_i686 = 7b7466e23ae6ffa97106c9749aee2628 source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/370.23/NVIDIA-Linux-x86_64-370.23-no-compat32.run @@ -27,11 +27,11 @@ fi # Source source=('20-nvidia.conf' - 'linux-4.7.patch') + 'linux-4.8.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' - '0b68fdfd7b43a20e47a3ddb06004e820') + '575708b8db401ff82ee4a26e491cc0da') md5sums_i686=('7b7466e23ae6ffa97106c9749aee2628') md5sums_x86_64=('cbe2cee787e07f8775a3fd994c9263a9') [[ $_pkg = NVIDIA-Linux-x86_64-$pkgver ]] && md5sums_x86_64=('65b99201ca894ea9a878593fbb19f0a3') diff --git a/linux-4.7.patch b/linux-4.7.patch deleted file mode 100644 index d1d2a1ace76a..000000000000 --- a/linux-4.7.patch +++ /dev/null @@ -1,48 +0,0 @@ -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; diff --git a/linux-4.8.patch b/linux-4.8.patch new file mode 100644 index 000000000000..f8302d13ef6f --- /dev/null +++ b/linux-4.8.patch @@ -0,0 +1,74 @@ +diff -u --recursive NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-drv.c patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-drv.c
+--- NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-drv.c 2016-07-25 13:23:10.000000000 +0200
++++ patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-drv.c 2016-08-02 17:09:53.500398878 +0200
+@@ -36,6 +36,7 @@
+ #include "nvidia-drm-ioctl.h"
+
+ #include <drm/drmP.h>
++#include <drm/drm_auth.h>
+
+ #include <drm/drm_crtc_helper.h>
+
+@@ -419,7 +420,7 @@
+
+ static
+ void nvidia_drm_master_drop(struct drm_device *dev,
+- struct drm_file *file_priv, bool from_release)
++ struct drm_file *file_priv)
+ {
+ struct nvidia_drm_device *nv_dev = dev->dev_private;
+ int ret;
+@@ -452,7 +453,7 @@
+ mutex_lock(&dev->master_mutex);
+
+ if (!file_priv->is_master ||
+- !file_priv->minor->master)
++ !file_priv->master)
+ {
+ goto done;
+ }
+@@ -473,7 +474,7 @@
+ * NVKMS modeset ownership, because nvidia_drm_master_set()'s call to
+ * grabOwnership() will fail.
+ */
+- drm_master_put(&file_priv->minor->master);
++ drm_master_put(&file_priv->master);
+ file_priv->is_master = 0;
+
+ ret = 0;
+diff -u --recursive NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-fb.c patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-fb.c
+--- NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-fb.c 2016-07-25 13:23:10.000000000 +0200
++++ patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-fb.c 2016-07-31 05:37:57.013950532 +0200
+@@ -114,7 +114,7 @@
+ * 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 -u --recursive NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-gem.c patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-gem.c
+--- NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-gem.c 2016-07-25 13:23:10.000000000 +0200
++++ patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-gem.c 2016-07-31 05:37:57.013950532 +0200
+@@ -408,7 +408,7 @@
+
+ mutex_lock(&dev->struct_mutex);
+
+- gem = drm_gem_object_lookup(dev, file, handle);
++ gem = drm_gem_object_lookup(file, handle);
+
+ if (gem == NULL)
+ {
+diff -u --recursive NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-modeset.c patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-modeset.c
+--- NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-modeset.c 2016-07-25 13:23:10.000000000 +0200
++++ patched_NVIDIA-Linux-x86_64-367.36.02/kernel/nvidia-drm/nvidia-drm-modeset.c 2016-08-02 17:14:57.895422720 +0200
+@@ -675,7 +675,7 @@
+ goto failed;
+ }
+
+- drm_atomic_helper_swap_state(dev, state);
++ drm_atomic_helper_swap_state(state, true);
+
+ nvidia_drm_update_head_mode_config(state, requested_config);
+
\ No newline at end of file |