Fail to install the latest Linux-AARCH64 driver

Hi,

I tried to install the latest Nvidia driver (510.54) on linux-aarch64 for GT1030 GPU card, but fail on building error:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/procfs_nvswitch.c: In function ‘nvswitch_procfs_init’:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types]
73 | __entry = proc_create_data(filename, mode, parent, fops, __data);
| ^~~~
| |
| const nv_proc_ops_t * {aka const struct file_operations *}
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro ‘NV_CREATE_PROC_FILE’
174 | nvswitch_permissions = NV_CREATE_PROC_FILE(“permissions”,
| ^~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/efi.h:19,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h:226,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/linux_nvswitch.h:27,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/procfs_nvswitch.c:24:
./include/linux/proc_fs.h:105:13: note: expected ‘const struct proc_ops *’ but argument is of type ‘const nv_proc_ops_t *’ {aka ‘const struct file_operations *’}
105 | const struct proc_ops *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/linux_nvswitch.h:27,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/i2c_nvswitch.c:24:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h: At top level:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h:195:21: error: conflicting types for ‘__kuid_val’
195 | static inline uid_t __kuid_val(uid_t uid)
| ^~~~~~~~~~
In file included from ./include/linux/ipc.h:6,
from ./include/uapi/linux/sem.h:5,
from ./include/linux/sem.h:5,
from ./include/linux/sched.h:15,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-lock.h:31,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h:32,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/linux_nvswitch.h:27,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/i2c_nvswitch.c:24:
./include/linux/uidgid.h:34:21: note: previous definition of ‘__kuid_val’ was here
34 | static inline uid_t __kuid_val(kuid_t uid)
| ^~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/procfs_nvswitch.o] Error 1
In file included from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/linux_nvswitch.h:27,
from /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/i2c_nvswitch.c:24:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h: In function ‘nv_phys_to_dma’:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h:728:12: error: implicit declaration of function ‘phys_to_dma’; did you mean ‘nv_phys_to_dma’? [-Werror=implicit-function-declaration]
728 | return phys_to_dma(dev, pa);
| ^~~~~~~~~~~
| nv_phys_to_dma
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h: In function ‘nv_is_dma_direct’:
/var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/common/inc/nv-linux.h:1227:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Werror=implicit-function-declaration]
1227 | if (dma_is_direct(get_dma_ops(dev)))
| ^~~~~~~~~~~~~
| d_is_dir
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel/nvidia/i2c_nvswitch.o] Error 1
make[2]: Target ‘__build’ not remade because of errors.
make[2]: warning: Clock skew detected. Your build may be incomplete.
make[1]: *** [Makefile:1805: /var/volatile/tmp/selfgz959/NVIDIA-Linux-aarch64-510.54/kernel] Error 2
make[1]: Target ‘modules’ not remade because of errors.
make[1]: Leaving directory ‘/lib/modules/5.10.0-xilinx-v2021.2/build’
make: *** [Makefile:82: modules] Error 2
make: warning: Clock skew detected. Your build may be incomplete.
ERROR: The nvidia kernel module was not created.

Here is the failed log.
nvidia-installer.log (10.6 MB)
(I also tried version 470.57.02, but also failed.)

This is the kernel and gcc version:
root@xilinx-zcu102-2021_2:~# cat /proc/version
Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Tue Oct 12 09:30:57 UTC 2021
root@xilinx-zcu102-2021_2:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-xilinx-linux/10.2.0/lto-wrapper
Target: aarch64-xilinx-linux
Configured with: …/…/…/…/…/…/work-shared/gcc-10.2.0-r0/gcc-10.2.0/configure --build=x86_64-linux --host=aarch64-xilinx-linux --target=aarch64-xilinx-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/ --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-default-pie --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=aarch64-xilinx-linux- --without-local-prefix --disable-install-libiberty --enable-lto --disable-libssp --enable-libitm --disable-bootstrap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --without-isl --with-build-sysroot=/ --disable-static --enable-nls --with-glibc-version=2.28 --enable-initfini-array --enable-__cxa_atexit
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC)
root@xilinx-zcu102-2021_2:~# cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-xilinx-linux/10.2.0/lto-wrapper
Target: aarch64-xilinx-linux
Configured with: …/…/…/…/…/…/work-shared/gcc-10.2.0-r0/gcc-10.2.0/configure --build=x86_64-linux --host=aarch64-xilinx-linux --target=aarch64-xilinx-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/ --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-default-pie --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=aarch64-xilinx-linux- --without-local-prefix --disable-install-libiberty --enable-lto --disable-libssp --enable-libitm --disable-bootstrap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --without-isl --with-build-sysroot=/ --disable-static --enable-nls --with-glibc-version=2.28 --enable-initfini-array --enable-__cxa_atexit
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC)

Any help would be appreciated.
Thanks very much.