From 6adcaee26680530a645e5ac04c0ff66abe577329 Mon Sep 17 00:00:00 2001 From: vnctdj Date: Sat, 7 Mar 2026 23:44:57 +0100 Subject: [PATCH] Edit kernel-6.19.patch with Wargoth changes --- .SRCINFO | 4 ++-- PKGBUILD | 6 +++--- kernel-6.19.patch | 52 +++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 003275fc424dd..cb2fcbd1329dd 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = nvidia-390xx-utils pkgver = 390.157 - pkgrel = 19 + pkgrel = 20 url = https://www.nvidia.com/ arch = x86_64 license = custom @@ -47,7 +47,7 @@ pkgbase = nvidia-390xx-utils b2sums = a957b5d3afb60d4879c5e25bf4b947a670048e23559864f5bced6b9ab4f79e3f9c62ad7fad52def372fa2dbe4df70410d205aa4386021e1f4db476b02836fcc5 b2sums = 68345d8fb2ea00bd7042fe6cf1c8e63c8f9be411a710eb4f40734ca109f278466d9de1f4b3a2676767b7c16d179ce9b382ebe49c181d081f157304d220d69b12 b2sums = efaed80af94533496ea77293ce48e383d836559316b8a2c9dd36a73c5ea3170f8ee61ec9a4151db13e4a28a167d3b9d7773baad9c082596e8f043de92b4c1932 - b2sums = ec79dfcb1b31b5935993ed2ad91678e24ae46a9b23b5c11a611bdcefc1948a06ec8e4cce82b0eff7742ffef232a1c619ab8b3d0b72a57e8149f8dbde8cc69179 + b2sums = 81bcb76be322badb3e06f34a9002de3df2c5ca260fa839b8a0bb0831ccd2278102612247fa086d7d4ac9003ca8c58800f6e51fb4c76b379c7fd707a5b6f96e5d b2sums = a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05 pkgname = nvidia-390xx-utils diff --git a/PKGBUILD b/PKGBUILD index c78073837165a..227d616f2e4e2 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=nvidia-390xx-utils pkgname=('nvidia-390xx-utils' 'opencl-nvidia-390xx' 'nvidia-390xx-dkms') pkgver=390.157 -pkgrel=19 +pkgrel=20 arch=('x86_64') url="https://www.nvidia.com/" license=('custom') @@ -56,7 +56,7 @@ b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1 'a957b5d3afb60d4879c5e25bf4b947a670048e23559864f5bced6b9ab4f79e3f9c62ad7fad52def372fa2dbe4df70410d205aa4386021e1f4db476b02836fcc5' '68345d8fb2ea00bd7042fe6cf1c8e63c8f9be411a710eb4f40734ca109f278466d9de1f4b3a2676767b7c16d179ce9b382ebe49c181d081f157304d220d69b12' 'efaed80af94533496ea77293ce48e383d836559316b8a2c9dd36a73c5ea3170f8ee61ec9a4151db13e4a28a167d3b9d7773baad9c082596e8f043de92b4c1932' - 'ec79dfcb1b31b5935993ed2ad91678e24ae46a9b23b5c11a611bdcefc1948a06ec8e4cce82b0eff7742ffef232a1c619ab8b3d0b72a57e8149f8dbde8cc69179' + '81bcb76be322badb3e06f34a9002de3df2c5ca260fa839b8a0bb0831ccd2278102612247fa086d7d4ac9003ca8c58800f6e51fb4c76b379c7fd707a5b6f96e5d' 'a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05') create_links() { @@ -125,7 +125,7 @@ prepare() { # From Joan Bruguera ( # https://github.com/joanbm/nvidia-470xx-linux-mainline/blob/master/patches/nvidia-470xx-fix-linux-6.19-part1.patch # https://github.com/joanbm/nvidia-470xx-linux-mainline/blob/master/patches/nvidia-470xx-fix-linux-6.19-part2.patch - # ), edited by vnctdj + # ), edited by vnctdj + Wargoth patch -Np1 -i ../kernel-6.19.patch cd kernel diff --git a/kernel-6.19.patch b/kernel-6.19.patch index 522103949a603..d4b57411de9dd 100644 --- a/kernel-6.19.patch +++ b/kernel-6.19.patch @@ -454,11 +454,41 @@ index a06c12c..c30f8cc 100644 #else return NV_FALSE; #endif +diff --git a/kernel/nvidia/nvlink_linux.c b/kernel/nvidia/nvlink_linux.c +index ba57b86..39816ae 100644 +--- a/kernel/nvidia/nvlink_linux.c ++++ b/kernel/nvidia/nvlink_linux.c +@@ -30,6 +30,7 @@ + #include "nv-linux.h" + #include "nv-procfs.h" + #include "nv-time.h" ++#include + + #define MAX_ERROR_STRING 512 + +@@ -570,7 +571,7 @@ void NVLINK_API_CALL nvlink_sleep(unsigned int ms) + + nv_gettimeofday(&tm_aux); + +- if (in_irq() && (ms > NV_MAX_ISR_DELAY_MS)) ++ if (in_hardirq() && (ms > NV_MAX_ISR_DELAY_MS)) + { + return; + } diff --git a/kernel/nvidia/os-interface.c b/kernel/nvidia/os-interface.c -index 262171f..b08dd28 100644 +index 262171f..dd65432 100644 --- a/kernel/nvidia/os-interface.c +++ b/kernel/nvidia/os-interface.c -@@ -193,7 +193,7 @@ BOOL NV_API_CALL os_semaphore_may_sleep(void) +@@ -17,6 +17,8 @@ + #include "nv-time.h" + #include "nv-gpu-numa.h" + ++#include ++ + #define MAX_ERROR_STRING 512 + static char nv_error_string[MAX_ERROR_STRING]; + nv_spinlock_t nv_error_string_lock; +@@ -193,7 +195,7 @@ BOOL NV_API_CALL os_semaphore_may_sleep(void) BOOL NV_API_CALL os_is_isr(void) { @@ -467,3 +497,21 @@ index 262171f..b08dd28 100644 } // return TRUE if the caller is the super-user +@@ -510,7 +512,7 @@ NV_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds) + nv_gettimeofday(&tm1); + #endif + +- if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US)) ++ if (in_hardirq() && (MicroSeconds > NV_MAX_ISR_DELAY_US)) + return NV_ERR_GENERIC; + + mdelay_safe_msec = MicroSeconds / 1000; +@@ -555,7 +557,7 @@ NV_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds) + tm_start = tm_aux; + #endif + +- if (in_irq() && (MilliSeconds > NV_MAX_ISR_DELAY_MS)) ++ if (in_hardirq() && (MilliSeconds > NV_MAX_ISR_DELAY_MS)) + return NV_ERR_GENERIC; + + if (!NV_MAY_SLEEP())