Files
main/kernel/drivers/module-nvidia-current/files/mageia/NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch
T
2020-04-04 10:21:12 +03:00

46 lines
1.5 KiB
Diff

In this bug:
https://bugs.mageia.org/show_bug.cgi?id=25890
The nvidia-current conftest.sh falsely detects support for
set_memory_array_uc/wb() in 5.4 series kernels
Fix it by adding linux kernel version checks to exclude the unsuppoorted code
Signed-off-by: Thomas Backlund <tmb@mageia.org>
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-vm.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-vm.c
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-vm.c 2019-10-27 13:48:11.000000000 +0200
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-vm.c 2019-12-29 23:54:36.176732208 +0200
@@ -42,12 +42,14 @@ static inline int nv_set_memory_array_ty
{
switch (type)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#if defined(NV_SET_MEMORY_ARRAY_UC_PRESENT)
case NV_MEMORY_UNCACHED:
return 1;
case NV_MEMORY_WRITEBACK:
return 1;
#endif
+#endif
default:
return 0;
}
@@ -61,6 +63,7 @@ static inline void nv_set_memory_array_t
{
switch (type)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#if defined(NV_SET_MEMORY_ARRAY_UC_PRESENT)
case NV_MEMORY_UNCACHED:
set_memory_array_uc(pages, num_pages);
@@ -69,6 +72,7 @@ static inline void nv_set_memory_array_t
set_memory_array_wb(pages, num_pages);
break;
#endif
+#endif
default:
nv_printf(NV_DBG_ERRORS,
"NVRM: %s(): type %d unimplemented\n",