diff options
author | Det | 2016-08-16 20:39:53 +0300 |
---|---|---|
committer | Det | 2016-08-16 20:39:53 +0300 |
commit | ebc7ffefa1665ce0af6a099eeeffa22a1e70d52e (patch) | |
tree | 2bfec85b56525d616bb16ab7a9ec10378877e59d | |
parent | 8a16debcdb76ad1bfcf32979371c6bd32d360753 (diff) | |
download | aur-ebc7ffefa1665ce0af6a099eeeffa22a1e70d52e.tar.gz |
Fix build for 4.7 + add patch for 4.8
-rw-r--r-- | .SRCINFO | 4 | ||||
-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, 52 deletions
@@ -15,8 +15,8 @@ pkgbase = nvidia-beta-all conflicts = nvidia-173xx conflicts = nvidia options = !strip - source = linux-4.7.patch - md5sums = 0b68fdfd7b43a20e47a3ddb06004e820 + source = linux-4.8.patch + 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 @@ -23,10 +23,10 @@ case "$CARCH" in esac # Source -source=('linux-4.7.patch') +source=('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/NVIDIA-Linux-x86_64-$pkgver-no-compat32.run") -md5sums=('0b68fdfd7b43a20e47a3ddb06004e820') +md5sums=('575708b8db401ff82ee4a26e491cc0da') md5sums_i686=('7b7466e23ae6ffa97106c9749aee2628') md5sums_x86_64=('cbe2cee787e07f8775a3fd994c9263a9') 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 |