diff options
author | graysky | 2018-09-05 14:44:11 -0400 |
---|---|---|
committer | graysky | 2018-09-05 14:44:11 -0400 |
commit | d8a32e8872bc717ea6071f1bca98a49d563cf14f (patch) | |
tree | 1ef33d2f1e7a1ca05b9d1594e29c04b123d172f8 | |
parent | e1ddc8197f21ba62c3b56cbae232054162563eea (diff) | |
download | aur-d8a32e8872bc717ea6071f1bca98a49d563cf14f.tar.gz |
Update to 390.77-6
-rw-r--r-- | .SRCINFO | 5 | ||||
-rw-r--r-- | PKGBUILD | 6 | ||||
-rw-r--r-- | unfuck.patch | 35 |
3 files changed, 42 insertions, 4 deletions
@@ -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 @@ -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) + { |