summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDet2017-05-01 10:39:30 +0300
committerDet2017-05-01 10:39:30 +0300
commit75c1f6632046d9348d5d2335edc69bbdbd4699df (patch)
treeedf1a3215536ec90b3651483010dd4f1a33a68f6
parent097a8ea1444705d29cbd530173c6d3d60c64c761 (diff)
downloadaur-75c1f6632046d9348d5d2335edc69bbdbd4699df.tar.gz
4.11 patch
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rw-r--r--linux-4.11.patch112
3 files changed, 118 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3489daae02fa..b12fa0bbbdbf 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,3 +1,5 @@
+# Generated by mksrcinfo v8
+# Mon May 1 07:39:30 UTC 2017
pkgbase = nvidia-beta-all
pkgdesc = NVIDIA drivers for all kernels on the system (beta)
pkgver = 381.09
@@ -15,6 +17,8 @@ pkgbase = nvidia-beta-all
conflicts = nvidia-173xx
conflicts = nvidia
options = !strip
+ source = linux-4.11.patch
+ md5sums = 897d9775dc484ab37934e7b102c5b325
source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/381.09/NVIDIA-Linux-x86-381.09.run
md5sums_i686 = aa16257e2ab1c28724479165afc187cc
source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/381.09/NVIDIA-Linux-x86_64-381.09-no-compat32.run
diff --git a/PKGBUILD b/PKGBUILD
index 3f611bc231f1..b5d05e55432c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -23,10 +23,10 @@ case "$CARCH" in
esac
# Source
-#source=('linux-4.10.patch')
+source=('linux-4.11.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=('e81769b830b7a1e60c635e3bbe559f59')
+md5sums=('897d9775dc484ab37934e7b102c5b325')
md5sums_i686=('aa16257e2ab1c28724479165afc187cc')
md5sums_x86_64=('fe66660415e3919681e61bfc4e95cba4')
diff --git a/linux-4.11.patch b/linux-4.11.patch
new file mode 100644
index 000000000000..5951face36ed
--- /dev/null
+++ b/linux-4.11.patch
@@ -0,0 +1,112 @@
+diff -ur NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-drv.c NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-drv.c
+--- NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-drv.c 2017-03-31 03:42:21.000000000 +0200
++++ NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-drv.c 2017-04-06 23:53:14.273356795 +0200
+@@ -48,6 +48,8 @@
+ #include <drm/drm_auth.h>
+ #endif
+
++#include <linux/version.h>
++
+ static struct nvidia_drm_device *dev_list = NULL;
+
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+@@ -398,7 +400,11 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ static int nvidia_drm_unload(struct drm_device *dev)
++#else
++static void nvidia_drm_unload(struct drm_device *dev)
++#endif
+ {
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+ struct NvKmsKapiDevice *pDevice = NULL;
+@@ -412,7 +418,11 @@
+
+ if (!nvidia_drm_modeset_enabled(dev))
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ return 0;
++#else
++ return;
++#endif
+ }
+
+ mutex_lock(&nv_dev->lock);
+@@ -445,7 +455,11 @@
+
+ #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ return 0;
++#else
++ return;
++#endif
+ }
+
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+@@ -542,7 +556,6 @@
+ void *data,
+ struct drm_file *file_priv)
+ {
+- struct nvidia_drm_device *nv_dev = dev->dev_private;
+ struct drm_nvidia_get_client_capability_params *params = data;
+
+ switch (params->capability)
+diff -ur NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-gem.c NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-gem.c
+--- NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-gem.c 2017-03-31 03:42:21.000000000 +0200
++++ NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-gem.c 2017-04-06 23:54:19.624353181 +0200
+@@ -31,6 +31,8 @@
+
+ #include "nv-mm.h"
+
++#include <linux/version.h>
++
+ static struct nvidia_drm_gem_object *nvidia_drm_gem_new
+ (
+ struct drm_file *file_priv,
+@@ -511,11 +513,19 @@
+ * Note that nvidia_drm_vma_fault() can be called for different or same
+ * ranges of the same drm_gem_object simultaneously.
+ */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ static int nvidia_drm_vma_fault(struct vm_area_struct *vma,
+ struct vm_fault *vmf)
++#else
++static int nvidia_drm_vma_fault(struct vm_fault *vmf)
++#endif
+ {
+ unsigned long address = nv_page_fault_va(vmf);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ struct drm_gem_object *gem = vma->vm_private_data;
++#else
++ struct drm_gem_object *gem = vmf->vma->vm_private_data;
++#endif
+ struct nvidia_drm_gem_object *nv_gem =
+ DRM_GEM_OBJECT_TO_NV_GEM_OBJECT(gem);
+ unsigned long page_offset, pfn;
+@@ -526,7 +536,11 @@
+
+ page_offset = vmf->pgoff - drm_vma_node_start(&gem->vma_node);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ ret = vm_insert_pfn(vma, address, pfn + page_offset);
++#else
++ ret = vm_insert_pfn(vmf->vma, address, pfn + page_offset);
++#endif
+
+ switch (ret) {
+ case 0:
+diff -ur NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-linux.c NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-linux.c
+--- NVIDIA-Linux-x86_64-381.09/kernel/nvidia-drm/nvidia-drm-linux.c 2017-03-31 03:42:21.000000000 +0200
++++ NVIDIA-Linux-x86_64-381.09.patched/kernel/nvidia-drm/nvidia-drm-linux.c 2017-04-06 23:53:14.273356795 +0200
+@@ -185,7 +185,7 @@
+ module_exit(nv_linux_drm_exit);
+
+ #if defined(MODULE_LICENSE)
+- MODULE_LICENSE("MIT");
++ MODULE_LICENSE("Dual MIT/GPL");
+ #endif
+ #if defined(MODULE_INFO)
+ MODULE_INFO(supported, "external");