[SDLPoP] Update to v1.23
by Andrea Musuruane
commit ae7343250ab227107fbaa0ab9ee68d7623d9df3f
Author: Andrea Musuruane <musuruan(a)gmail.com>
Date: Mon Feb 24 17:52:04 2025 +0100
Update to v1.23
.gitignore | 1 +
SDLPoP.spec | 11 +++++++----
sources | 2 +-
3 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 68a7865..f3c4995 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/SDLPoP-1.20.tar.gz
/SDLPoP-1.22.tar.gz
+/SDLPoP-1.23.tar.gz
diff --git a/SDLPoP.spec b/SDLPoP.spec
index 75317db..3dd84d9 100644
--- a/SDLPoP.spec
+++ b/SDLPoP.spec
@@ -1,6 +1,6 @@
Name: SDLPoP
-Version: 1.22
-Release: 7%{?dist}
+Version: 1.23
+Release: 1%{?dist}
Summary: An open-source port of Prince of Persia
License: GPLv3+
@@ -74,11 +74,14 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/prince.appdata
%{_datadir}/applications/prince.desktop
%{_datadir}/icons/hicolor/*/apps/prince.png
%{_metainfodir}/prince.appdata.xml
-%license doc/gpl-3.0.txt
-%doc doc/Readme.txt doc/ChangeLog.txt
+%license COPYING
+%doc README.md doc/ChangeLog.txt
%changelog
+* Mon Feb 24 2025 Andrea Musuruane <musuruan(a)gmail.com> - 1.23-1
+- Update to v1.23
+
* Wed Jan 29 2025 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.22-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
diff --git a/sources b/sources
index bb8ba00..7ef2b4f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (SDLPoP-1.22.tar.gz) = d25777066c7293742a61aa75bb7be2fc20bad6a2ca8f46918978396a53a25cca532f238d1f8d679021ecb353aadeec9a199791045ffc2b90ae7ee45a3e1041da
+SHA512 (SDLPoP-1.23.tar.gz) = c904c8573aaa4551480709bffbdeeb362aa7589bc967184c04d21908af86438be69b6077f05ce174be30ec3981faa268efcf6a15ecf03444e04716855a92bcaa
1 week
[nvidia-470xx-kmod] Patches to fix kernel-6.13 , copied as is from Debian git repo
by Sérgio M. Basto
commit fdc8ee3a408be2996df0dd3f29f9e43b95264668
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sun Feb 23 18:44:48 2025 +0000
Patches to fix kernel-6.13 , copied as is from Debian git repo
https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers/-/commits/470
...m_output_poll_changed-changes-from-535.21.patch | 56 ++--
...backport-cmd_symlink-changes-from-550.142.patch | 67 +++++
...backport-uvm-warning-fixes-from-510.39.01.patch | 25 ++
0049-backport-warning-fixes-from-525.53.patch | 37 +++
...ackport-uvm-warning-fixes-from-535.146.02.patch | 39 +++
0051-backport-warning-fixes-from-535.216.01.patch | 301 +++++++++++++++++++++
...backport-uvm-warning-fixes-from-560.28.03.patch | 67 +++++
0053-fix-more-warnings.patch | 164 +++++++++++
0054-fix-more-uvm-warnings.patch | 50 ++++
...le_operations_fop_unsigned_offset_present.patch | 66 +++++
...ackport-LD_SCRIPT-changes-from-535.230.02.patch | 28 ++
0057-backport-uvm-fixes-from-535.230.02.patch | 53 ++++
0058-backport-warning-fixes-from-565.57.01.patch | 24 ++
...backport-uvm-warning-fixes-from-550.90.07.patch | 41 +++
kernel-612_runtime_fix.patch | 14 -
nvidia-470xx-kmod.spec | 89 +++++-
nvidia-UBSAN.patch | 2 +-
17 files changed, 1075 insertions(+), 48 deletions(-)
---
diff --git a/kernel-612-buildfix.patch b/0047-backport-drm_output_poll_changed-changes-from-535.21.patch
similarity index 57%
rename from kernel-612-buildfix.patch
rename to 0047-backport-drm_output_poll_changed-changes-from-535.21.patch
index d64395c..8c20eb1 100644
--- a/kernel-612-buildfix.patch
+++ b/0047-backport-drm_output_poll_changed-changes-from-535.21.patch
@@ -1,8 +1,20 @@
-diff -uNrp a/conftest.sh b/conftest.sh
---- a/conftest.sh 2024-05-02 15:25:33.000000000 +0100
-+++ b/conftest.sh 2024-12-13 13:54:11.908441973 +0000
-@@ -5055,6 +5055,30 @@ compile_test() {
- compile_check_conftest "$CODE" "NV_DRM_UNLOCKED_IOCTL_FLAG_PRESENT" "" "types"
+From 4744e22453573cc90f2a13505fa115422bfee499 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 8 Dec 2024 03:13:49 +0100
+Subject: [PATCH] backport drm_output_poll_changed changes from 535.216.01
+
+---
+ conftest.sh | 23 +++++++++++++++++++++++
+ nvidia-drm/nvidia-drm-drv.c | 4 ++++
+ nvidia-drm/nvidia-drm.Kbuild | 1 +
+ 3 files changed, 28 insertions(+)
+
+diff --git a/conftest.sh b/conftest.sh
+index d5a5845d..8ea5a918 100755
+--- a/conftest.sh
++++ b/conftest.sh
+@@ -5035,6 +5035,29 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_HAS_DUMB_DESTROY" "" "types"
;;
+ drm_output_poll_changed)
@@ -26,16 +38,16 @@ diff -uNrp a/conftest.sh b/conftest.sh
+ }"
+
+ compile_check_conftest "$CODE" "NV_DRM_OUTPUT_POLL_CHANGED_PRESENT" "" "types"
-+ ;;
++ ;;
+
-+
- # When adding a new conftest entry, please use the correct format for
- # specifying the relevant upstream Linux kernel commit.
- #
-diff -uNrp a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
---- a/nvidia-drm/nvidia-drm-drv.c 2024-05-02 15:50:00.000000000 +0100
-+++ b/nvidia-drm/nvidia-drm-drv.c 2024-12-13 13:54:11.909442018 +0000
-@@ -88,6 +88,7 @@ static struct nv_drm_device *dev_list =
+ drm_unlocked_ioctl_flag_present)
+ # Determine if DRM_UNLOCKED IOCTL flag is present.
+ #
+diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
+index f3501345..c271f1ae 100644
+--- a/nvidia-drm/nvidia-drm-drv.c
++++ b/nvidia-drm/nvidia-drm-drv.c
+@@ -88,6 +88,7 @@ static struct nv_drm_device *dev_list = NULL;
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
@@ -43,7 +55,7 @@ diff -uNrp a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
static void nv_drm_output_poll_changed(struct drm_device *dev)
{
struct drm_connector *connector = NULL;
-@@ -131,6 +132,7 @@ static void nv_drm_output_poll_changed(s
+@@ -131,6 +132,7 @@ static void nv_drm_output_poll_changed(struct drm_device *dev)
nv_drm_connector_list_iter_end(&conn_iter);
#endif
}
@@ -51,7 +63,7 @@ diff -uNrp a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
static struct drm_framebuffer *nv_drm_framebuffer_create(
struct drm_device *dev,
-@@ -168,7 +170,9 @@ static const struct drm_mode_config_func
+@@ -168,7 +170,9 @@ static const struct drm_mode_config_funcs nv_mode_config_funcs = {
.atomic_check = nv_drm_atomic_check,
.atomic_commit = nv_drm_atomic_commit,
@@ -61,11 +73,15 @@ diff -uNrp a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
};
static void nv_drm_event_callback(const struct NvKmsKapiEvent *event)
-diff -uNrp a/nvidia-drm/nvidia-drm.Kbuild b/nvidia-drm/nvidia-drm.Kbuild
---- a/nvidia-drm/nvidia-drm.Kbuild 2024-05-02 15:28:12.000000000 +0100
-+++ b/nvidia-drm/nvidia-drm.Kbuild 2024-12-13 13:54:11.909442018 +0000
-@@ -122,3 +122,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_co
+diff --git a/nvidia-drm/nvidia-drm.Kbuild b/nvidia-drm/nvidia-drm.Kbuild
+index af3f4af3..beec8bdc 100644
+--- a/nvidia-drm/nvidia-drm.Kbuild
++++ b/nvidia-drm/nvidia-drm.Kbuild
+@@ -122,3 +122,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_has_override_edid
NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_dumb_destroy
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_unlocked_ioctl_flag_present
+NV_CONFTEST_TYPE_COMPILE_TESTS += drm_output_poll_changed
+--
+2.39.5
+
diff --git a/0048-backport-cmd_symlink-changes-from-550.142.patch b/0048-backport-cmd_symlink-changes-from-550.142.patch
new file mode 100644
index 0000000..21120ea
--- /dev/null
+++ b/0048-backport-cmd_symlink-changes-from-550.142.patch
@@ -0,0 +1,67 @@
+From c00de3a0e8b8cfbb90d81b3ec58387f45c6c5af4 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Thu, 19 Dec 2024 13:42:55 +0100
+Subject: [PATCH] backport cmd_symlink changes from 550.142
+
+---
+ Kbuild | 14 ++++++++++++++
+ nvidia-modeset/nvidia-modeset.Kbuild | 3 ---
+ nvidia/nvidia.Kbuild | 3 ---
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/Kbuild b/Kbuild
+index f977eaf3..0dbdae85 100644
+--- a/Kbuild
++++ b/Kbuild
+@@ -55,6 +55,20 @@ ifeq ($(NV_UNDEF_BEHAVIOR_SANITIZER),1)
+ UBSAN_SANITIZE := y
+ endif
+
++#
++# Command to create a symbolic link, explicitly resolving the symlink target
++# to an absolute path to abstract away the difference between Linux < 6.13,
++# where the CWD is the Linux kernel source tree for Kbuild extmod builds, and
++# Linux >= 6.13, where the CWD is the external module source tree.
++#
++# This is used to create the nv*-kernel.o -> nv*-kernel.o_binary symlinks for
++# kernel modules which use precompiled binary object files.
++#
++
++quiet_cmd_symlink = SYMLINK $@
++ cmd_symlink = ln -sf $(abspath $<) $@
++
++
+ $(foreach _module, $(NV_KERNEL_MODULES), \
+ $(eval include $(src)/$(_module)/$(_module).Kbuild))
+
+diff --git a/nvidia-modeset/nvidia-modeset.Kbuild b/nvidia-modeset/nvidia-modeset.Kbuild
+index 0744b703..1aa625b0 100644
+--- a/nvidia-modeset/nvidia-modeset.Kbuild
++++ b/nvidia-modeset/nvidia-modeset.Kbuild
+@@ -40,9 +40,6 @@ NV_KERNEL_MODULE_TARGETS += $(NVIDIA_MODESET_KO)
+ NVIDIA_MODESET_BINARY_OBJECT := $(src)/nvidia-modeset/nv-modeset-kernel.o_binary
+ NVIDIA_MODESET_BINARY_OBJECT_O := nvidia-modeset/nv-modeset-kernel.o
+
+-quiet_cmd_symlink = SYMLINK $@
+-cmd_symlink = ln -sf $< $@
+-
+ targets += $(NVIDIA_MODESET_BINARY_OBJECT_O)
+
+ $(obj)/$(NVIDIA_MODESET_BINARY_OBJECT_O): $(NVIDIA_MODESET_BINARY_OBJECT) FORCE
+diff --git a/nvidia/nvidia.Kbuild b/nvidia/nvidia.Kbuild
+index a0f4943f..e13e15be 100644
+--- a/nvidia/nvidia.Kbuild
++++ b/nvidia/nvidia.Kbuild
+@@ -40,9 +40,6 @@ NVIDIA_KO = nvidia/nvidia.ko
+ NVIDIA_BINARY_OBJECT := $(src)/nvidia/nv-kernel.o_binary
+ NVIDIA_BINARY_OBJECT_O := nvidia/nv-kernel.o
+
+-quiet_cmd_symlink = SYMLINK $@
+- cmd_symlink = ln -sf $< $@
+-
+ targets += $(NVIDIA_BINARY_OBJECT_O)
+
+ $(obj)/$(NVIDIA_BINARY_OBJECT_O): $(NVIDIA_BINARY_OBJECT) FORCE
+--
+2.39.5
+
diff --git a/0049-backport-uvm-warning-fixes-from-510.39.01.patch b/0049-backport-uvm-warning-fixes-from-510.39.01.patch
new file mode 100644
index 0000000..c5319b6
--- /dev/null
+++ b/0049-backport-uvm-warning-fixes-from-510.39.01.patch
@@ -0,0 +1,25 @@
+From 7e21bf18dce793785e32e159b410356c9bbabcd5 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 8 Dec 2024 03:20:30 +0100
+Subject: [PATCH] backport uvm warning fixes from 510.39.01
+
+---
+ nvidia-uvm/uvm_pascal_mmu.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nvidia-uvm/uvm_pascal_mmu.c b/nvidia-uvm/uvm_pascal_mmu.c
+index cecfc5a4..d5e577fd 100644
+--- a/nvidia-uvm/uvm_pascal_mmu.c
++++ b/nvidia-uvm/uvm_pascal_mmu.c
+@@ -171,7 +171,7 @@ static NvLength entry_size_pascal(NvU32 depth)
+
+ static NvU32 index_bits_pascal(NvU32 depth, NvU32 page_size)
+ {
+- const static NvU32 bit_widths[] = {2, 9, 9, 8};
++ static const NvU32 bit_widths[] = {2, 9, 9, 8};
+ // some code paths keep on querying this until they get a 0, meaning only the page offset remains.
+ UVM_ASSERT(depth < 5);
+ if (depth < 4) {
+--
+2.39.5
+
diff --git a/0049-backport-warning-fixes-from-525.53.patch b/0049-backport-warning-fixes-from-525.53.patch
new file mode 100644
index 0000000..cb85f20
--- /dev/null
+++ b/0049-backport-warning-fixes-from-525.53.patch
@@ -0,0 +1,37 @@
+From 58b338a02cf2428684600c963c317bb8a232b731 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sat, 14 Dec 2024 23:42:16 +0100
+Subject: [PATCH] backport warning fixes from 525.53
+
+---
+ nvidia-drm/nvidia-drm-crtc.c | 1 -
+ nvidia-drm/nvidia-drm-modeset.c | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/nvidia-drm/nvidia-drm-crtc.c b/nvidia-drm/nvidia-drm-crtc.c
+index 20a31589..8a9ea276 100644
+--- a/nvidia-drm/nvidia-drm-crtc.c
++++ b/nvidia-drm/nvidia-drm-crtc.c
+@@ -86,7 +86,6 @@ plane_req_config_update(struct drm_plane *plane,
+ struct nv_drm_device *nv_dev = to_nv_device(plane->dev);
+ struct nv_drm_plane_state *nv_drm_plane_state =
+ to_nv_drm_plane_state(plane_state);
+- int ret = 0;
+
+ if (plane_state->fb == NULL) {
+ plane_req_config_disable(req_config);
+diff --git a/nvidia-drm/nvidia-drm-modeset.c b/nvidia-drm/nvidia-drm-modeset.c
+index 123a1266..ccfdc0c7 100644
+--- a/nvidia-drm/nvidia-drm-modeset.c
++++ b/nvidia-drm/nvidia-drm-modeset.c
+@@ -93,7 +93,6 @@ static bool __will_generate_flip_event(struct drm_crtc *crtc,
+ to_nv_crtc_state(new_crtc_state);
+ struct drm_plane_state *old_plane_state = NULL;
+ struct drm_plane *plane = NULL;
+- struct drm_plane *primary_plane = crtc->primary;
+ bool primary_event = false;
+ bool overlay_event = false;
+ int i;
+--
+2.39.5
+
diff --git a/0050-backport-uvm-warning-fixes-from-535.146.02.patch b/0050-backport-uvm-warning-fixes-from-535.146.02.patch
new file mode 100644
index 0000000..7f68e74
--- /dev/null
+++ b/0050-backport-uvm-warning-fixes-from-535.146.02.patch
@@ -0,0 +1,39 @@
+From 82ca49d7239c19da34efcfbb3f3d05094023cb03 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Tue, 10 Dec 2024 19:53:27 +0100
+Subject: [PATCH] backport uvm warning fixes from 535.146.02
+
+---
+ nvidia-uvm/uvm_va_range.c | 2 +-
+ nvidia-uvm/uvm_va_range.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nvidia-uvm/uvm_va_range.c b/nvidia-uvm/uvm_va_range.c
+index 69149e51..234abf26 100644
+--- a/nvidia-uvm/uvm_va_range.c
++++ b/nvidia-uvm/uvm_va_range.c
+@@ -1659,7 +1659,7 @@ static bool fault_check_range_permission(uvm_va_range_t *va_range, uvm_fault_acc
+
+ NV_STATUS uvm_va_range_check_logical_permissions(uvm_va_range_t *va_range,
+ uvm_processor_id_t processor_id,
+- uvm_fault_type_t access_type,
++ uvm_fault_access_type_t access_type,
+ bool allow_migration)
+ {
+ // CPU permissions are checked later by block_map_cpu_page.
+diff --git a/nvidia-uvm/uvm_va_range.h b/nvidia-uvm/uvm_va_range.h
+index 6afc8ce7..872a7b6d 100644
+--- a/nvidia-uvm/uvm_va_range.h
++++ b/nvidia-uvm/uvm_va_range.h
+@@ -891,7 +891,7 @@ uvm_prot_t uvm_va_range_logical_prot(uvm_va_range_t *va_range);
+ // by UvmPreventMigrationRangeGroups.
+ NV_STATUS uvm_va_range_check_logical_permissions(uvm_va_range_t *va_range,
+ uvm_processor_id_t processor_id,
+- uvm_fault_type_t access_type,
++ uvm_fault_access_type_t access_type,
+ bool allow_migration);
+
+ static bool uvm_va_range_is_read_duplicate(uvm_va_range_t *va_range)
+--
+2.39.5
+
diff --git a/0051-backport-warning-fixes-from-535.216.01.patch b/0051-backport-warning-fixes-from-535.216.01.patch
new file mode 100644
index 0000000..5c8c1b6
--- /dev/null
+++ b/0051-backport-warning-fixes-from-535.216.01.patch
@@ -0,0 +1,301 @@
+From ce9e24082c04cc87e649179707c36a26043bbd60 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 8 Dec 2024 03:20:30 +0100
+Subject: [PATCH] backport warning fixes from 535.216.01
+
+---
+ common/inc/nv-linux.h | 10 ++++++++++
+ nvidia-modeset/nv-kthread-q.c | 2 +-
+ nvidia-modeset/nvidia-modeset-linux.c | 3 ++-
+ nvidia-uvm/nv-kthread-q-selftest.c | 2 +-
+ nvidia-uvm/nv-kthread-q.c | 2 +-
+ nvidia/linux_nvswitch.c | 3 ++-
+ nvidia/nv-caps.c | 2 +-
+ nvidia/nv-dma.c | 4 ++--
+ nvidia/nv-ibmnpu.c | 2 +-
+ nvidia/nv-kthread-q.c | 2 +-
+ nvidia/nv-mmap.c | 4 ++--
+ nvidia/nv-procfs.c | 2 +-
+ nvidia/nv.c | 6 ------
+ nvidia/nvlink_linux.c | 1 +
+ nvidia/os-interface.c | 2 +-
+ 15 files changed, 27 insertions(+), 20 deletions(-)
+
+diff --git a/common/inc/nv-linux.h b/common/inc/nv-linux.h
+index 2b685c9a..d22f9dc5 100644
+--- a/common/inc/nv-linux.h
++++ b/common/inc/nv-linux.h
+@@ -518,7 +518,9 @@ static inline void *nv_vmalloc(unsigned long size)
+ void *ptr = __vmalloc(size, GFP_KERNEL);
+ #endif
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, size);
++ }
+ return ptr;
+ }
+
+@@ -532,7 +534,9 @@ static inline void *nv_ioremap(NvU64 phys, NvU64 size)
+ {
+ void *ptr = ioremap(phys, size);
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, size);
++ }
+ return ptr;
+ }
+
+@@ -564,7 +568,9 @@ static inline void *nv_ioremap_cache(NvU64 phys, NvU64 size)
+ //
+ void *ptr = ioremap_prot(phys, size, pgprot_val(PAGE_KERNEL));
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, size);
++ }
+ return ptr;
+ #else
+ return nv_ioremap(phys, size);
+@@ -576,7 +582,9 @@ static inline void *nv_ioremap_wc(NvU64 phys, NvU64 size)
+ #if defined(NV_IOREMAP_WC_PRESENT)
+ void *ptr = ioremap_wc(phys, size);
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, size);
++ }
+ return ptr;
+ #else
+ return nv_ioremap_nocache(phys, size);
+@@ -663,7 +671,9 @@ static inline NvUPtr nv_vmap(struct page **pages, NvU32 page_count,
+ /* All memory cached in PPC64LE; can't honor 'cached' input. */
+ ptr = vmap(pages, page_count, VM_MAP, prot);
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
++ }
+ return (NvUPtr)ptr;
+ }
+
+diff --git a/nvidia-modeset/nv-kthread-q.c b/nvidia-modeset/nv-kthread-q.c
+index 9c8d5392..5811e6bb 100644
+--- a/nvidia-modeset/nv-kthread-q.c
++++ b/nvidia-modeset/nv-kthread-q.c
+@@ -177,7 +177,7 @@ static struct task_struct *thread_create_on_node(int (*threadfn)(void *data),
+ {
+
+ unsigned i, j;
+- const static unsigned attempts = 3;
++ static const unsigned attempts = 3;
+ struct task_struct *thread[3];
+
+ for (i = 0;; i++) {
+diff --git a/nvidia-modeset/nvidia-modeset-linux.c b/nvidia-modeset/nvidia-modeset-linux.c
+index e9c8eab8..8c4d0949 100644
+--- a/nvidia-modeset/nvidia-modeset-linux.c
++++ b/nvidia-modeset/nvidia-modeset-linux.c
+@@ -1167,7 +1167,7 @@ static void nvkms_kapi_event_kthread_q_callback(void *arg)
+ nvKmsKapiHandleEventQueueChange(device);
+ }
+
+-struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type,
++static struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type,
+ struct NvKmsKapiDevice *device,
+ int *status)
+ {
+@@ -1282,6 +1282,7 @@ static void nvkms_close_popen(struct nvkms_per_open *popen)
+ }
+ }
+
++static
+ int nvkms_ioctl_common
+ (
+ struct nvkms_per_open *popen,
+diff --git a/nvidia-uvm/nv-kthread-q-selftest.c b/nvidia-uvm/nv-kthread-q-selftest.c
+index bb67754e..306e3b92 100644
+--- a/nvidia-uvm/nv-kthread-q-selftest.c
++++ b/nvidia-uvm/nv-kthread-q-selftest.c
+@@ -81,7 +81,7 @@
+ #define NUM_Q_ITEMS_IN_MULTITHREAD_TEST (NUM_TEST_Q_ITEMS * NUM_TEST_KTHREADS)
+
+ // This exists in order to have a function to place a breakpoint on:
+-void on_nvq_assert(void)
++static void on_nvq_assert(void)
+ {
+ (void)NULL;
+ }
+diff --git a/nvidia-uvm/nv-kthread-q.c b/nvidia-uvm/nv-kthread-q.c
+index 9c8d5392..5811e6bb 100644
+--- a/nvidia-uvm/nv-kthread-q.c
++++ b/nvidia-uvm/nv-kthread-q.c
+@@ -177,7 +177,7 @@ static struct task_struct *thread_create_on_node(int (*threadfn)(void *data),
+ {
+
+ unsigned i, j;
+- const static unsigned attempts = 3;
++ static const unsigned attempts = 3;
+ struct task_struct *thread[3];
+
+ for (i = 0;; i++) {
+diff --git a/nvidia/linux_nvswitch.c b/nvidia/linux_nvswitch.c
+index 18e196eb..6974085e 100644
+--- a/nvidia/linux_nvswitch.c
++++ b/nvidia/linux_nvswitch.c
+@@ -30,6 +30,7 @@
+ #include "nvCpuUuid.h"
+ #include "nv-time.h"
+ #include "nvlink_caps.h"
++#include "nvlink_proto.h"
+
+ #include <linux/module.h>
+ #include <linux/interrupt.h>
+@@ -48,7 +49,7 @@
+
+ #include "ioctl_nvswitch.h"
+
+-const static struct
++static const struct
+ {
+ NvlStatus status;
+ int err;
+diff --git a/nvidia/nv-caps.c b/nvidia/nv-caps.c
+index ab2a8528..9fbdccbb 100644
+--- a/nvidia/nv-caps.c
++++ b/nvidia/nv-caps.c
+@@ -245,7 +245,7 @@ static void nv_cap_procfs_exit(void)
+ nv_cap_procfs_dir = NULL;
+ }
+
+-int nv_cap_procfs_init(void)
++static int nv_cap_procfs_init(void)
+ {
+ nv_cap_procfs_dir = NV_CREATE_PROC_DIR(NV_CAP_PROCFS_DIR, NULL);
+ if (nv_cap_procfs_dir == NULL)
+diff --git a/nvidia/nv-dma.c b/nvidia/nv-dma.c
+index 9f1ea118..649de347 100644
+--- a/nvidia/nv-dma.c
++++ b/nvidia/nv-dma.c
+@@ -265,7 +265,7 @@ void nv_destroy_dma_map_scatterlist(nv_dma_map_t *dma_map)
+ os_free_mem(dma_map->mapping.discontig.submaps);
+ }
+
+-void nv_load_dma_map_scatterlist(
++static void nv_load_dma_map_scatterlist(
+ nv_dma_map_t *dma_map,
+ NvU64 *va_array
+ )
+@@ -461,7 +461,7 @@ NV_STATUS NV_API_CALL nv_dma_map_sgt(
+ return status;
+ }
+
+-NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
++static NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
+ nv_dma_device_t *dma_dev,
+ void **priv
+ )
+diff --git a/nvidia/nv-ibmnpu.c b/nvidia/nv-ibmnpu.c
+index 9adc8fe9..5a50de8d 100644
+--- a/nvidia/nv-ibmnpu.c
++++ b/nvidia/nv-ibmnpu.c
+@@ -25,9 +25,9 @@
+ * nv-ibmnpu.c - interface with the ibmnpu (IBM NVLink Processing Unit) "module"
+ */
+ #include "nv-linux.h"
++#include "nv-ibmnpu.h"
+
+ #if defined(NVCPU_PPC64LE)
+-#include "nv-ibmnpu.h"
+ #include "nv-rsync.h"
+
+ /*
+diff --git a/nvidia/nv-kthread-q.c b/nvidia/nv-kthread-q.c
+index 9c8d5392..5811e6bb 100644
+--- a/nvidia/nv-kthread-q.c
++++ b/nvidia/nv-kthread-q.c
+@@ -177,7 +177,7 @@ static struct task_struct *thread_create_on_node(int (*threadfn)(void *data),
+ {
+
+ unsigned i, j;
+- const static unsigned attempts = 3;
++ static const unsigned attempts = 3;
+ struct task_struct *thread[3];
+
+ for (i = 0;; i++) {
+diff --git a/nvidia/nv-mmap.c b/nvidia/nv-mmap.c
+index 9e1eb5db..1c103a6a 100644
+--- a/nvidia/nv-mmap.c
++++ b/nvidia/nv-mmap.c
+@@ -358,7 +358,7 @@ int nv_encode_caching(
+ return 0;
+ }
+
+-int static nvidia_mmap_peer_io(
++static int nvidia_mmap_peer_io(
+ struct vm_area_struct *vma,
+ nv_alloc_t *at,
+ NvU64 page_index,
+@@ -379,7 +379,7 @@ int static nvidia_mmap_peer_io(
+ return ret;
+ }
+
+-int static nvidia_mmap_sysmem(
++static int nvidia_mmap_sysmem(
+ struct vm_area_struct *vma,
+ nv_alloc_t *at,
+ NvU64 page_index,
+diff --git a/nvidia/nv-procfs.c b/nvidia/nv-procfs.c
+index b0d75731..32c9c747 100644
+--- a/nvidia/nv-procfs.c
++++ b/nvidia/nv-procfs.c
+@@ -685,7 +685,7 @@ static nv_proc_ops_t nv_procfs_suspend_fops = {
+ /*
+ * Forwards error to nv_log_error which exposes data to vendor callback
+ */
+-void
++static void
+ exercise_error_forwarding_va(
+ nv_state_t *nv,
+ NvU32 err,
+diff --git a/nvidia/nv.c b/nvidia/nv.c
+index 182d1af7..04606e5d 100644
+--- a/nvidia/nv.c
++++ b/nvidia/nv.c
+@@ -1267,12 +1267,6 @@ NV_STATUS NV_API_CALL nv_get_current_irq_priv_data(nv_state_t *nv, NvU32 *priv_d
+ return NV_OK;
+ }
+
+-NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
+-{
+- *num_instances = nv->num_dpaux_instance;
+- return NV_OK;
+-}
+-
+ void NV_API_CALL
+ nv_schedule_uvm_isr(nv_state_t *nv)
+ {
+diff --git a/nvidia/nvlink_linux.c b/nvidia/nvlink_linux.c
+index 16dafad2..fdf4b564 100644
+--- a/nvidia/nvlink_linux.c
++++ b/nvidia/nvlink_linux.c
+@@ -27,6 +27,7 @@
+ #include "nvlink_linux.h"
+ #include "nvlink_errors.h"
+ #include "nvlink_export.h"
++#include "nvlink_proto.h"
+ #include "nv-linux.h"
+ #include "nv-procfs.h"
+ #include "nv-time.h"
+diff --git a/nvidia/os-interface.c b/nvidia/os-interface.c
+index e7c1f9dc..1efbbfa7 100644
+--- a/nvidia/os-interface.c
++++ b/nvidia/os-interface.c
+@@ -273,7 +273,7 @@ NvS32 NV_API_CALL os_string_compare(const char *str1, const char *str2)
+ return strcmp(str1, str2);
+ }
+
+-void *os_mem_copy_custom(
++static void *os_mem_copy_custom(
+ void *dstPtr,
+ const void *srcPtr,
+ NvU32 length
+--
+2.39.5
+
diff --git a/0052-backport-uvm-warning-fixes-from-560.28.03.patch b/0052-backport-uvm-warning-fixes-from-560.28.03.patch
new file mode 100644
index 0000000..6f1e7d7
--- /dev/null
+++ b/0052-backport-uvm-warning-fixes-from-560.28.03.patch
@@ -0,0 +1,67 @@
+From 9a37641eb84e8aba3442807b00ab2a22fce4bfb0 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 8 Dec 2024 22:54:59 +0100
+Subject: [PATCH] backport uvm warning fixes from 560.28.03
+
+---
+ nvidia-uvm/uvm_kepler_mmu.c | 1 +
+ nvidia-uvm/uvm_page_tree_test.c | 2 +-
+ nvidia-uvm/uvm_pascal_fault_buffer.c | 7 -------
+ nvidia-uvm/uvm_pascal_mmu.c | 1 +
+ 4 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/nvidia-uvm/uvm_kepler_mmu.c b/nvidia-uvm/uvm_kepler_mmu.c
+index 96305685..b7d1b27c 100644
+--- a/nvidia-uvm/uvm_kepler_mmu.c
++++ b/nvidia-uvm/uvm_kepler_mmu.c
+@@ -38,6 +38,7 @@
+ #include "uvm_forward_decl.h"
+ #include "uvm_gpu.h"
+ #include "uvm_mmu.h"
++#include "uvm_hal.h"
+ #include "uvm_push_macros.h"
+ #include "hwref/kepler/gk104/dev_mmu.h"
+
+diff --git a/nvidia-uvm/uvm_page_tree_test.c b/nvidia-uvm/uvm_page_tree_test.c
+index 60f7d614..d2b3f272 100644
+--- a/nvidia-uvm/uvm_page_tree_test.c
++++ b/nvidia-uvm/uvm_page_tree_test.c
+@@ -1450,7 +1450,7 @@ static uvm_mmu_page_table_alloc_t fake_table_alloc(uvm_aperture_t aperture, NvU6
+ // Queries the supported page sizes of the GPU(uvm_gpu_t) and fills the
+ // page_sizes array up to MAX_NUM_PAGE_SIZE. Returns the number of elements in
+ // page_sizes;
+-size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes)
++static size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes)
+ {
+ unsigned long page_size_log2;
+ unsigned long page_sizes_bitvec;
+diff --git a/nvidia-uvm/uvm_pascal_fault_buffer.c b/nvidia-uvm/uvm_pascal_fault_buffer.c
+index 2186d293..6c313cad 100644
+--- a/nvidia-uvm/uvm_pascal_fault_buffer.c
++++ b/nvidia-uvm/uvm_pascal_fault_buffer.c
+@@ -292,10 +292,3 @@ NvU32 uvm_hal_pascal_fault_buffer_entry_size(uvm_parent_gpu_t *parent_gpu)
+ {
+ return NVB069_FAULT_BUF_SIZE;
+ }
+-
+-void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu,
+- void *fault_packet,
+- uvm_fault_buffer_entry_t *buffer_entry)
+-{
+- UVM_ASSERT_MSG(false, "fault_buffer_parse_non_replayable_entry called on Pascal GPU\n");
+-}
+diff --git a/nvidia-uvm/uvm_pascal_mmu.c b/nvidia-uvm/uvm_pascal_mmu.c
+index 8b17319e..46724e23 100644
+--- a/nvidia-uvm/uvm_pascal_mmu.c
++++ b/nvidia-uvm/uvm_pascal_mmu.c
+@@ -36,6 +36,7 @@
+ #include "uvm_global.h"
+ #include "uvm_gpu.h"
+ #include "uvm_mmu.h"
++#include "uvm_hal.h"
+ #include "uvm_push_macros.h"
+ #include "uvm_pascal_fault_buffer.h"
+ #include "hwref/pascal/gp100/dev_fault.h"
+--
+2.39.5
+
diff --git a/0053-fix-more-warnings.patch b/0053-fix-more-warnings.patch
new file mode 100644
index 0000000..a6377cb
--- /dev/null
+++ b/0053-fix-more-warnings.patch
@@ -0,0 +1,164 @@
+From 6878636ece887d7062f02bbe4c583ddbac0e2af0 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 8 Dec 2024 22:13:22 +0100
+Subject: [PATCH] fix more warnings
+
+---
+ common/inc/nv-linux.h | 8 ++++++++
+ common/inc/nv-proto.h | 2 +-
+ nvidia-drm/nvidia-drm-crtc.c | 2 ++
+ nvidia-modeset/nvidia-modeset-linux.c | 1 +
+ nvidia/nv-dma.c | 1 +
+ nvidia/nv-frontend.c | 2 --
+ nvidia/nv-frontend.h | 3 +++
+ nvidia/nv-mmap.c | 1 +
+ nvidia/nv.c | 1 +
+ 9 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/common/inc/nv-linux.h b/common/inc/nv-linux.h
+index d22f9dc5..b05f88f7 100644
+--- a/common/inc/nv-linux.h
++++ b/common/inc/nv-linux.h
+@@ -550,7 +550,9 @@ static inline void *nv_ioremap_cache(NvU64 phys, NvU64 size)
+ #if defined(NV_IOREMAP_CACHE_PRESENT)
+ void *ptr = ioremap_cache(phys, size);
+ if (ptr)
++ {
+ NV_MEMDBG_ADD(ptr, size);
++ }
+ return ptr;
+ #elif defined(NVCPU_PPC64LE)
+ //
+@@ -612,14 +614,18 @@ static NvBool nv_numa_node_has_memory(int node_id)
+ { \
+ (ptr) = kmalloc(size, NV_GFP_KERNEL); \
+ if (ptr) \
++ { \
+ NV_MEMDBG_ADD(ptr, size); \
++ } \
+ }
+
+ #define NV_KMALLOC_ATOMIC(ptr, size) \
+ { \
+ (ptr) = kmalloc(size, NV_GFP_ATOMIC); \
+ if (ptr) \
++ { \
+ NV_MEMDBG_ADD(ptr, size); \
++ } \
+ }
+
+ #if defined(__GFP_RETRY_MAYFAIL)
+@@ -634,7 +640,9 @@ static NvBool nv_numa_node_has_memory(int node_id)
+ { \
+ (ptr) = kmalloc(size, NV_GFP_NO_OOM); \
+ if (ptr) \
++ { \
+ NV_MEMDBG_ADD(ptr, size); \
++ } \
+ }
+
+ #define NV_KFREE(ptr, size) \
+diff --git a/common/inc/nv-proto.h b/common/inc/nv-proto.h
+index 79cccfa1..8ddae2eb 100644
+--- a/common/inc/nv-proto.h
++++ b/common/inc/nv-proto.h
+@@ -37,7 +37,7 @@ void nv_procfs_remove_gpu (nv_linux_state_t *);
+
+ int nvidia_mmap (struct file *, struct vm_area_struct *);
+ int nvidia_mmap_helper (nv_state_t *, nv_linux_file_private_t *, nvidia_stack_t *, struct vm_area_struct *, void *);
+-int nv_encode_caching (pgprot_t *, NvU32, NvU32);
++int nv_encode_caching (pgprot_t *, NvU32, nv_memory_type_t);
+ void nv_revoke_gpu_mappings_locked(nv_state_t *);
+
+ NvUPtr nv_vm_map_pages (struct page **, NvU32, NvBool);
+diff --git a/nvidia-drm/nvidia-drm-crtc.c b/nvidia-drm/nvidia-drm-crtc.c
+index 8a9ea276..33bdef05 100644
+--- a/nvidia-drm/nvidia-drm-crtc.c
++++ b/nvidia-drm/nvidia-drm-crtc.c
+@@ -367,8 +367,10 @@ static int nv_drm_plane_atomic_set_property(
+ uint64_t val)
+ {
+ struct nv_drm_device *nv_dev = to_nv_device(plane->dev);
++#if defined(NV_LINUX_NVHOST_H_PRESENT) && defined(CONFIG_TEGRA_GRHOST)
+ struct nv_drm_plane_state *nv_drm_plane_state =
+ to_nv_drm_plane_state(state);
++#endif
+
+ if (property == nv_dev->nv_out_fence_property) {
+ #if defined(NV_LINUX_NVHOST_H_PRESENT) && defined(CONFIG_TEGRA_GRHOST)
+diff --git a/nvidia-modeset/nvidia-modeset-linux.c b/nvidia-modeset/nvidia-modeset-linux.c
+index 8c4d0949..3c7f4dc8 100644
+--- a/nvidia-modeset/nvidia-modeset-linux.c
++++ b/nvidia-modeset/nvidia-modeset-linux.c
+@@ -1219,6 +1219,7 @@ failed:
+ return NULL;
+ }
+
++static
+ void nvkms_close_common(struct nvkms_per_open *popen)
+ {
+ /*
+diff --git a/nvidia/nv-dma.c b/nvidia/nv-dma.c
+index 649de347..f8c1d3bc 100644
+--- a/nvidia/nv-dma.c
++++ b/nvidia/nv-dma.c
+@@ -960,6 +960,7 @@ void NV_API_CALL nv_dma_enable_nvlink
+
+ #if defined(NV_DRM_AVAILABLE) && defined(NV_DRM_DRM_GEM_H_PRESENT)
+
++#undef IMPORT_SGT_STUBS_NEEDED
+ #define IMPORT_SGT_STUBS_NEEDED 0
+
+ /*
+diff --git a/nvidia/nv-frontend.c b/nvidia/nv-frontend.c
+index 4d6d8af2..4f4ba241 100644
+--- a/nvidia/nv-frontend.c
++++ b/nvidia/nv-frontend.c
+@@ -39,8 +39,6 @@ struct semaphore nv_module_table_lock;
+ // minor number table
+ nvidia_module_t *nv_minor_num_table[NV_FRONTEND_CONTROL_DEVICE_MINOR_MAX + 1];
+
+-int nvidia_init_module(void);
+-void nvidia_exit_module(void);
+
+ /* EXPORTS to Linux Kernel */
+
+diff --git a/nvidia/nv-frontend.h b/nvidia/nv-frontend.h
+index d6501832..83b03b91 100644
+--- a/nvidia/nv-frontend.h
++++ b/nvidia/nv-frontend.h
+@@ -32,4 +32,7 @@ int nvidia_frontend_remove_device(nvidia_module_t *, nv_linux_state_t *);
+
+ extern nvidia_module_t *nv_minor_num_table[];
+
++int nvidia_init_module(void);
++void nvidia_exit_module(void);
++
+ #endif
+diff --git a/nvidia/nv-mmap.c b/nvidia/nv-mmap.c
+index 1c103a6a..a3ed2e6b 100644
+--- a/nvidia/nv-mmap.c
++++ b/nvidia/nv-mmap.c
+@@ -349,6 +349,7 @@ int nv_encode_caching(
+ if (NV_ALLOW_CACHING(memory_type))
+ break;
+ // Intentional fallthrough.
++ __attribute__((__fallthrough__));
+ default:
+ nv_printf(NV_DBG_ERRORS,
+ "NVRM: VM: cache type %d not supported for memory type %d!\n",
+diff --git a/nvidia/nv.c b/nvidia/nv.c
+index 04606e5d..540ebd23 100644
+--- a/nvidia/nv.c
++++ b/nvidia/nv.c
+@@ -3658,6 +3658,7 @@ NvBool NV_API_CALL nv_is_rm_firmware_active(
+ return NV_FALSE;
+ }
+
++static
+ const char *nv_firmware_path(
+ nv_firmware_t fw_type
+ )
+--
+2.39.5
+
diff --git a/0054-fix-more-uvm-warnings.patch b/0054-fix-more-uvm-warnings.patch
new file mode 100644
index 0000000..194d8c5
--- /dev/null
+++ b/0054-fix-more-uvm-warnings.patch
@@ -0,0 +1,50 @@
+From 6aca744dd7e05800f8d800283c30ed63546b7318 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Tue, 10 Dec 2024 20:08:50 +0100
+Subject: [PATCH] fix more uvm warnings
+
+---
+ nvidia-uvm/uvm_channel_test.c | 1 -
+ nvidia-uvm/uvm_gpu.c | 1 +
+ nvidia-uvm/uvm_tools.c | 1 +
+ 3 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/nvidia-uvm/uvm_channel_test.c b/nvidia-uvm/uvm_channel_test.c
+index 8a3a8393..1adac345 100644
+--- a/nvidia-uvm/uvm_channel_test.c
++++ b/nvidia-uvm/uvm_channel_test.c
+@@ -156,7 +156,6 @@ done:
+
+ static NV_STATUS test_unexpected_completed_values(uvm_va_space_t *va_space)
+ {
+- NV_STATUS status;
+ uvm_gpu_t *gpu;
+
+ for_each_va_space_gpu(gpu, va_space) {
+diff --git a/nvidia-uvm/uvm_gpu.c b/nvidia-uvm/uvm_gpu.c
+index 20c9c760..4b28c17a 100644
+--- a/nvidia-uvm/uvm_gpu.c
++++ b/nvidia-uvm/uvm_gpu.c
+@@ -1774,6 +1774,7 @@ uvm_gpu_t *uvm_gpu_get_by_uuid(const NvProcessorUuid *gpu_uuid)
+ return uvm_gpu_get_by_uuid_locked(gpu_uuid);
+ }
+
++static
+ uvm_gpu_t *uvm_gpu_get_by_uuid_and_swizz_id_locked(const NvProcessorUuid *gpu_uuid, NvU32 swizz_id)
+ {
+ uvm_parent_gpu_t *parent_gpu = uvm_parent_gpu_get_by_uuid(gpu_uuid);
+diff --git a/nvidia-uvm/uvm_tools.c b/nvidia-uvm/uvm_tools.c
+index f0aceaf9..68acbbff 100644
+--- a/nvidia-uvm/uvm_tools.c
++++ b/nvidia-uvm/uvm_tools.c
+@@ -35,6 +35,7 @@
+ #include "uvm_range_group.h"
+ #include "uvm_mem.h"
+ #include "nv_speculation_barrier.h"
++#include "uvm_tools_init.h"
+
+ // We limit the number of times a page can be retained by the kernel
+ // to prevent the user from maliciously passing UVM tools the same page
+--
+2.39.5
+
diff --git a/0055-backport-file_operations_fop_unsigned_offset_present.patch b/0055-backport-file_operations_fop_unsigned_offset_present.patch
new file mode 100644
index 0000000..2487573
--- /dev/null
+++ b/0055-backport-file_operations_fop_unsigned_offset_present.patch
@@ -0,0 +1,66 @@
+From 94b77ce217b3374fd4ebeaa70db5d986f9548c27 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Fri, 24 Jan 2025 12:34:22 +0100
+Subject: [PATCH] backport file_operations_fop_unsigned_offset_present changes
+ from 535.230.02
+
+---
+ conftest.sh | 16 ++++++++++++++++
+ nvidia-drm/nvidia-drm-drv.c | 4 ++++
+ nvidia-drm/nvidia-drm.Kbuild | 1 +
+ 3 files changed, 21 insertions(+)
+
+diff --git a/conftest.sh b/conftest.sh
+index 8ea5a918..3500382a 100755
+--- a/conftest.sh
++++ b/conftest.sh
+@@ -2504,6 +2504,22 @@ compile_test() {
+ fi
+ ;;
+
++ file_operations_fop_unsigned_offset_present)
++ #
++ # Determine if the FOP_UNSIGNED_OFFSET define is present.
++ #
++ # Added by commit 641bb4394f40 ("fs: move FMODE_UNSIGNED_OFFSET to
++ # fop_flags") in v6.12.
++ #
++ CODE="
++ #include <linux/fs.h>
++ int conftest_file_operations_fop_unsigned_offset_present(void) {
++ return FOP_UNSIGNED_OFFSET;
++ }"
++
++ compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_FOP_UNSIGNED_OFFSET_PRESENT" "" "types"
++ ;;
++
+ mm_context_t)
+ #
+ # Determine if the 'mm_context_t' data type is present
+diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
+index c271f1ae..649e70b1 100644
+--- a/nvidia-drm/nvidia-drm-drv.c
++++ b/nvidia-drm/nvidia-drm-drv.c
+@@ -743,6 +743,10 @@ static const struct file_operations nv_drm_fops = {
+ .read = drm_read,
+
+ .llseek = noop_llseek,
++
++#if defined(NV_FILE_OPERATIONS_FOP_UNSIGNED_OFFSET_PRESENT)
++ .fop_flags = FOP_UNSIGNED_OFFSET,
++#endif
+ };
+
+ static const struct drm_ioctl_desc nv_drm_ioctls[] = {
+diff --git a/nvidia-drm/nvidia-drm.Kbuild b/nvidia-drm/nvidia-drm.Kbuild
+index beec8bdc..eaa2362e 100644
+--- a/nvidia-drm/nvidia-drm.Kbuild
++++ b/nvidia-drm/nvidia-drm.Kbuild
+@@ -123,3 +123,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags
+ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_dumb_destroy
+ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_unlocked_ioctl_flag_present
+ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_output_poll_changed
++NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations_fop_unsigned_offset_present
+--
+2.39.5
+
diff --git a/0056-backport-LD_SCRIPT-changes-from-535.230.02.patch b/0056-backport-LD_SCRIPT-changes-from-535.230.02.patch
new file mode 100644
index 0000000..330ae07
--- /dev/null
+++ b/0056-backport-LD_SCRIPT-changes-from-535.230.02.patch
@@ -0,0 +1,28 @@
+From 768aa0ac1579625b779a557f6351a9b6aafb98e1 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Fri, 24 Jan 2025 12:37:14 +0100
+Subject: [PATCH] backport LD_SCRIPT changes from 535.230.02
+
+---
+ Makefile | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 49f55fd3..f67b2a81 100644
+--- a/Makefile
++++ b/Makefile
+@@ -97,8 +107,9 @@ else
+ # module symbols on which the Linux kernel's module resolution is dependent
+ # and hence must be used whenever present.
+
+- LD_SCRIPT ?= $(KERNEL_SOURCES)/scripts/module-common.lds \
+- $(KERNEL_SOURCES)/arch/$(ARCH)/kernel/module.lds \
++ LD_SCRIPT ?= $(KERNEL_SOURCES)/scripts/module-common.lds \
++ $(KERNEL_SOURCES)/arch/$(KERNEL_ARCH)/kernel/module.lds \
++ $(KERNEL_OUTPUT)/arch/$(KERNEL_ARCH)/module.lds \
+ $(KERNEL_OUTPUT)/scripts/module.lds
+ NV_MODULE_COMMON_SCRIPTS := $(foreach s, $(wildcard $(LD_SCRIPT)), -T $(s))
+
+--
+2.39.5
+
diff --git a/0057-backport-uvm-fixes-from-535.230.02.patch b/0057-backport-uvm-fixes-from-535.230.02.patch
new file mode 100644
index 0000000..fef6c3a
--- /dev/null
+++ b/0057-backport-uvm-fixes-from-535.230.02.patch
@@ -0,0 +1,53 @@
+From 3aac3ab7026be21032c861f22f5d1044501cad25 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Fri, 24 Jan 2025 12:37:59 +0100
+Subject: [PATCH] backport uvm fixes from 535.230.02
+
+---
+ nvidia-uvm/uvm_kvmalloc.c | 2 +-
+ nvidia-uvm/uvm_mmu.h | 2 +-
+ nvidia-uvm/uvm_pmm_gpu.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nvidia-uvm/uvm_kvmalloc.c b/nvidia-uvm/uvm_kvmalloc.c
+index 69e0b30b..2285a479 100644
+--- a/nvidia-uvm/uvm_kvmalloc.c
++++ b/nvidia-uvm/uvm_kvmalloc.c
+@@ -36,7 +36,7 @@
+ typedef struct
+ {
+ size_t alloc_size;
+- uint8_t ptr[0];
++ uint8_t ptr[];
+ } uvm_vmalloc_hdr_t;
+
+ typedef struct
+diff --git a/nvidia-uvm/uvm_mmu.h b/nvidia-uvm/uvm_mmu.h
+index ef74814c..afd45f2d 100644
+--- a/nvidia-uvm/uvm_mmu.h
++++ b/nvidia-uvm/uvm_mmu.h
+@@ -167,7 +167,7 @@ struct uvm_page_directory_struct
+ // pointers to child directories on the host.
+ // this array is variable length, so it needs to be last to allow it to
+ // take up extra space
+- uvm_page_directory_t *entries[0];
++ uvm_page_directory_t *entries[];
+ };
+
+ enum
+diff --git a/nvidia-uvm/uvm_pmm_gpu.c b/nvidia-uvm/uvm_pmm_gpu.c
+index 003bde59..41eec921 100644
+--- a/nvidia-uvm/uvm_pmm_gpu.c
++++ b/nvidia-uvm/uvm_pmm_gpu.c
+@@ -220,7 +220,7 @@ struct uvm_pmm_gpu_chunk_suballoc_struct
+ // Array of all child subchunks
+ // TODO: Bug 1765461: Can the array be inlined? It could save the parent
+ // pointer.
+- uvm_gpu_chunk_t *subchunks[0];
++ uvm_gpu_chunk_t *subchunks[];
+ };
+
+ typedef enum
+--
+2.39.5
+
diff --git a/0058-backport-warning-fixes-from-565.57.01.patch b/0058-backport-warning-fixes-from-565.57.01.patch
new file mode 100644
index 0000000..4974627
--- /dev/null
+++ b/0058-backport-warning-fixes-from-565.57.01.patch
@@ -0,0 +1,24 @@
+From 6b080d2906d115885aa856279e0489213af91eb2 Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Sun, 2 Feb 2025 18:54:55 +0100
+Subject: [PATCH] backport warning fixes from 565.57.01
+
+---
+ nvidia/nvlink_proto.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/nvidia/nvlink_proto.h b/nvidia/nvlink_proto.h
+index f465b97b..2589e0ab 100644
+--- a/nvidia/nvlink_proto.h
++++ b/nvidia/nvlink_proto.h
+@@ -47,7 +47,6 @@ void nvswitch_exit (void);
+ */
+ int tegrashim_init (void);
+ void tegrashim_exit (void);
+-NvlStatus tegrashim_init_device (struct pci_dev *);
+ #endif
+
+ #endif /* _NVLINK_PROTO_H_ */
+--
+2.39.5
+
diff --git a/0059-backport-uvm-warning-fixes-from-550.90.07.patch b/0059-backport-uvm-warning-fixes-from-550.90.07.patch
new file mode 100644
index 0000000..eb859e2
--- /dev/null
+++ b/0059-backport-uvm-warning-fixes-from-550.90.07.patch
@@ -0,0 +1,41 @@
+From 76fe2c7c75ceb6c69cad8ec9a0502d6c1d5debda Mon Sep 17 00:00:00 2001
+From: Andreas Beckmann <anbe(a)debian.org>
+Date: Wed, 5 Feb 2025 01:54:41 +0100
+Subject: [PATCH] backport uvm warning fixes from 550.90.07
+
+---
+ nvidia-uvm/uvm_map_external.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/nvidia-uvm/uvm_map_external.c b/nvidia-uvm/uvm_map_external.c
+index c58f2504..184a4d3c 100644
+--- a/nvidia-uvm/uvm_map_external.c
++++ b/nvidia-uvm/uvm_map_external.c
+@@ -39,6 +39,7 @@
+ #include "uvm_pte_batch.h"
+ #include "uvm_tlb_batch.h"
+ #include "nv_uvm_interface.h"
++#include "nv_uvm_types.h"
+
+ #include "uvm_pushbuffer.h"
+
+@@ -101,11 +102,11 @@ static NV_STATUS uvm_pte_buffer_init(uvm_va_range_t *va_range,
+
+ pte_buffer->va_range = va_range;
+ pte_buffer->gpu = gpu;
+- pte_buffer->mapping_info.cachingType = map_rm_params->caching_type;
+- pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type;
+- pte_buffer->mapping_info.formatType = map_rm_params->format_type;
+- pte_buffer->mapping_info.elementBits = map_rm_params->element_bits;
+- pte_buffer->mapping_info.compressionType = map_rm_params->compression_type;
++ pte_buffer->mapping_info.cachingType = (UvmRmGpuCachingType) map_rm_params->caching_type;
++ pte_buffer->mapping_info.mappingType = (UvmRmGpuMappingType) map_rm_params->mapping_type;
++ pte_buffer->mapping_info.formatType = (UvmRmGpuFormatType) map_rm_params->format_type;
++ pte_buffer->mapping_info.elementBits = (UvmRmGpuFormatElementBits) map_rm_params->element_bits;
++ pte_buffer->mapping_info.compressionType = (UvmRmGpuCompressionType) map_rm_params->compression_type;
+ pte_buffer->page_size = page_size;
+ pte_buffer->pte_size = uvm_mmu_pte_size(tree, page_size);
+ num_all_ptes = uvm_div_pow2_64(length, page_size);
+--
+2.39.5
+
diff --git a/nvidia-470xx-kmod.spec b/nvidia-470xx-kmod.spec
index f42abf4..77284c2 100644
--- a/nvidia-470xx-kmod.spec
+++ b/nvidia-470xx-kmod.spec
@@ -12,7 +12,7 @@ Name: nvidia-470xx-kmod
Epoch: 3
Version: 470.256.02
# Taken over by kmodtool
-Release: 6%{?dist}
+Release: 7%{?dist}
License: Redistributable, no modification permitted
Summary: NVIDIA 470xx display driver kernel module
@@ -21,12 +21,24 @@ URL: https://www.nvidia.com/
Source11: nvidia-470xx-kmodtool-excludekernel-filterfile
Patch0: gcc-14.patch
Patch1: nvidia-UBSAN.patch
-Patch2: 0037-import-pfn_valid-w-o-GPL-rcu_read_lock-unlock-from-v.patch
-Patch3: 0043-backport-follow_pfn-changes-from-550.90.07.patch
-Patch4: 0045-let-the-virt_addr_valid-macro-use-nv_pfn_valid-on-pp.patch
-Patch5: 0046-backport-nv_get_kern_phys_address-changes-from-555.4.patch
-Patch6: kernel-612-buildfix.patch
-Patch7: kernel-612_runtime_fix.patch
+Patch37: 0037-import-pfn_valid-w-o-GPL-rcu_read_lock-unlock-from-v.patch
+Patch43: 0043-backport-follow_pfn-changes-from-550.90.07.patch
+Patch45: 0045-let-the-virt_addr_valid-macro-use-nv_pfn_valid-on-pp.patch
+Patch46: 0046-backport-nv_get_kern_phys_address-changes-from-555.4.patch
+Patch47: 0047-backport-drm_output_poll_changed-changes-from-535.21.patch
+Patch48: 0048-backport-cmd_symlink-changes-from-550.142.patch
+Patch49: 0049-backport-uvm-warning-fixes-from-510.39.01.patch
+Patch491: 0049-backport-warning-fixes-from-525.53.patch
+Patch50: 0050-backport-uvm-warning-fixes-from-535.146.02.patch
+Patch51: 0051-backport-warning-fixes-from-535.216.01.patch
+Patch52: 0052-backport-uvm-warning-fixes-from-560.28.03.patch
+Patch53: 0053-fix-more-warnings.patch
+Patch54: 0054-fix-more-uvm-warnings.patch
+Patch55: 0055-backport-file_operations_fop_unsigned_offset_present.patch
+Patch56: 0056-backport-LD_SCRIPT-changes-from-535.230.02.patch
+Patch57: 0057-backport-uvm-fixes-from-535.230.02.patch
+Patch58: 0058-backport-warning-fixes-from-565.57.01.patch
+Patch59: 0059-backport-uvm-warning-fixes-from-550.90.07.patch
# needed for plague to make sure it builds for i586 and i686
ExclusiveArch: x86_64
@@ -49,14 +61,61 @@ The nvidia 470xx %{version} display driver kernel module for kernel %{kversion}.
kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} --filterfile %{SOURCE11} --obsolete-name nvidia-newest --obsolete-version "%{?epoch}:%{version}-%{release}" %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
%setup -T -c
tar --use-compress-program xz -xf %{_datadir}/%{name}-%{version}/%{name}-%{version}-%{_target_cpu}.tar.xz
+
+# cc_version_check-gcc5.patch
+# bashisms.patch
+
+# # kernel support
+# 0001-some-power-management-features-were-not-yet-in-Linux.patch
+# 0033-refuse-to-load-legacy-module-if-IBT-is-enabled.patch
+# 0034-fix-typos.patch
+# 0037-import-pfn_valid-w-o-GPL-rcu_read_lock-unlock-from-v.patch
+# 0042-Log-an-error-message-when-nv_mem_client_init-fails-d.patch
+# 0043-backport-follow_pfn-changes-from-550.90.07.patch
+# 0045-let-the-virt_addr_valid-macro-use-nv_pfn_valid-on-pp.patch
+# 0046-backport-nv_get_kern_phys_address-changes-from-555.4.patch
+# 0047-backport-drm_output_poll_changed-changes-from-535.21.patch
+# 0048-backport-cmd_symlink-changes-from-550.142.patch
+# 0049-backport-uvm-warning-fixes-from-510.39.01.patch
+# 0049-backport-warning-fixes-from-525.53.patch
+# 0050-backport-uvm-warning-fixes-from-535.146.02.patch
+# 0051-backport-warning-fixes-from-535.216.01.patch
+# 0052-backport-uvm-warning-fixes-from-560.28.03.patch
+# 0053-fix-more-warnings.patch
+# 0054-fix-more-uvm-warnings.patch
+# 0055-backport-file_operations_fop_unsigned_offset_present.patch
+# 0056-backport-LD_SCRIPT-changes-from-535.230.02.patch
+# 0057-backport-uvm-fixes-from-535.230.02.patch
+# 0058-backport-warning-fixes-from-565.57.01.patch
+# 0059-backport-uvm-warning-fixes-from-550.90.07.patch
+#
+# # build system updates
+# conftest-verbose.patch
+# use-kbuild-compiler.patch
+# use-kbuild-flags.patch
+# conftest-prefer-arch-headers.patch
+
+%patch -P37 -p1 -d kernel/
+%patch -P43 -p1 -d kernel/
+%patch -P45 -p1 -d kernel/
+%patch -P46 -p1 -d kernel/
+%patch -P47 -p1 -d kernel/
+%patch -P48 -p1 -d kernel/
+%patch -P49 -p1 -d kernel/
+%patch -P491 -p1 -d kernel/
+%patch -P50 -p1 -d kernel/
+%patch -P51 -p1 -d kernel/
+%patch -P52 -p1 -d kernel/
+%patch -P53 -p1 -d kernel/
+%patch -P54 -p1 -d kernel/
+%patch -P55 -p1 -d kernel/
+%patch -P56 -p1 -d kernel/
+%patch -P57 -p1 -d kernel/
+%patch -P58 -p1 -d kernel/
+%patch -P59 -p1 -d kernel/
+
%patch -P0 -p1
%patch -P1 -p1
-%patch -P2 -p1 -d kernel/
-%patch -P3 -p1 -d kernel/
-%patch -P4 -p1 -d kernel/
-%patch -P5 -p1 -d kernel/
-%patch -P6 -p1 -d kernel/
-%patch -P7 -p1
for kernel_version in %{?kernel_versions} ; do
cp -a kernel _kmod_build_${kernel_version%%___*}
@@ -88,6 +147,10 @@ done
%{?akmod_install}
%changelog
+* Sun Feb 23 2025 Sérgio Basto <sergio(a)serjux.com> - 3:470.256.02-7
+- Patches to fix kernel-6.13 , copied as is from Debian git repo
+ https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers/-/commits/470
+
* Wed Jan 29 2025 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 3:470.256.02-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
diff --git a/nvidia-UBSAN.patch b/nvidia-UBSAN.patch
index f2546d4..c365857 100644
--- a/nvidia-UBSAN.patch
+++ b/nvidia-UBSAN.patch
@@ -8,4 +8,4 @@
+ UBSAN_SANITIZE := n
endif
- $(foreach _module, $(NV_KERNEL_MODULES), \
+ #
1 week, 1 day
[cairo-dock-freeworld] Modify BR for Wayfire IPC support
by Mamoru Tasaka
commit 1ca75981b1310a3fee47b018fe65ffc3d0499db9
Author: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
Date: Sun Feb 23 17:13:43 2025 +0900
Modify BR for Wayfire IPC support
cairo-dock-freeworld.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/cairo-dock-freeworld.spec b/cairo-dock-freeworld.spec
index 804cde0..1d08d7f 100644
--- a/cairo-dock-freeworld.spec
+++ b/cairo-dock-freeworld.spec
@@ -10,7 +10,7 @@
%global tarballver %{mainver}%{?use_git:-%{gitdate}git%{shorthash}}
-%global baserelease 1
+%global baserelease 2
%global alphatag .rc2
%undefine _ld_strict_symbol_defs
@@ -63,10 +63,10 @@ BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(gtk-layer-shell-0)
BuildRequires: pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(json-c)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libxml-2.0)
-BuildRequires: pkgconfig(nlohmann_json)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-client)
@@ -190,6 +190,9 @@ install -cpm 644 \
%{_libdir}/%{name}/libgldi.so.3*
%changelog
+* Sun Feb 23 2025 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 3.5.99^20250218git77bc388-2.rc2
+- Modify BR for Wayfire IPC support
+
* Tue Feb 18 2025 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 3.5.99^20250218git77bc388-1.rc2
- Update to the latest git (20250218git77bc388)
1 week, 1 day
[nvidia-open-kmod/f40: 3/3] Merge branch 'master' into f40
by Leigh Scott
commit d0f482ea8e970eff498037d460cf3ebceb25070d
Merge: c9b5e75 4db2e36
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Sun Feb 23 07:46:50 2025 +0000
Merge branch 'master' into f40
make_modeset_default.patch | 26 +++++++++-----------------
nvidia-open-kmod.spec | 10 ++++++++--
sources | 2 +-
3 files changed, 18 insertions(+), 20 deletions(-)
---
1 week, 1 day