From e67431692a5b2bc0b3f34606d3769ceb6f90ea7c Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 31 Aug 2023 22:41:28 +0000 Subject: [PATCH] xf86-video-nvidia: update to 470.199.02 --- .../x11/driver/xf86-video-nvidia/package.mk | 4 +- .../patches/nvidia-470xx-fix-linux-6.3.patch | 117 ------------------ .../patches/nvidia-470xx-fix-linux-6.4.patch | 36 ------ 3 files changed, 2 insertions(+), 155 deletions(-) delete mode 100644 packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.3.patch delete mode 100644 packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.4.patch diff --git a/packages/x11/driver/xf86-video-nvidia/package.mk b/packages/x11/driver/xf86-video-nvidia/package.mk index a7b0594854..261beacdd5 100644 --- a/packages/x11/driver/xf86-video-nvidia/package.mk +++ b/packages/x11/driver/xf86-video-nvidia/package.mk @@ -6,8 +6,8 @@ PKG_NAME="xf86-video-nvidia" # Remember to run "python3 packages/x11/driver/xf86-video-nvidia/scripts/make_nvidia_udev.py" and commit # changes to "packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules" whenever bumping version. # The build host may require installation of python3-lxml and python3-requests packages. -PKG_VERSION="470.182.03" -PKG_SHA256="0a02d9341b9b4206df1401a812e8dfed2406bc1f3d7a1055260149cde858aa8c" +PKG_VERSION="470.199.02" +PKG_SHA256="9c86f9ef6aceaf2b292407aa161b98d817b2eb10a615f971d29a20c2a748ad09" PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="https://www.nvidia.com/en-us/drivers/unix/" diff --git a/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.3.patch b/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.3.patch deleted file mode 100644 index 33d9cf8ed2..0000000000 --- a/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.3.patch +++ /dev/null @@ -1,117 +0,0 @@ -From a77f2da778f4a62695a6c7d26bba674d59ad9170 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Sat, 25 Feb 2023 10:57:09 +0000 -Subject: [PATCH] Tentative fix for NVIDIA 470.161.03 driver for Linux 6.3-rc1 - ---- - kernel/common/inc/nv-linux.h | 13 +++++++++++++ - kernel/nvidia-drm/nvidia-drm-gem-user-memory.c | 7 ++++--- - kernel/nvidia-uvm/uvm.c | 2 +- - kernel/nvidia/nv-mmap.c | 12 ++++++------ - 4 files changed, 24 insertions(+), 10 deletions(-) - -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index f8df9e3..5b22cf1 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -1988,4 +1988,17 @@ static inline void nv_mutex_destroy(struct mutex *lock) - - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) -+// Rel. commit "mm: introduce vma->vm_flags wrapper functions" (Suren Baghdasaryan, 26 Jan 2023) -+static inline void vm_flags_set(struct vm_area_struct *vma, vm_flags_t flags) -+{ -+ vma->vm_flags |= flags; -+} -+ -+static inline void vm_flags_clear(struct vm_area_struct *vma, vm_flags_t flags) -+{ -+ vma->vm_flags &= ~flags; -+} -+#endif -+ - #endif /* _NV_LINUX_H_ */ -diff --git a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -index 8824daa..3ea9099 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -+++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -@@ -35,6 +35,7 @@ - #include "linux/dma-buf.h" - #include "linux/mm.h" - #include "nv-mm.h" -+#include "nv-linux.h" - - static inline - void __nv_drm_gem_user_memory_free(struct nv_drm_gem_object *nv_gem) -@@ -92,9 +93,9 @@ static int __nv_drm_gem_user_memory_mmap(struct nv_drm_gem_object *nv_gem, - return -EINVAL; - } - -- vma->vm_flags &= ~VM_PFNMAP; -- vma->vm_flags &= ~VM_IO; -- vma->vm_flags |= VM_MIXEDMAP; -+ vm_flags_clear(vma, VM_PFNMAP); -+ vm_flags_clear(vma, VM_IO); -+ vm_flags_set(vma, VM_MIXEDMAP); - - return 0; - } -diff --git a/kernel/nvidia-uvm/uvm.c b/kernel/nvidia-uvm/uvm.c -index 3e7318d..7eddff7 100644 ---- a/kernel/nvidia-uvm/uvm.c -+++ b/kernel/nvidia-uvm/uvm.c -@@ -812,7 +812,7 @@ static int uvm_mmap(struct file *filp, struct vm_area_struct *vma) - // Using VM_DONTCOPY would be nice, but madvise(MADV_DOFORK) can reset that - // so we have to handle vm_open on fork anyway. We could disable MADV_DOFORK - // with VM_IO, but that causes other mapping issues. -- vma->vm_flags |= VM_MIXEDMAP | VM_DONTEXPAND; -+ vm_flags_set(vma, VM_MIXEDMAP | VM_DONTEXPAND); - - vma->vm_ops = &uvm_vm_ops_managed; - -diff --git a/kernel/nvidia/nv-mmap.c b/kernel/nvidia/nv-mmap.c -index df514c9..8f85ff6 100644 ---- a/kernel/nvidia/nv-mmap.c -+++ b/kernel/nvidia/nv-mmap.c -@@ -447,7 +447,7 @@ static int nvidia_mmap_numa( - } - - // Needed for the linux kernel for mapping compound pages -- vma->vm_flags |= VM_MIXEDMAP; -+ vm_flags_set(vma, VM_MIXEDMAP); - - for (i = 0, addr = mmap_context->page_array[0]; i < pages; - addr = mmap_context->page_array[++i], start += PAGE_SIZE) -@@ -596,7 +596,7 @@ int nvidia_mmap_helper( - } - up(&nvl->mmap_lock); - -- vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND; -+ vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND); - } - else - { -@@ -663,15 +663,15 @@ int nvidia_mmap_helper( - - NV_PRINT_AT(NV_DBG_MEMINFO, at); - -- vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); -- vma->vm_flags |= (VM_DONTEXPAND | VM_DONTDUMP); -+ vm_flags_set(vma, VM_IO | VM_LOCKED | VM_RESERVED); -+ vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP); - } - - if ((prot & NV_PROTECT_WRITEABLE) == 0) - { - vma->vm_page_prot = NV_PGPROT_READ_ONLY(vma->vm_page_prot); -- vma->vm_flags &= ~VM_WRITE; -- vma->vm_flags &= ~VM_MAYWRITE; -+ vm_flags_clear(vma, VM_WRITE); -+ vm_flags_clear(vma, VM_MAYWRITE); - } - - vma->vm_ops = &nv_vm_ops; --- -2.39.2 - diff --git a/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.4.patch b/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.4.patch deleted file mode 100644 index c76d298b87..0000000000 --- a/packages/x11/driver/xf86-video-nvidia/patches/nvidia-470xx-fix-linux-6.4.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4981428cda825b415eea60313f71bf386cc9f7e1 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Sat, 25 Feb 2023 10:57:26 +0000 -Subject: [PATCH] Tentative fix for NVIDIA 470.182.03 driver for Linux 6.4-rc1 - ---- - kernel/nvidia-drm/nvidia-drm-drv.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c -index 8ef4c27..85c43f2 100644 ---- a/kernel/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel/nvidia-drm/nvidia-drm-drv.c -@@ -20,6 +20,7 @@ - * DEALINGS IN THE SOFTWARE. - */ - -+#include - #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */ - - #include "nvidia-drm-priv.h" -@@ -873,7 +874,11 @@ static void nv_drm_update_drm_driver_features(void) - - nv_drm_driver.dumb_create = nv_drm_dumb_create; - nv_drm_driver.dumb_map_offset = nv_drm_dumb_map_offset; -+// Rel. commit "drm: remove dumb_destroy callback" (Christian König, 26 Jan 2023) -+// NB: No resources are leaked, the kernel releases the same resources by default -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) - nv_drm_driver.dumb_destroy = nv_drm_dumb_destroy; -+#endif - #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ - } - --- -2.40.1 -