@@ -218,8 +218,8 @@ def install():
|
||||
pisitools.dosym("libnvidia-egl-wayland.so.1.1.5", "%s/libnvidia-egl-wayland.so" % libdir)
|
||||
|
||||
# OpenGL core library and others
|
||||
for lib in ("allocator", "cbl", "eglcore", "encode", "ngx", "fbc", "glcore", "glsi", \
|
||||
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "rtcore", "tls" ):
|
||||
for lib in ("allocator", "cbl", "egl-wayland", "eglcore", "encode", "ngx", "fbc", "glcore", \
|
||||
"glsi", "glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "rtcore", "tls" ):
|
||||
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
<License>NVIDIA</License>
|
||||
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
|
||||
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
|
||||
<Archive sha1sum="95c2ae7761073f7a43130fa93e2357fcdfcad051" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/460.27.04/NVIDIA-Linux-x86_64-460.27.04.run</Archive>
|
||||
<Archive sha1sum="16ca8a3a1416f7fc62e22b2a1cab959c2a07211a" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/465.31/NVIDIA-Linux-x86_64-465.31.run</Archive>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="dkms.conf">dkms.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch">mageia/NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch</AdditionalFile>
|
||||
<!-- <AdditionalFile owner="root" permission="0644" target="NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch">mageia/NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch</AdditionalFile> -->
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency version="5.10.39">kernel-module-headers</Dependency>
|
||||
<Dependency version="5.10.41">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
@@ -29,7 +29,7 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for current NVIDIA graphics driver releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="5.10.39">kernel</Dependency>
|
||||
<Dependency version="5.10.41">kernel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
@@ -227,6 +227,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="38">
|
||||
<Date>2021-06-02</Date>
|
||||
<Version>465.31</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="37">
|
||||
<Date>2021-05-14</Date>
|
||||
<Version>460.27.04</Version>
|
||||
|
||||
@@ -1,263 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import kerneltools
|
||||
|
||||
WorkDir = "."
|
||||
KDIR = kerneltools.getKernelVersion()
|
||||
NoStrip = ["/lib/modules"]
|
||||
|
||||
version = get.srcVERSION()
|
||||
driver_dir_name = "nvidia465"
|
||||
datadir = "/usr/share/%s" % driver_dir_name
|
||||
libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib"
|
||||
arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x")
|
||||
nvlibdir = "%s/%s" % (libdir, driver_dir_name)
|
||||
xorglibdir= "%s/xorg" % libdir
|
||||
|
||||
def setup():
|
||||
shelltools.system("sh NVIDIA-Linux-x86_64-%s.run -x --target tmp"
|
||||
% get.srcVERSION())
|
||||
shelltools.move("tmp/*", ".")
|
||||
|
||||
#5.5 patch icin
|
||||
shelltools.move("tmp/.manifest", ".")
|
||||
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch")
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-430.64-kernel-5.5.patch")
|
||||
#shelltools.system("patch -p1 < kernel-5.6.patch")
|
||||
|
||||
|
||||
# Our libc is TLS enabled so use TLS library
|
||||
#shelltools.unlink("*-tls.so*")
|
||||
#shelltools.move("tls/*", ".")
|
||||
|
||||
# xorg-server provides libwfb.so
|
||||
#shelltools.unlink("libnvidia-wfb.so.*")
|
||||
|
||||
shelltools.echo("ld.so.conf", nvlibdir)
|
||||
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
|
||||
|
||||
# dkms
|
||||
shelltools.copytree("kernel", "kernel-dkms")
|
||||
shelltools.unlink("kernel-dkms/dkms.conf")
|
||||
shelltools.move("dkms.conf", "kernel-dkms/")
|
||||
pisitools.dosed("kernel-dkms/Makefile", "CC \?= cc", "CC = /usr/bin/cc")
|
||||
pisitools.dosed("kernel-dkms/dkms.conf", "%VERSION%", version)
|
||||
|
||||
def build():
|
||||
# We don't need kernel module for emul32 build
|
||||
if get.buildTYPE() == 'emul32':
|
||||
return
|
||||
|
||||
shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
|
||||
shelltools.cd("kernel")
|
||||
autotools.make("module")
|
||||
|
||||
|
||||
def install():
|
||||
|
||||
if not get.buildTYPE() == 'emul32':
|
||||
# Kernel driver
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-drm.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-uvm.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-modeset.ko")
|
||||
|
||||
# Command line tools and their man pages
|
||||
pisitools.dobin("nvidia-smi")
|
||||
pisitools.doman("nvidia-smi.1.gz")
|
||||
pisitools.dobin("nvidia-debugdump")
|
||||
#pisitools.dobin("nvidia-xconfig")
|
||||
#pisitools.doman("nvidia-xconfig.1.gz")
|
||||
pisitools.dobin("nvidia-bug-report.sh")
|
||||
pisitools.dobin("nvidia-cuda-mps-server")
|
||||
pisitools.dobin("nvidia-cuda-mps-control")
|
||||
pisitools.doman("nvidia-cuda-mps-control.1.gz")
|
||||
pisitools.dobin("nvidia-modprobe")
|
||||
pisitools.doman("nvidia-modprobe.1.gz")
|
||||
pisitools.dobin("nvidia-persistenced")
|
||||
pisitools.doman("nvidia-persistenced.1.gz")
|
||||
#pisitools.dobin("nvidia-settings")
|
||||
#pisitools.doman("nvidia-settings.1.gz")
|
||||
|
||||
# dkms
|
||||
pisitools.insinto("/usr/src/nvidia-%s" % version, "kernel-dkms/*")
|
||||
|
||||
### Libraries
|
||||
|
||||
# 32-bit libraries
|
||||
if get.buildTYPE() == 'emul32':
|
||||
pisitools.dolib("32/libGL.so.1.7.0", nvlibdir)
|
||||
# pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so" % nvlibdir)
|
||||
|
||||
pisitools.dolib("32/libEGL.so.1.1.0", nvlibdir)
|
||||
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("32/libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
|
||||
pisitools.dolib("32/libEGL_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("32/libGLESv1_CM_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("32/libGLESv2_nvidia.so.%s" % version, libdir)
|
||||
|
||||
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
|
||||
pisitools.dolib("32/libnvidia-compiler.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
|
||||
|
||||
#pisitools.dolib("32/libOpenCL.so.1.0.0", libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libnvidia-opencl.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libcuda.so.%s" % version, libdir)
|
||||
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
|
||||
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libnvcuvid.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
|
||||
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libnvidia-ml.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
|
||||
|
||||
for lib in ("eglcore", "encode", "allocator", "fbc", "glcore", "glsi", \
|
||||
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "tls" ):
|
||||
pisitools.dolib("32/libnvidia-%s.so.%s" % (lib, version), libdir)
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
|
||||
|
||||
pisitools.dolib("32/libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
|
||||
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
|
||||
|
||||
|
||||
pisitools.dolib("32/libGLX_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
|
||||
|
||||
else:
|
||||
# OpenGl library
|
||||
pisitools.dolib("libGL.so.1.7.0", nvlibdir)
|
||||
# pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so" % nvlibdir)
|
||||
|
||||
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
|
||||
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
|
||||
pisitools.dolib("libEGL_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("libGLESv1_CM_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("libGLESv2_nvidia.so.%s" % version, libdir)
|
||||
|
||||
pisitools.dolib("libGLdispatch.so.0", libdir)
|
||||
pisitools.dosym("libGLdispatch.so.0", "%s/libGLdispatch.so" % libdir)
|
||||
|
||||
# OpenCL
|
||||
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
|
||||
pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
|
||||
|
||||
#pisitools.dolib("libOpenCL.so.1.0.0", libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
|
||||
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
|
||||
|
||||
pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
|
||||
|
||||
# CUDA
|
||||
pisitools.dolib("libcuda.so.%s" % version, libdir)
|
||||
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
|
||||
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
|
||||
|
||||
pisitools.dolib("libnvcuvid.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
|
||||
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
|
||||
|
||||
# NVML
|
||||
# Provides programmatic access to static information and monitoring
|
||||
# data for NVIDIA GPUs, as well as limited managment capabilities
|
||||
pisitools.dolib("libnvidia-ml.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
|
||||
|
||||
pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir)
|
||||
|
||||
pisitools.dolib("libnvoptix.so.%s" % version, libdir)
|
||||
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so.1" % libdir)
|
||||
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so" % libdir)
|
||||
|
||||
pisitools.dolib("libnvidia-egl-wayland.so.1.1.5", libdir)
|
||||
pisitools.dosym("libnvidia-egl-wayland.so.1.1.5", "%s/libnvidia-egl-wayland.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-egl-wayland.so.1.1.5", "%s/libnvidia-egl-wayland.so" % libdir)
|
||||
|
||||
# OpenGL core library and others
|
||||
for lib in ("cbl", "eglcore", "encode", "allocator", "fbc", "glcore", "glsi", \
|
||||
"glvkspirv", "ifr", "ngx", "opticalflow", "ptxjitcompiler", "rtcore", "tls" ):
|
||||
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
|
||||
|
||||
# VDPAU driver
|
||||
pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
|
||||
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
|
||||
|
||||
# X modules
|
||||
pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % xorglibdir)
|
||||
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s" % nvlibdir)
|
||||
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so.1" % nvlibdir)
|
||||
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so" % nvlibdir)
|
||||
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions" % xorglibdir)
|
||||
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions/libglx.so.1" % xorglibdir)
|
||||
pisitools.dolib("libGLX_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
|
||||
|
||||
pisitools.insinto("/usr/share/X11/xorg.conf.d", "nvidia-drm-outputclass.conf")
|
||||
# pisitools.insinto("/usr/share/nvidia", "nvidia-application-profiles-367.27-rc")
|
||||
# pisitools.insinto("/usr/share/nvidia", "nvidia-application-profiles-367.27-key-documentation")
|
||||
#pisitools.insinto("/usr/share/pixmaps", "nvidia-settings.png")
|
||||
|
||||
#pisitools.dolib("libnvidia-gtk2.so.%s" % version, libdir)
|
||||
#pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir)
|
||||
|
||||
|
||||
|
||||
|
||||
# Exit time for emul32 build
|
||||
#if get.buildTYPE() == 'emul32':
|
||||
#pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
|
||||
#return
|
||||
|
||||
pisitools.insinto(datadir, "ld.so.conf")
|
||||
pisitools.insinto(datadir, "XvMCConfig")
|
||||
|
||||
# Documentation
|
||||
docdir = "xorg-video-%s" % driver_dir_name
|
||||
pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir)
|
||||
pisitools.dohtml("html/*", destDir=docdir)
|
||||
|
||||
### Note
|
||||
# This package includes nvidia-setting and nvidia-xconfig binaries. However
|
||||
# we have seperate packages for each of them. Nvidia provides tarballs for
|
||||
# these binaries. Don't forget to update these package with each NVIDIA
|
||||
# driver update.
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
|
||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||
if os.path.exists("/etc/default/grub"):
|
||||
fileContent = open("/etc/default/grub").readlines()
|
||||
new = []
|
||||
for line in fileContent:
|
||||
line = line.strip()
|
||||
if line.startswith("#GRUB_CMDLINE_LINUX="): line = line[1:]
|
||||
if line.startswith("GRUB_CMDLINE_LINUX="):
|
||||
if not "rd.driver.blacklist=nouveau" in line:
|
||||
if not line[-2] == '"': line = "%s \"" % line[:-1]
|
||||
line = "%srd.driver.blacklist=nouveau\"" % line[:-1]
|
||||
new.append(line)
|
||||
with open("/etc/default/grub", "w") as f: f.write("\n".join(new))
|
||||
os.system("grub2-mkconfig -o /boot/grub2/grub.cfg")
|
||||
|
||||
def postRemove():
|
||||
if os.path.exists("/etc/default/grub"):
|
||||
fileContent = open("/etc/default/grub").readlines()
|
||||
new = []
|
||||
for line in fileContent:
|
||||
line = line.strip()
|
||||
if line.startswith("GRUB_CMDLINE_LINUX="):
|
||||
if not "rd.driver.blacklist=nouveau" in line: return
|
||||
line = "%s\"" % line[:-1-len("rd.driver.blacklist=nouveau")]
|
||||
if line[-2] == " ": line = "%s\"" % line[:-2]
|
||||
new.append(line)
|
||||
with open("/etc/default/grub", "w") as f: f.write("\n".join(new))
|
||||
os.system("grub2-mkconfig -o /boot/grub2/grub.cfg")
|
||||
@@ -1,19 +0,0 @@
|
||||
PACKAGE_NAME="nvidia"
|
||||
PACKAGE_VERSION="%VERSION%"
|
||||
AUTOINSTALL="yes"
|
||||
|
||||
# By default, DKMS will add KERNELRELEASE to the make command line; however,
|
||||
# this will cause the kernel module build to infer that it was invoked via
|
||||
# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
|
||||
# the 'make' command name to suppress this behavior.
|
||||
MAKE[0]="'make' -j5 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
|
||||
|
||||
# The list of kernel modules was generated by nvidia-installer at runtime.
|
||||
BUILT_MODULE_NAME[0]="nvidia"
|
||||
DEST_MODULE_LOCATION[0]="/extra"
|
||||
BUILT_MODULE_NAME[1]="nvidia-uvm"
|
||||
DEST_MODULE_LOCATION[1]="/extra"
|
||||
BUILT_MODULE_NAME[2]="nvidia-modeset"
|
||||
DEST_MODULE_LOCATION[2]="/extra"
|
||||
BUILT_MODULE_NAME[3]="nvidia-drm"
|
||||
DEST_MODULE_LOCATION[3]="/extra"
|
||||
-386
@@ -1,386 +0,0 @@
|
||||
|
||||
.manifest | 1 +
|
||||
kernel/common/inc/nv-drm.h | 36 ++++++++++++++++++++++++++++++++++++
|
||||
kernel/conftest.sh | 31 +++++++++++++++++++++++++++++++
|
||||
kernel/nvidia-drm/nvidia-drm-connector.c | 14 ++++++++++++++
|
||||
kernel/nvidia-drm/nvidia-drm-connector.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-crtc.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-drv.c | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-encoder.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-fb.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-gem.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-helper.c | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-helper.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-modeset.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-os-interface.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-prime-fence.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-priv.h | 2 +-
|
||||
kernel/nvidia-drm/nvidia-drm-utils.h | 2 +-
|
||||
17 files changed, 95 insertions(+), 13 deletions(-)
|
||||
|
||||
diff -Nurp a/kernel/common/inc/nv-drm.h b/kernel/common/inc/nv-drm.h
|
||||
--- a/kernel/common/inc/nv-drm.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ b/kernel/common/inc/nv-drm.h 2020-02-09 23:07:31.142465482 +0200
|
||||
@@ -0,0 +1,36 @@
|
||||
+#ifndef _NV_DRM_H_
|
||||
+#define _NV_DRM_H_
|
||||
+
|
||||
+#include "conftest.h"
|
||||
+
|
||||
+#if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
+#include <drm/drmP.h>
|
||||
+#else
|
||||
+#include <linux/agp_backend.h>
|
||||
+#include <linux/file.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/jiffies.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <asm/pgalloc.h>
|
||||
+#include <linux/uaccess.h>
|
||||
+
|
||||
+#include <uapi/drm/drm.h>
|
||||
+#include <uapi/drm/drm_mode.h>
|
||||
+
|
||||
+#include <drm/drm_agpsupport.h>
|
||||
+#include <drm/drm_crtc.h>
|
||||
+#include <drm/drm_drv.h>
|
||||
+#include <drm/drm_prime.h>
|
||||
+#include <drm/drm_pci.h>
|
||||
+#include <drm/drm_ioctl.h>
|
||||
+#include <drm/drm_sysfs.h>
|
||||
+#include <drm/drm_vblank.h>
|
||||
+#include <drm/drm_device.h>
|
||||
+
|
||||
+#include <drm/drm_gem.h>
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff -Nurp a/kernel/conftest.sh b/kernel/conftest.sh
|
||||
--- a/kernel/conftest.sh 2019-10-23 18:48:14.000000000 +0300
|
||||
+++ b/kernel/conftest.sh 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -1080,6 +1080,9 @@ compile_test() {
|
||||
CODE="
|
||||
#if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_drv.h>
|
||||
+ #include <drm/drm_prime.h>
|
||||
#endif
|
||||
#if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE)
|
||||
#error DRM not enabled
|
||||
@@ -1769,6 +1772,8 @@ compile_test() {
|
||||
echo "$CONFTEST_PREAMBLE
|
||||
#if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_drv.h>
|
||||
#endif
|
||||
#include <drm/drm_atomic.h>
|
||||
#if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE)
|
||||
@@ -1897,7 +1902,11 @@ compile_test() {
|
||||
# attached drivers") in v3.14 (2013-12-11)
|
||||
#
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_drv.h>
|
||||
+ #endif
|
||||
int conftest_drm_driver_has_legacy_dev_list(void) {
|
||||
return offsetof(struct drm_driver, legacy_dev_list);
|
||||
}"
|
||||
@@ -1921,7 +1930,11 @@ compile_test() {
|
||||
# 2017-07-23 e6fc3b68558e4c6d8d160b5daf2511b99afa8814
|
||||
#
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_crtc.h>
|
||||
+ #endif
|
||||
|
||||
int conftest_drm_crtc_init_with_planes_has_name_arg(void) {
|
||||
return
|
||||
@@ -1937,7 +1950,11 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_DRM_CRTC_INIT_WITH_PLANES_HAS_NAME_ARG" "" "types"
|
||||
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_encoder.h>
|
||||
+ #endif
|
||||
|
||||
int conftest_drm_encoder_init_has_name_arg(void) {
|
||||
return
|
||||
@@ -1952,7 +1969,11 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_DRM_ENCODER_INIT_HAS_NAME_ARG" "" "types"
|
||||
|
||||
echo "$CONFTEST_PREAMBLE
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_plane.h>
|
||||
+ #endif
|
||||
|
||||
int conftest_drm_universal_plane_init_has_format_modifiers_arg(void) {
|
||||
return
|
||||
@@ -1979,7 +2000,11 @@ compile_test() {
|
||||
echo "#undef NV_DRM_UNIVERSAL_PLANE_INIT_HAS_FORMAT_MODIFIERS_ARG" | append_conftest "types"
|
||||
|
||||
echo "$CONFTEST_PREAMBLE
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #else
|
||||
+ #include <drm/drm_plane.h>
|
||||
+ #endif
|
||||
|
||||
int conftest_drm_universal_plane_init_has_name_arg(void) {
|
||||
return
|
||||
@@ -3119,7 +3144,9 @@ compile_test() {
|
||||
# Introduce drm_framebuffer_{get,put}()) on 2017-02-28.
|
||||
#
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #endif
|
||||
#if defined(NV_DRM_DRM_FRAMEBUFFER_H_PRESENT)
|
||||
#include <drm/drm_framebuffer.h>
|
||||
#endif
|
||||
@@ -3138,7 +3165,9 @@ compile_test() {
|
||||
# Introduce drm_gem_object_{get,put}()) on 2017-02-28.
|
||||
#
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #endif
|
||||
#if defined(NV_DRM_DRM_GEM_H_PRESENT)
|
||||
#include <drm/drm_gem.h>
|
||||
#endif
|
||||
@@ -3157,7 +3186,9 @@ compile_test() {
|
||||
# introduce drm_dev_{get/put} functions) on 2017-09-26.
|
||||
#
|
||||
CODE="
|
||||
+ #if defined(NV_DRM_DRMP_H_PRESENT)
|
||||
#include <drm/drmP.h>
|
||||
+ #endif
|
||||
#if defined(NV_DRM_DRM_DRV_H_PRESENT)
|
||||
#include <drm/drm_drv.h>
|
||||
#endif
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -20,6 +20,8 @@
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
@@ -71,7 +73,11 @@ static enum drm_connector_status __nv_dr
|
||||
struct nv_drm_encoder *nv_detected_encoder = NULL;
|
||||
|
||||
struct NvKmsKapiDynamicDisplayParams *pDetectParams = NULL;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0)
|
||||
unsigned int i;
|
||||
+#else
|
||||
+ struct drm_encoder *encoder = NULL;
|
||||
+#endif
|
||||
|
||||
BUG_ON(!mutex_is_locked(&dev->mode_config.mutex));
|
||||
|
||||
@@ -87,11 +93,16 @@ static enum drm_connector_status __nv_dr
|
||||
goto done;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0)
|
||||
for (i = 0;
|
||||
i < DRM_CONNECTOR_MAX_ENCODER && detected_encoder == NULL; i++) {
|
||||
struct drm_encoder *encoder;
|
||||
+#else
|
||||
+ drm_connector_for_each_possible_encoder(connector, encoder) {
|
||||
+#endif
|
||||
struct nv_drm_encoder *nv_encoder;
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0)
|
||||
if (connector->encoder_ids[i] == 0) {
|
||||
break;
|
||||
}
|
||||
@@ -102,6 +113,7 @@ static enum drm_connector_status __nv_dr
|
||||
BUG_ON(encoder != NULL);
|
||||
continue;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* DVI-I connectors can drive both digital and analog
|
||||
@@ -169,6 +181,8 @@ static enum drm_connector_status __nv_dr
|
||||
}
|
||||
|
||||
detected_encoder = encoder;
|
||||
+
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-connector.h b/kernel/nvidia-drm/nvidia-drm-connector.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-connector.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-connector.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
#include "nvtypes.h"
|
||||
#include "nvkms-api-types.h"
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-crtc.h b/kernel/nvidia-drm/nvidia-drm-crtc.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-crtc.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-crtc.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "nvidia-drm-helper.h"
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#include "nvtypes.h"
|
||||
#include "nvkms-kapi.h"
|
||||
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-drv.c 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
#include "nvidia-drm-ioctl.h"
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
/*
|
||||
* Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h")
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-encoder.h b/kernel/nvidia-drm/nvidia-drm-encoder.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-encoder.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-encoder.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -32,7 +32,7 @@
|
||||
#if defined(NV_DRM_DRM_ENCODER_H_PRESENT)
|
||||
#include <drm/drm_encoder.h>
|
||||
#else
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#endif
|
||||
|
||||
#include "nvkms-kapi.h"
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-fb.h b/kernel/nvidia-drm/nvidia-drm-fb.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-fb.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-fb.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#include "nvidia-drm-gem-nvkms-memory.h"
|
||||
#include "nvkms-kapi.h"
|
||||
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-gem.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-gem.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "nvidia-drm-priv.h"
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#include "nvkms-kapi.h"
|
||||
|
||||
#if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ)
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-helper.c b/kernel/nvidia-drm/nvidia-drm-helper.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-helper.c 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-helper.c 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#if defined(NV_DRM_DRM_ATOMIC_UAPI_H_PRESENT)
|
||||
#include <drm/drm_atomic_uapi.h>
|
||||
#endif
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-helper.h b/kernel/nvidia-drm/nvidia-drm-helper.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-helper.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-helper.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
/*
|
||||
* drm_dev_put() is added by commit 9a96f55034e41b4e002b767e9218d55f03bdff7d
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-modeset.h b/kernel/nvidia-drm/nvidia-drm-modeset.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-modeset.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-modeset.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
struct drm_atomic_state *nv_drm_atomic_state_alloc(struct drm_device *dev);
|
||||
void nv_drm_atomic_state_clear(struct drm_atomic_state *state);
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-os-interface.h b/kernel/nvidia-drm/nvidia-drm-os-interface.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-os-interface.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-os-interface.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#if defined(NV_DRM_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
/* Set to true when the atomic modeset feature is enabled. */
|
||||
extern bool nv_drm_modeset_module_param;
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-prime-fence.h b/kernel/nvidia-drm/nvidia-drm-prime-fence.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-prime-fence.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-prime-fence.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
#if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ)
|
||||
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-priv.h b/kernel/nvidia-drm/nvidia-drm-priv.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-priv.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-priv.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
|
||||
#if defined(NV_DRM_DRM_GEM_H_PRESENT)
|
||||
#include <drm/drm_gem.h>
|
||||
diff -Nurp a/kernel/nvidia-drm/nvidia-drm-utils.h b/kernel/nvidia-drm/nvidia-drm-utils.h
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-utils.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-utils.h 2020-02-09 23:07:31.143465528 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
|
||||
-#include <drm/drmP.h>
|
||||
+#include "nv-drm.h"
|
||||
#include "nvkms-kapi.h"
|
||||
|
||||
struct NvKmsKapiConnectorInfo*
|
||||
-508
@@ -1,508 +0,0 @@
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-linux.h NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-linux.h
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-linux.h 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-linux.h 2020-04-11 01:30:24.576641371 +0300
|
||||
@@ -534,7 +534,11 @@ static inline void *nv_ioremap(NvU64 phy
|
||||
|
||||
static inline void *nv_ioremap_nocache(NvU64 phys, NvU64 size)
|
||||
{
|
||||
+#if defined(NV_IOREMAP_NOCACHE_PRESENT)
|
||||
void *ptr = ioremap_nocache(phys, size);
|
||||
+#else
|
||||
+ void *ptr = ioremap(phys, size);
|
||||
+#endif
|
||||
if (ptr)
|
||||
NV_MEMDBG_ADD(ptr, size);
|
||||
return ptr;
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-procfs.h NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-procfs.h
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-procfs.h 2020-04-11 01:29:29.475036592 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-procfs.h 2020-04-11 01:28:48.300091052 +0300
|
||||
@@ -28,6 +28,18 @@
|
||||
|
||||
#define IS_EXERCISE_ERROR_FORWARDING_ENABLED() (EXERCISE_ERROR_FORWARDING)
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \
|
||||
+ ({ \
|
||||
+ struct proc_dir_entry *__entry; \
|
||||
+ int mode = (S_IFREG | S_IRUGO); \
|
||||
+ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \
|
||||
+ if (fops->proc_write != 0) \
|
||||
+ mode |= S_IWUSR; \
|
||||
+ __entry = proc_create_data(filename, mode, parent, fops, __data);\
|
||||
+ __entry; \
|
||||
+ })
|
||||
+#else
|
||||
#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \
|
||||
({ \
|
||||
struct proc_dir_entry *__entry; \
|
||||
@@ -38,6 +50,7 @@
|
||||
__entry = proc_create_data(filename, mode, parent, fops, __data);\
|
||||
__entry; \
|
||||
})
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0.
|
||||
@@ -77,6 +90,44 @@
|
||||
remove_proc_entry(entry->name, entry->parent);
|
||||
#endif
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+#define NV_DEFINE_SINGLE_PROCFS_FILE(name, open_callback, close_callback) \
|
||||
+ static int nv_procfs_open_##name( \
|
||||
+ struct inode *inode, \
|
||||
+ struct file *filep \
|
||||
+ ) \
|
||||
+ { \
|
||||
+ int ret; \
|
||||
+ ret = single_open(filep, nv_procfs_read_##name, \
|
||||
+ NV_PDE_DATA(inode)); \
|
||||
+ if (ret < 0) \
|
||||
+ { \
|
||||
+ return ret; \
|
||||
+ } \
|
||||
+ ret = open_callback(); \
|
||||
+ if (ret < 0) \
|
||||
+ { \
|
||||
+ single_release(inode, filep); \
|
||||
+ } \
|
||||
+ return ret; \
|
||||
+ } \
|
||||
+ \
|
||||
+ static int nv_procfs_release_##name( \
|
||||
+ struct inode *inode, \
|
||||
+ struct file *filep \
|
||||
+ ) \
|
||||
+ { \
|
||||
+ close_callback(); \
|
||||
+ return single_release(inode, filep); \
|
||||
+ } \
|
||||
+ \
|
||||
+ static const struct proc_ops nv_procfs_##name##_fops = { \
|
||||
+ .proc_open = nv_procfs_open_##name, \
|
||||
+ .proc_read = seq_read, \
|
||||
+ .proc_lseek = seq_lseek, \
|
||||
+ .proc_release = nv_procfs_release_##name, \
|
||||
+ };
|
||||
+#else
|
||||
#define NV_DEFINE_SINGLE_PROCFS_FILE(name, open_callback, close_callback) \
|
||||
static int nv_procfs_open_##name( \
|
||||
struct inode *inode, \
|
||||
@@ -114,6 +165,7 @@
|
||||
.llseek = seq_lseek, \
|
||||
.release = nv_procfs_release_##name, \
|
||||
};
|
||||
+#endif
|
||||
|
||||
#endif /* CONFIG_PROC_FS */
|
||||
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-time.h NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-time.h
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/common/inc/nv-time.h 2020-04-11 01:29:29.475036592 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/common/inc/nv-time.h 2020-04-11 01:28:48.300091052 +0300
|
||||
@@ -27,7 +27,12 @@
|
||||
|
||||
#include <linux/ktime.h>
|
||||
|
||||
-static inline void nv_gettimeofday(struct timeval *tv)
|
||||
+struct nv_timeval {
|
||||
+ __kernel_long_t tv_sec;
|
||||
+ __kernel_suseconds_t tv_usec;
|
||||
+};
|
||||
+
|
||||
+static inline void nv_gettimeofday(struct nv_timeval *tv)
|
||||
{
|
||||
#ifdef NV_DO_GETTIMEOFDAY_PRESENT
|
||||
do_gettimeofday(tv);
|
||||
@@ -36,7 +41,7 @@ static inline void nv_gettimeofday(struc
|
||||
|
||||
ktime_get_real_ts64(&now);
|
||||
|
||||
- *tv = (struct timeval) {
|
||||
+ *tv = (struct nv_timeval) {
|
||||
.tv_sec = now.tv_sec,
|
||||
.tv_usec = now.tv_nsec/1000,
|
||||
};
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/conftest.sh NVIDIA-Linux-x86_64-430.64/kernel/conftest.sh
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/conftest.sh 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/conftest.sh 2020-04-11 01:28:48.300091052 +0300
|
||||
@@ -777,6 +777,46 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_IOCTL" "" "types"
|
||||
;;
|
||||
|
||||
+ proc_ops)
|
||||
+ CODE="
|
||||
+ #include <linux/proc_fs.h>
|
||||
+ int conftest_proc_ops(void) {
|
||||
+ return offsetof(struct proc_ops, proc_open);
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types"
|
||||
+ ;;
|
||||
+
|
||||
+ ktime_get_raw_ts64)
|
||||
+ #
|
||||
+ # Determine if the ktime_get_raw_ts64() function is present.
|
||||
+ #
|
||||
+ CODE="
|
||||
+ #include <linux/ktime.h>
|
||||
+ int conftest_ktime_get_raw_ts64(void) {
|
||||
+ struct timespec64 ts = {0};
|
||||
+
|
||||
+ ktime_get_raw_ts64(&ts64);
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_KTIME_GET_RAW_TS64_PRESENT" "" "functions"
|
||||
+ ;;
|
||||
+
|
||||
+ ktime_get_real_ts64)
|
||||
+ #
|
||||
+ # Determine if the ktime_get_real_ts64() function is present.
|
||||
+ #
|
||||
+ CODE="
|
||||
+ #include <linux/ktime.h>
|
||||
+ int conftest_ktime_get_raw_ts64(void) {
|
||||
+ struct timespec64 ts = {0};
|
||||
+
|
||||
+ ktime_get_real_ts64(&ts64);
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions"
|
||||
+ ;;
|
||||
+
|
||||
sg_alloc_table)
|
||||
#
|
||||
# sg_alloc_table_from_pages added by commit efc42bc98058
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/linux_nvswitch.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/linux_nvswitch.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/linux_nvswitch.c 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/linux_nvswitch.c 2020-04-11 01:28:48.301091099 +0300
|
||||
@@ -1581,10 +1581,17 @@ nvswitch_os_get_platform_time
|
||||
void
|
||||
)
|
||||
{
|
||||
+#if defined(NV_KTIME_GET_REAL_TS64_PRESENT)
|
||||
+ struct timespec64 ts64;
|
||||
+
|
||||
+ ktime_get_real_ts64(&ts64);
|
||||
+ return ((NvU64)(ts64.tv_sec * NSEC_PER_SEC) + ts64.tv_nsec);
|
||||
+#else
|
||||
struct timespec ts;
|
||||
|
||||
getnstimeofday(&ts);
|
||||
return ((NvU64) timespec_to_ns(&ts));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nvidia.Kbuild NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nvidia.Kbuild
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nvidia.Kbuild 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nvidia.Kbuild 2020-04-11 01:28:48.301091099 +0300
|
||||
@@ -149,6 +149,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += acpi_o
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += outer_flush_all
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += scatterlist
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations
|
||||
+NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
|
||||
+NV_CONFTEST_TYPE_COMPILE_TESTS += ktime_get_raw_ts64
|
||||
+NV_CONFTEST_TYPE_COMPILE_TESTS += ktime_get_real_ts64
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += vm_operations_struct
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += atomic_long_type
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += file_inode
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nvlink_linux.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nvlink_linux.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nvlink_linux.c 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nvlink_linux.c 2020-04-11 01:28:48.301091099 +0300
|
||||
@@ -510,8 +510,8 @@ void * NVLINK_API_CALL nvlink_memcpy(voi
|
||||
|
||||
static NvBool nv_timer_less_than
|
||||
(
|
||||
- const struct timeval *a,
|
||||
- const struct timeval *b
|
||||
+ const struct nv_timeval *a,
|
||||
+ const struct nv_timeval *b
|
||||
)
|
||||
{
|
||||
return (a->tv_sec == b->tv_sec) ? (a->tv_usec < b->tv_usec)
|
||||
@@ -520,9 +520,9 @@ static NvBool nv_timer_less_than
|
||||
|
||||
static void nv_timeradd
|
||||
(
|
||||
- const struct timeval *a,
|
||||
- const struct timeval *b,
|
||||
- struct timeval *result
|
||||
+ const struct nv_timeval *a,
|
||||
+ const struct nv_timeval *b,
|
||||
+ struct nv_timeval *result
|
||||
)
|
||||
{
|
||||
result->tv_sec = a->tv_sec + b->tv_sec;
|
||||
@@ -536,9 +536,9 @@ static void nv_timeradd
|
||||
|
||||
static void nv_timersub
|
||||
(
|
||||
- const struct timeval *a,
|
||||
- const struct timeval *b,
|
||||
- struct timeval *result
|
||||
+ const struct nv_timeval *a,
|
||||
+ const struct nv_timeval *b,
|
||||
+ struct nv_timeval *result
|
||||
)
|
||||
{
|
||||
result->tv_sec = a->tv_sec - b->tv_sec;
|
||||
@@ -558,7 +558,7 @@ void NVLINK_API_CALL nvlink_sleep(unsign
|
||||
unsigned long us;
|
||||
unsigned long jiffies;
|
||||
unsigned long mdelay_safe_msec;
|
||||
- struct timeval tm_end, tm_aux;
|
||||
+ struct nv_timeval tm_end, tm_aux;
|
||||
|
||||
nv_gettimeofday(&tm_aux);
|
||||
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-procfs.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-procfs.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-procfs.c 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-procfs.c 2020-04-11 01:28:48.301091099 +0300
|
||||
@@ -482,6 +482,15 @@ done:
|
||||
return ((status < 0) ? status : (int)count);
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static struct proc_ops nv_procfs_registry_fops = {
|
||||
+ .proc_open = nv_procfs_open_registry,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_write = nv_procfs_write_file,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = nv_procfs_close_registry,
|
||||
+};
|
||||
+#else
|
||||
static struct file_operations nv_procfs_registry_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_registry,
|
||||
@@ -490,6 +499,7 @@ static struct file_operations nv_procfs_
|
||||
.llseek = seq_lseek,
|
||||
.release = nv_procfs_close_registry,
|
||||
};
|
||||
+#endif
|
||||
|
||||
#if defined(CONFIG_PM)
|
||||
static int
|
||||
@@ -561,6 +571,15 @@ nv_procfs_open_suspend_depth(
|
||||
return single_open(file, nv_procfs_show_suspend_depth, NULL);
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static struct proc_ops nv_procfs_suspend_depth_fops = {
|
||||
+ .proc_open = nv_procfs_open_suspend_depth,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_write = nv_procfs_write_suspend_depth,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = single_release
|
||||
+};
|
||||
+#else
|
||||
static struct file_operations nv_procfs_suspend_depth_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_suspend_depth,
|
||||
@@ -569,6 +588,7 @@ static struct file_operations nv_procfs_
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release
|
||||
};
|
||||
+#endif
|
||||
|
||||
static int
|
||||
nv_procfs_show_suspend(
|
||||
@@ -643,6 +663,15 @@ nv_procfs_open_suspend(
|
||||
return single_open(file, nv_procfs_show_suspend, NULL);
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static struct proc_ops nv_procfs_suspend_fops = {
|
||||
+ .proc_open = nv_procfs_open_suspend,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_write = nv_procfs_write_suspend,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = single_release
|
||||
+};
|
||||
+#else
|
||||
static struct file_operations nv_procfs_suspend_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_suspend,
|
||||
@@ -652,6 +681,7 @@ static struct file_operations nv_procfs_
|
||||
.release = single_release
|
||||
};
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Forwards error to nv_log_error which exposes data to vendor callback
|
||||
@@ -754,12 +784,20 @@ done:
|
||||
return status;
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static struct proc_ops nv_procfs_exercise_error_forwarding_fops = {
|
||||
+ .proc_open = nv_procfs_open_exercise_error_forwarding,
|
||||
+ .proc_write = nv_procfs_write_file,
|
||||
+ .proc_release = nv_procfs_close_exercise_error_forwarding,
|
||||
+};
|
||||
+#else
|
||||
static struct file_operations nv_procfs_exercise_error_forwarding_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_exercise_error_forwarding,
|
||||
.write = nv_procfs_write_file,
|
||||
.release = nv_procfs_close_exercise_error_forwarding,
|
||||
};
|
||||
+#endif
|
||||
|
||||
static int
|
||||
nv_procfs_read_unbind_lock(
|
||||
@@ -881,6 +919,15 @@ done:
|
||||
return rc;
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static struct proc_ops nv_procfs_unbind_lock_fops = {
|
||||
+ .proc_open = nv_procfs_open_unbind_lock,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_write = nv_procfs_write_file,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = nv_procfs_close_unbind_lock,
|
||||
+};
|
||||
+#else
|
||||
static struct file_operations nv_procfs_unbind_lock_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_unbind_lock,
|
||||
@@ -889,6 +936,7 @@ static struct file_operations nv_procfs_
|
||||
.llseek = seq_lseek,
|
||||
.release = nv_procfs_close_unbind_lock,
|
||||
};
|
||||
+#endif
|
||||
|
||||
static const char*
|
||||
numa_status_describe(nv_numa_status_t state)
|
||||
@@ -1217,6 +1265,22 @@ done:
|
||||
return retval;
|
||||
}
|
||||
|
||||
+#if defined(NV_HAVE_PROC_OPS)
|
||||
+static const struct proc_ops nv_procfs_numa_status_fops = {
|
||||
+ .proc_open = nv_procfs_open_numa_status,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_write = nv_procfs_write_file,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = nv_procfs_close_numa_status,
|
||||
+};
|
||||
+
|
||||
+static const struct proc_ops nv_procfs_offline_pages_fops = {
|
||||
+ .proc_open = nv_procfs_open_offline_pages,
|
||||
+ .proc_read = seq_read,
|
||||
+ .proc_lseek = seq_lseek,
|
||||
+ .proc_release = nv_procfs_close_offline_pages,
|
||||
+};
|
||||
+#else
|
||||
static const struct file_operations nv_procfs_numa_status_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = nv_procfs_open_numa_status,
|
||||
@@ -1233,6 +1297,7 @@ static const struct file_operations nv_p
|
||||
.llseek = seq_lseek,
|
||||
.release = nv_procfs_close_offline_pages,
|
||||
};
|
||||
+#endif
|
||||
|
||||
static int
|
||||
nv_procfs_read_text_file(
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/os-interface.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/os-interface.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/os-interface.c 2020-04-11 01:29:29.476036639 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/os-interface.c 2020-04-11 01:28:48.301091099 +0300
|
||||
@@ -452,7 +452,7 @@ NV_STATUS NV_API_CALL os_get_current_tim
|
||||
NvU32 *useconds
|
||||
)
|
||||
{
|
||||
- struct timeval tm;
|
||||
+ struct nv_timeval tm;
|
||||
|
||||
nv_gettimeofday(&tm);
|
||||
|
||||
@@ -466,9 +466,15 @@ NV_STATUS NV_API_CALL os_get_current_tim
|
||||
|
||||
void NV_API_CALL os_get_current_tick(NvU64 *nseconds)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0)
|
||||
+ struct timespec64 ts;
|
||||
+
|
||||
+ jiffies_to_timespec64(jiffies, &ts);
|
||||
+#else
|
||||
struct timespec ts;
|
||||
|
||||
jiffies_to_timespec(jiffies, &ts);
|
||||
+#endif
|
||||
|
||||
*nseconds = ((NvU64)ts.tv_sec * NSEC_PER_SEC + (NvU64)ts.tv_nsec);
|
||||
}
|
||||
@@ -538,7 +544,7 @@ NV_STATUS NV_API_CALL os_delay_us(NvU32
|
||||
unsigned long usec;
|
||||
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
- struct timeval tm1, tm2;
|
||||
+ struct nv_timeval tm1, tm2;
|
||||
|
||||
nv_gettimeofday(&tm1);
|
||||
#endif
|
||||
@@ -578,9 +584,9 @@ NV_STATUS NV_API_CALL os_delay(NvU32 Mil
|
||||
unsigned long MicroSeconds;
|
||||
unsigned long jiffies;
|
||||
unsigned long mdelay_safe_msec;
|
||||
- struct timeval tm_end, tm_aux;
|
||||
+ struct nv_timeval tm_end, tm_aux;
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
- struct timeval tm_start;
|
||||
+ struct nv_timeval tm_start;
|
||||
#endif
|
||||
|
||||
nv_gettimeofday(&tm_aux);
|
||||
@@ -1925,7 +1931,7 @@ static NV_STATUS NV_API_CALL _os_ipmi_re
|
||||
{
|
||||
struct ipmi_recv_msg *rx_msg;
|
||||
int err_no;
|
||||
- struct timeval tv;
|
||||
+ struct nv_timeval tv;
|
||||
NvU64 start_time;
|
||||
|
||||
nv_gettimeofday(&tv);
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia-modeset/nvidia-modeset-linux.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c 2020-04-11 01:29:29.477036687 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia-modeset/nvidia-modeset-linux.c 2020-04-11 01:28:48.302091146 +0300
|
||||
@@ -279,7 +279,7 @@ void NVKMS_API_CALL nvkms_usleep(NvU64 u
|
||||
|
||||
NvU64 NVKMS_API_CALL nvkms_get_usec(void)
|
||||
{
|
||||
- struct timeval tv;
|
||||
+ struct nv_timeval tv;
|
||||
|
||||
nv_gettimeofday(&tv);
|
||||
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia-uvm/uvm_linux.h NVIDIA-Linux-x86_64-430.64/kernel/nvidia-uvm/uvm_linux.h
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia-uvm/uvm_linux.h 2020-04-11 01:29:29.477036687 +0300
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia-uvm/uvm_linux.h 2020-04-11 01:28:48.302091146 +0300
|
||||
@@ -298,7 +298,16 @@ static inline uint64_t NV_DIV64(uint64_t
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(CLOCK_MONOTONIC_RAW)
|
||||
+#if defined(NV_KTIME_GET_RAW_TS64_PRESENT)
|
||||
+static inline NvU64 NV_GETTIME(void)
|
||||
+{
|
||||
+ struct timespec64 ts;
|
||||
+
|
||||
+ ktime_get_raw_ts64(&ts);
|
||||
+
|
||||
+ return (ts.tv_sec * 1000000000ULL + ts.tv_nsec);
|
||||
+}
|
||||
+#elif defined(CLOCK_MONOTONIC_RAW)
|
||||
/* Return a nanosecond-precise value */
|
||||
static inline NvU64 NV_GETTIME(void)
|
||||
{
|
||||
@@ -314,7 +323,7 @@ static inline NvU64 NV_GETTIME(void)
|
||||
* available non-GPL symbols. */
|
||||
static inline NvU64 NV_GETTIME(void)
|
||||
{
|
||||
- struct timeval tv = {0};
|
||||
+ struct nv_timeval tv = {0};
|
||||
|
||||
nv_gettimeofday(&tv);
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
|
||||
In this bug:
|
||||
https://bugs.mageia.org/show_bug.cgi?id=25890
|
||||
|
||||
The nvidia-current conftest.sh falsely detects support for
|
||||
set_memory_array_uc/wb() in 5.4 series kernels
|
||||
|
||||
Fix it by adding linux kernel version checks to exclude the unsuppoorted code
|
||||
|
||||
Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
|
||||
diff -Nurp NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-vm.c NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-vm.c
|
||||
--- NVIDIA-Linux-x86_64-430.64.orig/kernel/nvidia/nv-vm.c 2019-10-27 13:48:11.000000000 +0200
|
||||
+++ NVIDIA-Linux-x86_64-430.64/kernel/nvidia/nv-vm.c 2019-12-29 23:54:36.176732208 +0200
|
||||
@@ -42,12 +42,14 @@ static inline int nv_set_memory_array_ty
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
|
||||
#if defined(NV_SET_MEMORY_ARRAY_UC_PRESENT)
|
||||
case NV_MEMORY_UNCACHED:
|
||||
return 1;
|
||||
case NV_MEMORY_WRITEBACK:
|
||||
return 1;
|
||||
#endif
|
||||
+#endif
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@@ -61,6 +63,7 @@ static inline void nv_set_memory_array_t
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
|
||||
#if defined(NV_SET_MEMORY_ARRAY_UC_PRESENT)
|
||||
case NV_MEMORY_UNCACHED:
|
||||
set_memory_array_uc(pages, num_pages);
|
||||
@@ -69,6 +72,7 @@ static inline void nv_set_memory_array_t
|
||||
set_memory_array_wb(pages, num_pages);
|
||||
break;
|
||||
#endif
|
||||
+#endif
|
||||
default:
|
||||
nv_printf(NV_DBG_ERRORS,
|
||||
"NVRM: %s(): type %d unimplemented\n",
|
||||
@@ -1,2 +0,0 @@
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
Section "OutputClass"
|
||||
Identifier "nvidia"
|
||||
MatchDriver "nvidia-drm"
|
||||
Driver "nvidia"
|
||||
Option "AllowEmptyInitialConfiguration"
|
||||
ModulePath "/usr/lib/nvidia/xorg"
|
||||
ModulePath "/usr/lib/xorg/modules"
|
||||
EndSection
|
||||
@@ -1,283 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia465</Name>
|
||||
<Homepage>http://www.nvidia.com</Homepage>
|
||||
<Packager>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>NVIDIA</License>
|
||||
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
|
||||
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
|
||||
<Archive sha1sum="16ca8a3a1416f7fc62e22b2a1cab959c2a07211a" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/465.31/NVIDIA-Linux-x86_64-465.31.run</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="5.10.39">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="dkms.conf">dkms.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="NVIDIA-Linux-x86_64-430.64-kernel-5.5.patch">mageia/NVIDIA-Linux-x86_64-430.64-kernel-5.5.patch</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="kernel-5.6.patch">mageia/NVIDIA-Linux-x86_64-430.64-kernel-5.6.patch</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch">mageia/NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia465</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for current NVIDIA graphics driver releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="5.10.39">kernel</Dependency>
|
||||
<!-- <Dependency release="current">module-nvidia465-userspace</Dependency> -->
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
<Path fileType="data">/etc/modprobe.d</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/blacklist-nouveau.conf">modprobe.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>nvidia465-dkms</Package>
|
||||
</Conflicts>
|
||||
</Package>
|
||||
|
||||
<!--<Package>
|
||||
<Name>module-nvidia465-userspace</Name>
|
||||
<IsA>data</IsA>
|
||||
<Summary>Modprobe rules for nvidia465 kernel driver</Summary>
|
||||
<Files>
|
||||
<Path fileType="data">/etc/modprobe.d</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/blacklist-nouveau.conf">modprobe.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>-->
|
||||
|
||||
<!-- <Package>
|
||||
<Name>nvidia-settings</Name>
|
||||
<IsA>app:gui</IsA>
|
||||
<PartOf>hardware.graphics</PartOf>
|
||||
<Summary>Settings for nvidia465 kernel driver</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gtk3</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
<Dependency version="current">module-nvidia465</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-settings</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/nvidia-settings.1</Path>
|
||||
<Path fileType="library">/usr/lib/libnvidia-gtk*</Path>
|
||||
<Path fileType="data">/usr/share/applications</Path>
|
||||
<Path fileType="data">/usr/share/pixmaps</Path>
|
||||
<Path fileType="data">/usr/share/nvidia</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/nvidia-settings.desktop">nvidia-settings.desktop</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nvidia-xconfig</Name>
|
||||
<IsA>app:console</IsA>
|
||||
<PartOf>hardware.graphics</PartOf>
|
||||
<Summary>Xconfig file for nvidia465 kernel driver</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">module-nvidia465</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-xconfig</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/nvidia-xconfig.1</Path>
|
||||
</Files>
|
||||
</Package>-->
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia465</Name>
|
||||
<IsA>driver</IsA>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>xorg-server</Dependency>
|
||||
<Dependency>opencl-icd</Dependency>
|
||||
<Dependency>vulkan</Dependency>
|
||||
<Dependency>libglvnd</Dependency>
|
||||
<AnyDependency>
|
||||
<Dependency version="current">module-nvidia465</Dependency>
|
||||
<Dependency>nvidia465-dkms</Dependency>
|
||||
</AnyDependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="data">/etc/OpenCL</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share/X11</Path>
|
||||
<Path fileType="data">/usr/share/nvidia465</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
</Files>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Provides>
|
||||
<COMAR script="package.py">System.Package</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia465-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for xorg-video-nvidia465</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>libvdpau-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>mesa-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>libXext-32bit</Dependency>
|
||||
<Dependency>opencl-icd-32bit</Dependency>
|
||||
<Dependency>vulkan-32bit</Dependency>
|
||||
<Dependency>libglvnd-32bit</Dependency>
|
||||
<Dependency release="current">xorg-video-nvidia465</Dependency>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gtk3</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32</Path>
|
||||
<Path fileType="library">/usr/share/nvidia465/32bit-ld.so.conf</Path>
|
||||
</Files>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nvidia465-dkms</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>NVIDIA driver sources for linux</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>dkms</Dependency>
|
||||
<Dependency>xorg-video-nvidia465</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/modprobe.d/nvidia465-dkms.conf</Path>
|
||||
<Path fileType="data">/usr/src/nvidia*</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/nvidia465-dkms.conf">modprobe.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf">xorg.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>module-nvidia465</Package>
|
||||
<Package>nvidia-current-dkms</Package>
|
||||
<Package>nvidia390-dkms</Package>
|
||||
<Package>nvidia340-dkms</Package>
|
||||
<Package>nvidia465</Package>
|
||||
</Conflicts>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nvidia465</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Meata package for nvidia465 drivers</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>module-nvidia465</Dependency>
|
||||
<Dependency>xorg-video-nvidia465</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="data">/var/tmp/nvidia</Path>
|
||||
</Files>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>nvidia390-dkms</Package>
|
||||
</Conflicts>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/var/tmp/nvidia">nvidia.txt</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="8">
|
||||
<Date>2021-05-30</Date>
|
||||
<Version>465.31</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2021-01-29</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2020-07-05</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Add comar script and meta package</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin.bojara@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2020-06-01</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal Bojara</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2020-04-03</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal Bojara</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2020-01-31</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal Bojara</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2020-01-09</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>Add dkms support</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin.bojara@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2019-11-03</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia430</Name>
|
||||
<Summary xml:lang="tr">GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler</Summary>
|
||||
<Description xml:lang="tr">NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar.</Description>
|
||||
<Description xml:lang="es">Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor).</Description>
|
||||
<Summary xml:lang="es">Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor)</Summary>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia430</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA grafik sürücüleri için çekirdek modülü</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA userspace sürücüleri ve ikili dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430-32bit</Name>
|
||||
<Summary xml:lang="tr">xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
+266525
-266711
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
daca4e337e62068aeddf5a3e2d62126c12438a75
|
||||
802c0601dc11528a898adea0f26aad172650c77f
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
cbbd77d80a6fc1ad8e5335a2e1578d1ae3181b78
|
||||
ac89341f4f693f6ead749d2eb9c23925e527c390
|
||||
Reference in New Issue
Block a user