Add edited kernel-6.17.patch from Joan Bruguera

This commit is contained in:
vnctdj 2025-10-11 10:26:32 +02:00
parent 0021c6d991
commit cf1a1c571c
3 changed files with 93 additions and 2 deletions

View file

@ -1,6 +1,6 @@
pkgbase = nvidia-390xx-utils
pkgver = 390.157
pkgrel = 17
pkgrel = 18
url = https://www.nvidia.com/
arch = x86_64
license = custom
@ -24,6 +24,7 @@ pkgbase = nvidia-390xx-utils
source = kernel-6.14.patch
source = gcc-15.patch
source = kernel-6.15.patch
source = kernel-6.17.patch
source = kernel-4.16+-memory-encryption.patch
b2sums = 8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9
b2sums = c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be
@ -44,6 +45,7 @@ pkgbase = nvidia-390xx-utils
b2sums = 21b87918e9b9b0475ab4fb548be6daadd6921566fb03a3f96cffff5296f9fa1bccdabe7c4671aba2a1dc455248b7a96e5a088c48ab922305213bc714e4a39d6c
b2sums = a957b5d3afb60d4879c5e25bf4b947a670048e23559864f5bced6b9ab4f79e3f9c62ad7fad52def372fa2dbe4df70410d205aa4386021e1f4db476b02836fcc5
b2sums = 68345d8fb2ea00bd7042fe6cf1c8e63c8f9be411a710eb4f40734ca109f278466d9de1f4b3a2676767b7c16d179ce9b382ebe49c181d081f157304d220d69b12
b2sums = efaed80af94533496ea77293ce48e383d836559316b8a2c9dd36a73c5ea3170f8ee61ec9a4151db13e4a28a167d3b9d7773baad9c082596e8f043de92b4c1932
b2sums = a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05
pkgname = nvidia-390xx-utils

View file

@ -8,7 +8,7 @@
pkgbase=nvidia-390xx-utils
pkgname=('nvidia-390xx-utils' 'opencl-nvidia-390xx' 'nvidia-390xx-dkms')
pkgver=390.157
pkgrel=17
pkgrel=18
arch=('x86_64')
url="https://www.nvidia.com/"
license=('custom')
@ -33,6 +33,7 @@ source=('nvidia-drm-outputclass.conf'
kernel-6.14.patch
gcc-15.patch
kernel-6.15.patch
kernel-6.17.patch
kernel-4.16+-memory-encryption.patch)
b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9'
'c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be'
@ -53,6 +54,7 @@ b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1
'21b87918e9b9b0475ab4fb548be6daadd6921566fb03a3f96cffff5296f9fa1bccdabe7c4671aba2a1dc455248b7a96e5a088c48ab922305213bc714e4a39d6c'
'a957b5d3afb60d4879c5e25bf4b947a670048e23559864f5bced6b9ab4f79e3f9c62ad7fad52def372fa2dbe4df70410d205aa4386021e1f4db476b02836fcc5'
'68345d8fb2ea00bd7042fe6cf1c8e63c8f9be411a710eb4f40734ca109f278466d9de1f4b3a2676767b7c16d179ce9b382ebe49c181d081f157304d220d69b12'
'efaed80af94533496ea77293ce48e383d836559316b8a2c9dd36a73c5ea3170f8ee61ec9a4151db13e4a28a167d3b9d7773baad9c082596e8f043de92b4c1932'
'a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05')
create_links() {
@ -115,6 +117,9 @@ prepare() {
# From Joan Bruguera (https://gist.github.com/joanbm/def2bf57ed7a799c1d84a67606459314), edited by drankinatty
patch -Np1 -i ../kernel-6.15.patch
# From Joan Bruguera (https://github.com/joanbm/nvidia-470xx-linux-mainline/blob/master/patches/nvidia-470xx-fix-linux-6.17.patch)
patch -Np1 -i ../kernel-6.17.patch
cd kernel
sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf

84
kernel-6.17.patch Normal file
View file

@ -0,0 +1,84 @@
diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
index 7feb5d2..2bcf29c 100644
--- a/kernel/nvidia-drm/nvidia-drm-drv.c
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c
@@ -139,6 +139,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
@@ -154,6 +158,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/kernel/nvidia-drm/nvidia-drm-fb.c b/kernel/nvidia-drm/nvidia-drm-fb.c
index c35e0ee..91161ff 100644
--- a/kernel/nvidia-drm/nvidia-drm-fb.c
+++ b/kernel/nvidia-drm/nvidia-drm-fb.c
@@ -32,6 +32,7 @@
#include "nvidia-drm-helper.h"
#include <drm/drm_crtc_helper.h>
+#include <linux/version.h>
static void nv_drm_framebuffer_destroy(struct drm_framebuffer *fb)
{
@@ -157,6 +158,10 @@ static int nv_drm_framebuffer_init(
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_framebuffer *nv_fb;
@@ -183,6 +188,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/kernel/nvidia-drm/nvidia-drm-fb.h b/kernel/nvidia-drm/nvidia-drm-fb.h
index bfa93fd..68a634a 100644
--- a/kernel/nvidia-drm/nvidia-drm-fb.h
+++ b/kernel/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"
@@ -58,6 +60,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 */