In terms of compilation for kernels 6.17.x, in addition to patches 
0006-backport-NV_DMA_BUF_HAS_DYNAMIC_ATTACHMENT-changes-f.patch, 
0072-backport-iommu_dev_enable_feature-changes-from-535.2.patch and 
0074-backport-drm_fb_create_takes_format_info-changes-fro.patch from 
v550.163.01-4, the attached one is also necessary (based on code from v580).
Author: Piotr Morgwai Kotarbinski <[email protected]>
Description: fix missing pfn_to_pfn_t helper on kernels 6.16+
 Based on code from v580.

diff -purN nvidia-575.57.08.orig/nvidia-drm/nvidia-drm-gem-user-memory.c nvidia-575.57.08.patched/nvidia-drm/nvidia-drm-gem-user-memory.c
--- nvidia-575.57.08.orig/nvidia-drm/nvidia-drm-gem-user-memory.c	2025-05-24 08:55:02.000000000 +0200
+++ nvidia-575.57.08.patched/nvidia-drm/nvidia-drm-gem-user-memory.c	2025-12-19 08:22:40.950016732 +0100
@@ -24,9 +24,7 @@
 
 #if defined(NV_DRM_AVAILABLE)
 
-#if defined(NV_DRM_DRM_PRIME_H_PRESENT)
 #include <drm/drm_prime.h>
-#endif
 
 #include "nvidia-drm-gem-user-memory.h"
 #include "nvidia-drm-helper.h"
@@ -116,11 +114,7 @@ static vm_fault_t __nv_vm_insert_mixed_h
 {
     int ret;
 
-#if defined(NV_PFN_TO_PFN_T_PRESENT)
     ret = vm_insert_mixed(vma, address, pfn_to_pfn_t(pfn));
-#else
-    ret = vm_insert_mixed(vma, address, pfn);
-#endif
 
     switch (ret) {
         case 0:
@@ -157,8 +151,14 @@ static vm_fault_t __nv_drm_gem_user_memo
 #if !defined(NV_LINUX)
     return vmf_insert_pfn(vma, address, pfn);
 #elif defined(NV_VMF_INSERT_MIXED_PRESENT)
+
+#if defined(NV_LINUX_PFN_T_H_PRESENT)
     return vmf_insert_mixed(vma, address, pfn_to_pfn_t(pfn));
 #else
+    return vmf_insert_mixed(vma, address, pfn);
+#endif
+
+#else
     return __nv_vm_insert_mixed_helper(vma, address, pfn);
 #endif
 }

Reply via email to