Downgrade nvidia 470.86 to 470.63

Hello!
I have manjaro KDE installed on my System (I7-4770, 16GB DDR3, GTX 660 1,5GB, 2 4/3 DVI Monitors).

Recently i updated all my packages and it installed the 495XX Driver. Due to this driver beeing not supportet i removed it via mhwd and installed the current 470XX one (470.86).
Sadly my second monitor stopped working in the GUI. It works in Windows 10, it even displays POST and GRUB, but as soon as the login screen appears it is gone. I tried enabling it in the nVidia settings, but any setting I change for the moitor it does not let me apply them. Furthermore the Checkbox for Xinerama never appears at all.

I tried booting from an Manjaro USB, and it works there (in the current ISO the 470.63 driver is installed) I tried copying the whole /etc/X11 folder over to the SSD, but it still does not work.

Out of Curiosity I tried the 390XX drivers and there another Issue is present (Second screen only shows mouse cursor, but no Program-Windows)

Due to the 470.63 being the only one I got working fine i would like to downgrade 470.86 to 470.63.

Whoi can downgrade to 470.63?
If someone knows a solution, on how I get my Monitors working on 470.86 i am also happy to try them out…

Hi,

  • pamac install downgrade

  • If the old version exists in your local.
    sudo downgrade nvidia-XXXX

  • Or if the old version does not exist in your local, use remote.
    sudo DOWNGRADE_FROM_ALA=1 downgrade nvidia-XXXX

See:
https://wiki.manjaro.org/index.php/Downgrading_packages


It is deprecated and replaced by:
sudo downgrade --ala-only nvidia-XXXX

Never used this myself but a few people have recommended it. You can install any nvidia driver from 396 up with this

1 Like

There is no remote for the NVIDIA driver as we package our own, Arch does it differently. ALA = Arch Linux Archive .

I see. There is no solution for downgrade of the NVIDIA driver, if it is not in cache of pamac (local).

i sadly do not have a nvidia-470.63 package, but i have the following:
linux54-nvidia-470.63.01-10-x86_64.pkg.tar.zst
linux54-nvidia-470.63.01-11-x86_64.pkg.tar.zst
linux54-nvidia-470.63.01-3-x86_64.pkg.tar.zst
mhwd-nvidia-470.63.01-1-any.pkg.tar.zst
nvidia-utils-470.63.01-1-x86_64.pkg.tar.zst
nvidia-utils-470.63.01-2-x86_64.pkg.tar.zst

Can I install the driver from one of them?

Simple answer: you don’t downgrade one package. That puts you in a partial upgrade state, which is unsupported on rolling Linux distros like Manjaro/Arch.

I know that, and if there’s another solution without downgrading i happily try that!
If there is none I need to downgrade the driver to get my system to a functional state, where I can use both monitors.

This package seems to have quite a few issues, at least with any driver older than 496.xx. Not only that most of the provided patches fail, even after adjusting the patches, it is not possible to compile any older driver. For example, trying to build the 396.18 driver, I get errors like this:

/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:88:1: warning: data definition has no type or storage class
   88 | NV_DEFINE_PROCFS_SINGLE_FILE(permissions);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:88:1: error: type defaults to 'int' in declaration of 'NV_DEFINE_PROCFS_SINGLE_FILE' [-Werror=implicit-int]
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:88:1: warning: parameter names (without types) in function declaration
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:30:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c: In function 'nvlink_permissions_init':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: error: 'nv_procfs_permissions_fops' undeclared (first use in this function)
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:108:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  108 |     nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
      |                          ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: note: each undeclared identifier is reported only once for each function it appears in
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:108:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  108 |     nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
      |                          ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:108:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  108 |     nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
      |                          ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:108:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  108 |     nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
      |                          ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.c:30:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nvlink_linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h: In function 'uvm_va_range_vma_check':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:14: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |              ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:32: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |                                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:34: warning: passing argument 1 of 'rwsem_is_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                  ^~~~
      |                                  |
      |                                  int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:11,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-pgprot.h:17,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:21,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_linux.h:41,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.c:24:
./include/linux/rwsem.h:57:56: note: expected 'struct rw_semaphore *' but argument is of type 'int'
   57 | static inline int rwsem_is_locked(struct rw_semaphore *sem)
      |                                   ~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:69: warning: passing argument 1 of 'uvm_check_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                                                     ^~~~
      |                                                                     |
      |                                                                     int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:462:38: note: expected 'void *' but argument is of type 'int'
  462 |   static bool uvm_check_locked(void *lock, uvm_lock_mode_t mode)
      |                                ~~~~~~^~~~
