summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/kernel-4.16.patch33
-rw-r--r--sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.77.ebuild1
2 files changed, 34 insertions, 0 deletions
diff --git a/sys-kernel/nvidia-drivers-dkms/files/kernel-4.16.patch b/sys-kernel/nvidia-drivers-dkms/files/kernel-4.16.patch
new file mode 100644
index 00000000..67172815
--- /dev/null
+++ b/sys-kernel/nvidia-drivers-dkms/files/kernel-4.16.patch
@@ -0,0 +1,33 @@
+diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
+index 10fc418..22ef968 100644
+--- a/kernel/common/inc/nv-linux.h
++++ b/kernel/common/inc/nv-linux.h
+@@ -175,7 +175,11 @@ static inline uid_t __kuid_val(kuid_t uid)
+
+ #if defined(NV_VM_INSERT_PAGE_PRESENT)
+ #include <linux/pagemap.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+ #include <linux/dma-mapping.h>
++#else
++#include <linux/dma-direct.h>
++#endif
+ #endif
+
+ #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64)
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index b23dbb4..42dc576 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -1906,7 +1906,12 @@ compile_test() {
+ # Determine if the phys_to_dma function is present.
+ #
+ CODE="
++ #include <linux/version.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+ #include <linux/dma-mapping.h>
++#else
++ #include <linux/dma-direct.h>
++#endif
+ void conftest_phys_to_dma(void) {
+ phys_to_dma();
+ }"
diff --git a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.77.ebuild b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.77.ebuild
index 92d75126..00243c36 100644
--- a/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.77.ebuild
+++ b/sys-kernel/nvidia-drivers-dkms/nvidia-drivers-dkms-390.77.ebuild
@@ -29,6 +29,7 @@ src_unpack() {
src_prepare() {
epatch ""${FILESDIR}"/"${P}"-conf.patch"
+ epatch ""${FILESDIR}"/kernel-4.16.patch"
}
src_install() {