summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD2
-rw-r--r--kernel-5.8.patch196
3 files changed, 102 insertions, 98 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a7e303ad5a24..41e0ec88cdc7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -18,7 +18,7 @@ pkgbase = nvidia-390xx
source = https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers/-/raw/4ba8f0d0b7fc3e7c2cce19c23930b279c15280e5/debian/module/debian/patches/disable-module-nvidia-uvm.patch
b2sums = bf56cef38d76accdf547b96cd444b0bd4288f604d44a1d274f3246c13310d6a59050b36f384280edb83938db81fa0544f7a2dc84ff6f440ff90b76ee62749fc1
b2sums = 1d21307640a3844752c92e8344518daf6ad62d846689bebe6eed4dcadbf7b2e742862f5c17c0faee7256662cb75e62e124d59e5a5617e87324e1f0658f2b748d
- b2sums = 1e6ad252be5f603e022c854d391d4d768fb81d532a837203ab3b024dbb10f328c40a9579a19ab730de4e16f3841f15bfbcd1815ec913ac3d555811daf338ae6d
+ b2sums = dd3ce18cddc1984deffb94c999b4f086da2fac784fc09dc092efd2fb78b65200fadf90d13f6352226ebbf4aa99b4258aae722403b90ddd64eee1c942ef94114b
b2sums = 7358919041a3d5df1cac50f6519b282abe7a344f07b59d52ab95a022ce0af12e743a1c194fd838b5733f3900e68c7f0756a528ac32255775f2ba830a2f052dec
b2sums = 8d7c054ff08ed6212aa81f3db6597c1e016609bdddfb19161274e5e75b0ae8b5c5501740ca6a75367d152b16f8350319bd2577561aa796cfe49840c4bd2c2d5d
b2sums = 435120fd87d901f36f4b3ed4d7d2a6a745185feb66506981b231071aec255b2bc91c536685e5c943ce17f07f4c52ca8086c08fa5c6367dddebc4b3c2493c32ae
diff --git a/PKGBUILD b/PKGBUILD
index 4346383b7f4d..632b2a16fc17 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -26,7 +26,7 @@ source=("https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.r
'https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers/-/raw/4ba8f0d0b7fc3e7c2cce19c23930b279c15280e5/debian/module/debian/patches/disable-module-nvidia-uvm.patch')
b2sums=('bf56cef38d76accdf547b96cd444b0bd4288f604d44a1d274f3246c13310d6a59050b36f384280edb83938db81fa0544f7a2dc84ff6f440ff90b76ee62749fc1'
'1d21307640a3844752c92e8344518daf6ad62d846689bebe6eed4dcadbf7b2e742862f5c17c0faee7256662cb75e62e124d59e5a5617e87324e1f0658f2b748d'
- '1e6ad252be5f603e022c854d391d4d768fb81d532a837203ab3b024dbb10f328c40a9579a19ab730de4e16f3841f15bfbcd1815ec913ac3d555811daf338ae6d'
+ 'dd3ce18cddc1984deffb94c999b4f086da2fac784fc09dc092efd2fb78b65200fadf90d13f6352226ebbf4aa99b4258aae722403b90ddd64eee1c942ef94114b'
'7358919041a3d5df1cac50f6519b282abe7a344f07b59d52ab95a022ce0af12e743a1c194fd838b5733f3900e68c7f0756a528ac32255775f2ba830a2f052dec'
'8d7c054ff08ed6212aa81f3db6597c1e016609bdddfb19161274e5e75b0ae8b5c5501740ca6a75367d152b16f8350319bd2577561aa796cfe49840c4bd2c2d5d'
'435120fd87d901f36f4b3ed4d7d2a6a745185feb66506981b231071aec255b2bc91c536685e5c943ce17f07f4c52ca8086c08fa5c6367dddebc4b3c2493c32ae')
diff --git a/kernel-5.8.patch b/kernel-5.8.patch
index 48649d7e6aa0..31bc0e685baf 100644
--- a/kernel-5.8.patch
+++ b/kernel-5.8.patch
@@ -1,96 +1,100 @@
-diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
-index ac5bb95..3d2f0b7 100644
---- a/kernel/common/inc/nv-linux.h
-+++ b/kernel/common/inc/nv-linux.h
-@@ -531,7 +531,11 @@ extern int nv_pat_mode;
-
- static inline void *nv_vmalloc(unsigned long size)
- {
-+#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG)
- void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
-+#else
-+ void *ptr = __vmalloc(size, GFP_KERNEL);
-+#endif
- if (ptr)
- NV_MEMDBG_ADD(ptr, size);
- return ptr;
-diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h
-index 1270bf3..d2d7657 100644
---- a/kernel/common/inc/nv-mm.h
-+++ b/kernel/common/inc/nv-mm.h
-@@ -29,6 +29,10 @@
- typedef int vm_fault_t;
- #endif
-
-+#if defined(NV_MM_HAS_MMAP_LOCK)
-+#define mmap_sem mmap_lock
-+#endif
-+
- /* get_user_pages
- *
- * The 8-argument version of get_user_pages was deprecated by commit
-diff --git a/kernel/conftest.sh b/kernel/conftest.sh
-index 7da7505..7793dd6 100755
---- a/kernel/conftest.sh
-+++ b/kernel/conftest.sh
-@@ -4067,6 +4067,44 @@ compile_test() {
- compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions"
- ;;
-
-+ vmalloc_has_pgprot_t_arg)
-+ #
-+ # Determine if __vmalloc has the 'pgprot' argument.
-+ #
-+ # The third argument to __vmalloc, page protection
-+ # 'pgprot_t prot', was removed by commit 88dca4ca5a93
-+ # (mm: remove the pgprot argument to __vmalloc)
-+ # in v5.8-rc1 (2020-06-01).
-+ CODE="
-+ #include <linux/vmalloc.h>
-+
-+ void conftest_vmalloc_has_pgprot_t_arg(void) {
-+ pgprot_t prot;
-+ (void)__vmalloc(0, 0, prot);
-+ }"
-+
-+ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types"
-+
-+ ;;
-+
-+ mm_has_mmap_lock)
-+ #
-+ # Determine if the 'mm_struct' structure has a 'mmap_lock' field.
-+ #
-+ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem
-+ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock'
-+ # in v5.8-rc1 (2020-06-08).
-+ CODE="
-+ #include <linux/mm_types.h>
-+
-+ int conftest_mm_has_mmap_lock(void) {
-+ return offsetof(struct mm_struct, mmap_lock);
-+ }"
-+
-+ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types"
-+
-+ ;;
-+
- pci_dev_has_skip_bus_pm)
- #
- # Determine if skip_bus_pm flag is present in struct pci_dev.
-diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
-index 63e369f..656db7b 100644
---- a/kernel/nvidia/nvidia.Kbuild
-+++ b/kernel/nvidia/nvidia.Kbuild
-@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir
- NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull
- NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type
- NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
-+NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg
- NV_CONFTEST_TYPE_COMPILE_TESTS += timeval
-+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock
- NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work
- NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink
- NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm
---
-2.25.1
+From: Alberto Milone <alberto.milone@canonical.com>
+Date: Mon, 13 Jul 2020 14:04:41 +0200
+Subject: [PATCH 1/1] Add support for Linux 5.8
+
+diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
+index ac5bb95..3d2f0b7 100644
+--- a/kernel/common/inc/nv-linux.h
++++ b/kernel/common/inc/nv-linux.h
+@@ -531,7 +531,11 @@ extern int nv_pat_mode;
+
+ static inline void *nv_vmalloc(unsigned long size)
+ {
++#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG)
+ void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
++#else
++ void *ptr = __vmalloc(size, GFP_KERNEL);
++#endif
+ if (ptr)
+ NV_MEMDBG_ADD(ptr, size);
+ return ptr;
+diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h
+index 1270bf3..d2d7657 100644
+--- a/kernel/common/inc/nv-mm.h
++++ b/kernel/common/inc/nv-mm.h
+@@ -29,6 +29,10 @@
+ typedef int vm_fault_t;
+ #endif
+
++#if defined(NV_MM_HAS_MMAP_LOCK)
++#define mmap_sem mmap_lock
++#endif
++
+ /* get_user_pages
+ *
+ * The 8-argument version of get_user_pages was deprecated by commit
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index 7da7505..7793dd6 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -4067,6 +4067,44 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions"
+ ;;
+
++ vmalloc_has_pgprot_t_arg)
++ #
++ # Determine if __vmalloc has the 'pgprot' argument.
++ #
++ # The third argument to __vmalloc, page protection
++ # 'pgprot_t prot', was removed by commit 88dca4ca5a93
++ # (mm: remove the pgprot argument to __vmalloc)
++ # in v5.8-rc1 (2020-06-01).
++ CODE="
++ #include <linux/vmalloc.h>
++
++ void conftest_vmalloc_has_pgprot_t_arg(void) {
++ pgprot_t prot;
++ (void)__vmalloc(0, 0, prot);
++ }"
++
++ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types"
++
++ ;;
++
++ mm_has_mmap_lock)
++ #
++ # Determine if the 'mm_struct' structure has a 'mmap_lock' field.
++ #
++ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem
++ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock'
++ # in v5.8-rc1 (2020-06-08).
++ CODE="
++ #include <linux/mm_types.h>
++
++ int conftest_mm_has_mmap_lock(void) {
++ return offsetof(struct mm_struct, mmap_lock);
++ }"
++
++ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types"
++
++ ;;
++
+ pci_dev_has_skip_bus_pm)
+ #
+ # Determine if skip_bus_pm flag is present in struct pci_dev.
+diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
+index 63e369f..656db7b 100644
+--- a/kernel/nvidia/nvidia.Kbuild
++++ b/kernel/nvidia/nvidia.Kbuild
+@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir
+ NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull
+ NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type
+ NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
++NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg
+ NV_CONFTEST_TYPE_COMPILE_TESTS += timeval
++NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock
+ NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work
+ NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink
+ NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm
+--
+2.25.1