make[2]: *** [scripts/Makefile.build:280: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_global.o] Error 1
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h: In function 'uvm_va_range_vma_check':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:14: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |              ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:32: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |                                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:34: warning: passing argument 1 of 'rwsem_is_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                  ^~~~
      |                                  |
      |                                  int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:11,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-pgprot.h:17,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:21,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_linux.h:41,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
./include/linux/rwsem.h:57:56: note: expected 'struct rw_semaphore *' but argument is of type 'int'
   57 | static inline int rwsem_is_locked(struct rw_semaphore *sem)
      |                                   ~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:69: warning: passing argument 1 of 'uvm_check_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                                                     ^~~~
      |                                                                     |
      |                                                                     int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:462:38: note: expected 'void *' but argument is of type 'int'
  462 |   static bool uvm_check_locked(void *lock, uvm_lock_mode_t mode)
      |                                ~~~~~~^~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_vm_open_managed':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:305:50: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  305 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:305:5: note: in expansion of macro 'uvm_record_lock_mmap_sem_write'
  305 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:354:52: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  354 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                    ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:354:5: note: in expansion of macro 'uvm_record_unlock_mmap_sem_write'
  354 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_vm_close_managed':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:364:54: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  364 |         uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                      ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:364:9: note: in expansion of macro 'uvm_record_lock_mmap_sem_write'
  364 |         uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:394:56: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  394 |         uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                        ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:394:9: note: in expansion of macro 'uvm_record_unlock_mmap_sem_write'
  394 |         uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_vm_fault':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:422:48: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  422 |     uvm_record_lock_mmap_sem_read(&vma->vm_mm->mmap_sem);
      |                                                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:422:5: note: in expansion of macro 'uvm_record_lock_mmap_sem_read'
  422 |     uvm_record_lock_mmap_sem_read(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:482:50: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  482 |     uvm_record_unlock_mmap_sem_read(&vma->vm_mm->mmap_sem);
      |                                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:482:5: note: in expansion of macro 'uvm_record_unlock_mmap_sem_read'
  482 |     uvm_record_unlock_mmap_sem_read(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_vm_open_semaphore_pool':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:551:50: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  551 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:551:5: note: in expansion of macro 'uvm_record_lock_mmap_sem_write'
  551 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:589:52: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  589 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                    ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:589:5: note: in expansion of macro 'uvm_record_unlock_mmap_sem_write'
  589 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_vm_close_semaphore_pool':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:599:54: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  599 |         uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                      ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:599:9: note: in expansion of macro 'uvm_record_lock_mmap_sem_write'
  599 |         uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:608:56: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  608 |         uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                        ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:608:9: note: in expansion of macro 'uvm_record_unlock_mmap_sem_write'
  608 |         uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm_mmap':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:634:50: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  634 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:634:5: note: in expansion of macro 'uvm_record_lock_mmap_sem_write'
  634 |     uvm_record_lock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:720:52: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  720 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |                                                    ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:720:5: note: in expansion of macro 'uvm_record_unlock_mmap_sem_write'
  720 |     uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c: In function 'uvm8_initialize':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:860:43: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  860 |     uvm_down_write_mmap_sem(&current->mm->mmap_sem);
      |                                           ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:519:16: note: in definition of macro 'uvm_down_write_mmap_sem'
  519 |         typeof(mmap_sem) _sem = (mmap_sem);             \
      |                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:860:43: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  860 |     uvm_down_write_mmap_sem(&current->mm->mmap_sem);
      |                                           ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:519:34: note: in definition of macro 'uvm_down_write_mmap_sem'
  519 |         typeof(mmap_sem) _sem = (mmap_sem);             \
      |                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:521:20: warning: passing argument 1 of 'down_write' makes pointer from integer without a cast [-Wint-conversion]
  521 |         down_write(_sem);                               \
      |                    ^~~~
      |                    |
      |                    int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:860:5: note: in expansion of macro 'uvm_down_write_mmap_sem'
  860 |     uvm_down_write_mmap_sem(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:11,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-pgprot.h:17,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:21,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_linux.h:41,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
./include/linux/rwsem.h:137:45: note: expected 'struct rw_semaphore *' but argument is of type 'int'
  137 | extern void down_write(struct rw_semaphore *sem);
      |                        ~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:30,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:879:41: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  879 |     uvm_up_write_mmap_sem(&current->mm->mmap_sem);
      |                                         ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:525:16: note: in definition of macro 'uvm_up_write_mmap_sem'
  525 |         typeof(mmap_sem) _sem = (mmap_sem);             \
      |                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:879:41: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  879 |     uvm_up_write_mmap_sem(&current->mm->mmap_sem);
      |                                         ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:525:34: note: in definition of macro 'uvm_up_write_mmap_sem'
  525 |         typeof(mmap_sem) _sem = (mmap_sem);             \
      |                                  ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:526:18: warning: passing argument 1 of 'up_write' makes pointer from integer without a cast [-Wint-conversion]
  526 |         up_write(_sem);                                 \
      |                  ^~~~
      |                  |
      |                  int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:879:5: note: in expansion of macro 'uvm_up_write_mmap_sem'
  879 |     uvm_up_write_mmap_sem(&current->mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:11,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-pgprot.h:17,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:21,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_linux.h:41,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_api.h:29,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.c:24:
./include/linux/rwsem.h:153:43: note: expected 'struct rw_semaphore *' but argument is of type 'int'
  153 | extern void up_write(struct rw_semaphore *sem);
      |                      ~~~~~~~~~~~~~~~~~~~~~^~~
make[2]: *** [scripts/Makefile.build:280: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8.o] Error 1
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_pmm_gpu.h:55,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_gpu.h:37,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h: In function 'uvm_va_range_vma_check':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:14: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |              ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:45: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |                                             ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:492:32: note: in definition of macro 'uvm_assert_mmap_sem_locked_mode'
  492 |       typeof(mmap_sem) _sem = (mmap_sem);                                           \
      |                                ^~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:23:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:34: warning: passing argument 1 of 'rwsem_is_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                  ^~~~
      |                                  |
      |                                  int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:11,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-pgprot.h:17,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:21,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_linux.h:41,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:48,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:23:
./include/linux/rwsem.h:57:56: note: expected 'struct rw_semaphore *' but argument is of type 'int'
   57 | static inline int rwsem_is_locked(struct rw_semaphore *sem)
      |                                   ~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:23:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:69: warning: passing argument 1 of 'uvm_check_locked' makes pointer from integer without a cast [-Wint-conversion]
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |                                                                     ^~~~
      |                                                                     |
      |                                                                     int
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:126:47: note: in definition of macro 'UVM_IGNORE_EXPR'
  126 | #define UVM_IGNORE_EXPR(expr) ((void)sizeof(!(expr)))
      |                                               ^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm_common.h:156:26: note: in expansion of macro '_UVM_ASSERT_MSG'
  156 | #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
      |                          ^~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:493:7: note: in expansion of macro 'UVM_ASSERT'
  493 |       UVM_ASSERT(rwsem_is_locked(_sem) && uvm_check_locked_mmap_sem(_sem, (mode))); \
      |       ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:496:53: note: in expansion of macro 'uvm_assert_mmap_sem_locked_mode'
  496 | #define uvm_assert_mmap_sem_locked(mmap_sem)        uvm_assert_mmap_sem_locked_mode((mmap_sem), UVM_LOCK_MODE_ANY)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_va_range.h:670:5: note: in expansion of macro 'uvm_assert_mmap_sem_locked'
  670 |     uvm_assert_mmap_sem_locked(&vma->vm_mm->mmap_sem);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_pmm_gpu.h:55,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_gpu.h:37,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:24:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_lock.h:462:38: note: expected 'void *' but argument is of type 'int'
  462 |   static bool uvm_check_locked(void *lock, uvm_lock_mode_t mode)
      |                                ~~~~~~^~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c: In function 'map_user_pages':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:273:29: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  273 |     down_read(&current->mm->mmap_sem);
      |                             ^~~~~~~~
      |                             mmap_base
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.c:275:27: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  275 |     up_read(&current->mm->mmap_sem);
      |                           ^~~~~~~~
      |                           mmap_base
make[2]: *** [scripts/Makefile.build:280: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia-uvm/uvm8_tools.o] Error 1
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:161:1: warning: data definition has no type or storage class
  161 | NV_DEFINE_PROCFS_SINGLE_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:161:1: error: type defaults to 'int' in declaration of 'NV_DEFINE_PROCFS_SINGLE_FILE' [-Werror=implicit-int]
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:161:1: warning: parameter names (without types) in function declaration
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:175:1: warning: data definition has no type or storage class
  175 | NV_DEFINE_PROCFS_SINGLE_FILE(version);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:175:1: error: type defaults to 'int' in declaration of 'NV_DEFINE_PROCFS_SINGLE_FILE' [-Werror=implicit-int]
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:175:1: warning: parameter names (without types) in function declaration
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:346:1: warning: data definition has no type or storage class
  346 | NV_DEFINE_PROCFS_SINGLE_FILE(params);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:346:1: error: type defaults to 'int' in declaration of 'NV_DEFINE_PROCFS_SINGLE_FILE' [-Werror=implicit-int]
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:346:1: warning: parameter names (without types) in function declaration
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:700:1: warning: data definition has no type or storage class
  700 | NV_DEFINE_PROCFS_SINGLE_FILE(text_file);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:700:1: error: type defaults to 'int' in declaration of 'NV_DEFINE_PROCFS_SINGLE_FILE' [-Werror=implicit-int]
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:700:1: warning: parameter names (without types) in function declaration
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: error: 'nv_procfs_text_file_fops' undeclared (first use in this function); did you mean 'nv_procfs_registry_fops'?
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:709:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  709 |     NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
      |     ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: note: each undeclared identifier is reported only once for each function it appears in
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:709:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  709 |     NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
      |     ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:709:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  709 |     NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
      |     ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:709:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  709 |     NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
      |     ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c: In function 'nv_register_procfs':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: error: 'nv_procfs_params_fops' undeclared (first use in this function); did you mean 'nv_procfs_registry_fops'?
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:763:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  763 |     entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:763:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  763 |     entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:763:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  763 |     entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:46: error: initialization of 'const struct file_operations *' from incompatible pointer type 'struct proc_ops *' [-Werror=incompatible-pointer-types]
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                              ^
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:767:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  767 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:767:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  767 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:767:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  767 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: error: 'nv_procfs_version_fops' undeclared (first use in this function); did you mean 'nv_procfs_registry_fops'?
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:788:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  788 |     entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:788:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  788 |     entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:788:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  788 |     entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu':
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:47: error: 'nv_procfs_gpu_info_fops' undeclared (first use in this function)
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                               ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:831:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  831 |     entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:831:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  831 |     entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:831:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  831 |     entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
      |             ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:46: error: initialization of 'const struct file_operations *' from incompatible pointer type 'struct proc_ops *' [-Werror=incompatible-pointer-types]
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                              ^
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:836:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  836 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:836:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  836 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
      |             ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:836:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  836 |     entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
      |             ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:46: error: initialization of 'const struct file_operations *' from incompatible pointer type 'struct proc_ops *' [-Werror=incompatible-pointer-types]
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                              ^
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:842:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  842 |         entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
      |                 ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:842:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  842 |         entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
      |                 ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:842:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  842 |         entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:299,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:60:46: error: initialization of 'const struct file_operations *' from incompatible pointer type 'struct proc_ops *' [-Werror=incompatible-pointer-types]
   60 |         const struct file_operations *fops = &nv_procfs_##__name##_fops;        \
      |                                              ^
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:850:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  850 |         entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
      |                 ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:61:19: error: 'const struct file_operations' has no member named 'proc_write'; did you mean 'splice_write'?
   61 |         if (fops->proc_write != 0)                                       \
      |                   ^~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:850:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  850 |         entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
      |                 ^~~~~~~~~~~~~~~~~~~
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-procfs.h:63:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
   63 |         __entry = proc_create_data(filename, mode, parent, fops, __data);\
      |                                                            ^~~~
      |                                                            |
      |                                                            const struct file_operations *
/home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:850:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  850 |         entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/common/inc/nv-linux.h:205,
                 from /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.c:15:
./include/linux/proc_fs.h:106:48: note: expected 'const struct proc_ops *' but argument is of type 'const struct file_operations *'
  106 |                                                const struct proc_ops *,
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO/nvidia/nv-procfs.o] Error 1
make[1]: *** [Makefile:1822: /home/gerd/Downloads/nvidia-390xx/nvidia-all/src/NVIDIA-Linux-x86_64-396.18/kernel-5.10.85-1-MANJARO] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.10.85-1-MANJARO/build'
make: *** [Makefile:79: modules] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

@BW89 Well, you can uninstall all Nvidia packages you may have on your system. Then do this:

sudo pacman -Sy git base-devel
sudo git clone https://gitlab.manjaro.org/packages/extra/nvidia-utils.git
cd nvidia-utils
git checkout bbb47c57c6da2dfb20494d4a3812404defa963e4
makepkg -d
cd ..
git clone https://gitlab.manjaro.org/packages/multilib/lib32-nvidia-utils.git
cd lib32-nvidia-utils
git checkout 02a39437c5ea285bdb59b21e645dce9fcfc5ccd4
makepkg -d

This should give you 470.63.01 packages. You may want to install the dkms, utils and lib32-utils package. Also add those packages to the pacman ignore list: How To Ignore A Package From Being Upgraded In Arch Linux. DKMS will then update your Nvidia modules as needed when there is a new kernel update.

I finally fixed the issue!
It was not the downgrading the driver, but removing the X11 folder and running
“sudo mkinitcpio -P”
Now both Screens work fine!

Do you want to edit your opening post and mark it as solved and your previous post as the solution. It may help others who have the same issue