summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2018-09-05 14:44:11 -0400
committergraysky2018-09-05 14:44:11 -0400
commitd8a32e8872bc717ea6071f1bca98a49d563cf14f (patch)
tree1ef33d2f1e7a1ca05b9d1594e29c04b123d172f8
parente1ddc8197f21ba62c3b56cbae232054162563eea (diff)
downloadaur-d8a32e8872bc717ea6071f1bca98a49d563cf14f.tar.gz
Update to 390.77-6
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD6
-rw-r--r--unfuck.patch35
3 files changed, 42 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 078e44b5d6f8..cb9cc1a7bbc8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Wed Sep 5 16:33:43 UTC 2018
+# Wed Sep 5 18:44:11 UTC 2018
pkgbase = nvidia-390xx-ck
pkgdesc = NVIDIA drivers for linux-ck, 390xx legacy branch.
pkgver = 390.77
- pkgrel = 5
+ pkgrel = 6
url = http://www.nvidia.com/
arch = x86_64
license = custom
@@ -20,6 +20,7 @@ pkgbase = nvidia-390xx-ck
options = !strip
source = http://us.download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77-no-compat32.run
source = kernel-4.16.patch
+ source = unfuck.patch
sha256sums = 6eb950dc4b59697d12d79a975b2c21a5e3cde49a12b61432d7e836110a06a6ea
sha256sums = 622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385
diff --git a/PKGBUILD b/PKGBUILD
index 28546cbc93c5..5e51de484555 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=nvidia-390xx-ck
pkgver=390.77
-pkgrel=5
+pkgrel=6
_extramodules=extramodules-ck
_pkgdesc="NVIDIA drivers for linux-ck, 390xx legacy branch."
pkgdesc="$_pkgdesc"
@@ -18,7 +18,8 @@ conflicts=('nvidia-340xx-ck' 'nvidia-ck')
license=('custom')
options=('!strip')
source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
-kernel-4.16.patch)
+kernel-4.16.patch
+unfuck.patch)
sha256sums=('6eb950dc4b59697d12d79a975b2c21a5e3cde49a12b61432d7e836110a06a6ea'
'622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385')
@@ -31,6 +32,7 @@ prepare() {
# Restore phys_to_dma support (still needed for 396.18)
# https://bugs.archlinux.org/task/58074
patch -Np1 -i ../kernel-4.16.patch
+ patch -Np1 -i ../unfuck.patch
}
build() {
diff --git a/unfuck.patch b/unfuck.patch
new file mode 100644
index 000000000000..dc58bff0018d
--- /dev/null
+++ b/unfuck.patch
@@ -0,0 +1,35 @@
+diff -urp work.orig/kernel/common/inc/nv-linux.h work/kernel/common/inc/nv-linux.h
+--- work.orig/kernel/common/inc/nv-linux.h 2017-09-29 06:17:46.000000000 +0200
++++ work/kernel/common/inc/nv-linux.h 2017-10-08 00:52:42.721523788 +0200
+@@ -1189,7 +1189,8 @@ extern void *nvidia_stack_t_cache;
+ #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
+ #define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
+ kmem_cache_create(name, size, align, flags, ctor)
+-
++#define NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, size, align, flags, useroffset, usersize, ctor) \
++ kmem_cache_create_usercopy(name, size, align, flags, useroffset, usersize, ctor)
+ #else
+ #define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
+ kmem_cache_create(name, size, align, flags, ctor, NULL)
+@@ -1198,6 +1199,9 @@ extern void *nvidia_stack_t_cache;
+ #define NV_KMEM_CACHE_CREATE(name, type) \
+ NV_KMEM_CACHE_CREATE_FULL(name, sizeof(type), 0, 0, NULL)
+
++#define NV_KMEM_CACHE_CREATE_USERCOPY(name, type) \
++ NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, sizeof(type), 0, 0, 0, sizeof(type), NULL)
++
+ #define NV_KMEM_CACHE_DESTROY(kmem_cache) \
+ kmem_cache_destroy(kmem_cache)
+
+diff -urp work.orig/kernel/nvidia/nv.c work/kernel/nvidia/nv.c
+--- work.orig/kernel/nvidia/nv.c 2017-09-29 06:17:45.000000000 +0200
++++ work/kernel/nvidia/nv.c 2017-10-08 00:52:42.721523788 +0200
+@@ -682,7 +682,7 @@ int __init nvidia_init_module(void)
+
+ nv_memdbg_init();
+
+- nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE(nvidia_stack_cache_name,
++ nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE_USERCOPY(nvidia_stack_cache_name,
+ nvidia_stack_t);
+ if (nvidia_stack_t_cache == NULL)
+ {