Date: Monday, March 4, 2019 @ 21:10:40 Author: heftig Revision: 347061
340.107-66: kernel 5.0.arch1-1 Added: nvidia-340xx/trunk/kernel-5.0.patch Modified: nvidia-340xx/trunk/PKGBUILD ------------------+ PKGBUILD | 8 +++++--- kernel-5.0.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-03-04 21:10:33 UTC (rev 347060) +++ PKGBUILD 2019-03-04 21:10:40 UTC (rev 347061) @@ -6,7 +6,7 @@ pkgname=(nvidia-340xx nvidia-340xx-dkms) pkgver=340.107 _extramodules=extramodules-ARCH -pkgrel=65 +pkgrel=66 pkgdesc="NVIDIA drivers for linux, 340xx legacy branch" arch=('x86_64') url="http://www.nvidia.com/" @@ -15,9 +15,10 @@ 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.11.patch') + 'kernel-4.11.patch' 'kernel-5.0.patch') sha512sums=('0de6f182d67bd322df7ae04e74c0cde6973c55bfea47a8f2503a29f8a899cd1b801ae4b52d066628df4a4f9c84e5e7547465bdc37d1b87df47af43fdab23466f' - 'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2') + 'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2' + 'ad60f9d09b6e8d5038375f9ddaab93341958f9400f40f5175857e44c7f7002d481121dc5d677703551c3cdf24069939ac6a1861920a455acf40e637f24234a56') _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" @@ -27,6 +28,7 @@ # patches here patch -Np0 < "${srcdir}/kernel-4.11.patch" + patch -Np0 < "${srcdir}/kernel-5.0.patch" cp -a kernel kernel-dkms } Added: kernel-5.0.patch =================================================================== --- kernel-5.0.patch (rev 0) +++ kernel-5.0.patch 2019-03-04 21:10:40 UTC (rev 347061) @@ -0,0 +1,52 @@ +--- kernel/nv-drm.c 2018-05-25 04:16:20.000000000 +0000 ++++ kernel/nv-drm.c 2019-03-04 20:57:40.065280734 +0000 +@@ -252,7 +252,11 @@ + goto done; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) + drm_gem_object_unreference_unlocked(&nv_obj->base); ++#else ++ drm_gem_object_put_unlocked(&nv_obj->base); ++#endif + + status = RM_OK; + +--- kernel/os-interface.c 2018-05-25 04:16:20.000000000 +0000 ++++ kernel/os-interface.c 2019-03-04 21:03:03.815854982 +0000 +@@ -14,6 +14,16 @@ + #include "os-interface.h" + #include "nv-linux.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) ++static inline void do_gettimeofday(struct timeval *tv) ++{ ++ struct timespec64 now; ++ ktime_get_real_ts64(&now); ++ tv->tv_sec = now.tv_sec; ++ tv->tv_usec = now.tv_nsec/1000; ++} ++#endif ++ + RM_STATUS NV_API_CALL os_disable_console_access(void) + { + NV_ACQUIRE_CONSOLE_SEM(); +--- kernel/uvm/nvidia_uvm_lite.c 2019-03-04 20:57:25.815255511 +0000 ++++ kernel/uvm/nvidia_uvm_lite.c 2019-03-04 21:04:25.239333050 +0000 +@@ -30,6 +30,16 @@ + #include "nvidia_uvm_lite_counters.h" + #include "ctrl2080mc.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) ++static inline void do_gettimeofday(struct timeval *tv) ++{ ++ struct timespec64 now; ++ ktime_get_real_ts64(&now); ++ tv->tv_sec = now.tv_sec; ++ tv->tv_usec = now.tv_nsec/1000; ++} ++#endif ++ + // + // nvidia_uvm_lite.c + // This file contains code that is specific to the UVM-Lite mode of operation.