aboutsummaryrefslogtreecommitdiff
path: root/system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch')
-rw-r--r--system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch b/system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch
new file mode 100644
index 0000000000..19db5b427d
--- /dev/null
+++ b/system/nvidia-legacy470-kernel/patches/nvidia-470xx-fix-linux-6.17.patch
@@ -0,0 +1,98 @@
+From fd52e276f587394b9ae3ba7013b6a44cbdd526f2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
+Date: Sat, 26 Jul 2025 21:19:03 +0000
+Subject: [PATCH] Tentative fix for NVIDIA 470.256.02 driver for Linux 6.17-rc1
+
+---
+ nvidia-drm/nvidia-drm-drv.c | 8 ++++++++
+ nvidia-drm/nvidia-drm-fb.c | 9 +++++++++
+ nvidia-drm/nvidia-drm-fb.h | 6 ++++++
+ 3 files changed, 23 insertions(+)
+
+diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
+index b50b17a..9da3294 100644
+--- a/nvidia-drm/nvidia-drm-drv.c
++++ b/nvidia-drm/nvidia-drm-drv.c
+@@ -140,6 +140,10 @@ static void nv_drm_output_poll_changed(struct drm_device *dev)
+ static struct drm_framebuffer *nv_drm_framebuffer_create(
+ struct drm_device *dev,
+ struct drm_file *file,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
++ // Rel. commit. "drm: Pass the format info to .fb_create()" (Ville Syrjälä, 1 Jul 2025)
++ const struct drm_format_info *info,
++#endif
+ #if defined(NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG)
+ const struct drm_mode_fb_cmd2 *cmd
+ #else
+@@ -155,6 +159,10 @@ static struct drm_framebuffer *nv_drm_framebuffer_create(
+ fb = nv_drm_internal_framebuffer_create(
+ dev,
+ file,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
++ // Rel. commit. "drm: Allow the caller to pass in the format info to drm_helper_mode_fill_fb_struct()" (Ville Syrjälä, 1 Jul 2025)
++ info,
++#endif
+ &local_cmd);
+
+ #if !defined(NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG)
+diff --git a/nvidia-drm/nvidia-drm-fb.c b/nvidia-drm/nvidia-drm-fb.c
+index d119e7c..b84e026 100644
+--- a/nvidia-drm/nvidia-drm-fb.c
++++ b/nvidia-drm/nvidia-drm-fb.c
+@@ -33,6 +33,7 @@
+ #include "nvidia-drm-format.h"
+
+ #include <drm/drm_crtc_helper.h>
++#include <linux/version.h>
+
+ static void __nv_drm_framebuffer_free(struct nv_drm_framebuffer *nv_fb)
+ {
+@@ -184,6 +185,10 @@ static int nv_drm_framebuffer_init(struct drm_device *dev,
+ struct drm_framebuffer *nv_drm_internal_framebuffer_create(
+ struct drm_device *dev,
+ struct drm_file *file,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
++ // Rel. commit. "drm: Allow the caller to pass in the format info to drm_helper_mode_fill_fb_struct()" (Ville Syrjälä, 1 Jul 2025)
++ const struct drm_format_info *info,
++#endif
+ struct drm_mode_fb_cmd2 *cmd)
+ {
+ struct nv_drm_device *nv_dev = to_nv_device(dev);
+@@ -237,6 +242,10 @@ struct drm_framebuffer *nv_drm_internal_framebuffer_create(
+ dev,
+ #endif
+ &nv_fb->base,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
++ // Rel. commit. "drm: Allow the caller to pass in the format info to drm_helper_mode_fill_fb_struct()" (Ville Syrjälä, 1 Jul 2025)
++ info,
++#endif
+ cmd);
+
+ /*
+diff --git a/nvidia-drm/nvidia-drm-fb.h b/nvidia-drm/nvidia-drm-fb.h
+index cf477cc..b61b309 100644
+--- a/nvidia-drm/nvidia-drm-fb.h
++++ b/nvidia-drm/nvidia-drm-fb.h
+@@ -35,6 +35,8 @@
+ #include <drm/drm_framebuffer.h>
+ #endif
+
++#include <linux/version.h>
++
+ #include "nvidia-drm-gem-nvkms-memory.h"
+ #include "nvkms-kapi.h"
+
+@@ -59,6 +61,10 @@ static inline struct nv_drm_framebuffer *to_nv_framebuffer(
+ struct drm_framebuffer *nv_drm_internal_framebuffer_create(
+ struct drm_device *dev,
+ struct drm_file *file,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
++ // Rel. commit. "drm: Allow the caller to pass in the format info to drm_helper_mode_fill_fb_struct()" (Ville Syrjälä, 1 Jul 2025)
++ const struct drm_format_info *info,
++#endif
+ struct drm_mode_fb_cmd2 *cmd);
+
+ #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
+--
+2.50.1
+