git: 9c0e0196bdc6 - main - x11/nvidia-driver: disable GSP Firmware by default

From: Austin Shafer <ashafer_at_FreeBSD.org>
Date: Tue, 15 Apr 2025 13:32:22 UTC
The branch main has been updated by ashafer:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9c0e0196bdc6ddf75e801bda7f673ee2db645ad7

commit 9c0e0196bdc6ddf75e801bda7f673ee2db645ad7
Author:     Austin Shafer <ashafer@FreeBSD.org>
AuthorDate: 2025-04-14 16:19:19 +0000
Commit:     Austin Shafer <ashafer@FreeBSD.org>
CommitDate: 2025-04-15 13:31:07 +0000

    x11/nvidia-driver: disable GSP Firmware by default
    
    Users have reported issues with suspend/resume when GSP firmware is
    enabled. This change disables GSP to unbreak desktop use cases while
    a fix is delivered in a future driver version
    
    PR:             285803
    Reviewed by:    Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
    Approved by:    kbowling (mentor)
    Differential Revision:  https://reviews.freebsd.org/D49828
---
 x11/nvidia-driver/Makefile                                   |  8 +++++++-
 x11/nvidia-driver/files/extra-gsp-patch-src-nvidia_subr.c.in | 11 +++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index da198721d85f..8e0f04596be8 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -14,7 +14,7 @@
 PORTNAME?=	nvidia-driver
 DISTVERSION?=	${NVIDIA_DISTVERSION}
 # Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?=	1
+PORTREVISION?=	2
 CATEGORIES=	x11
 MASTER_SITES=	NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
 DISTNAME=	NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@@ -80,6 +80,12 @@ SUB_PATCHES+=	extra-patch-src-nvidia_dev.c \
 SUB_PATCHES+=	extra-patch-src-nvidia_subr.c
 .endif
 
+# Temporarily disable GSP firmware as it is known to cause
+# issues with suspend/resume
+.if ${NVVERSION} >= 565.00000
+SUB_PATCHES+=	extra-gsp-patch-src-nvidia_subr.c
+.endif
+
 DOCSDIR=	${PREFIX}/share/doc/NVIDIA_GLX-1.0
 MODULESDIR=	lib/xorg/modules
 EXTENSIONSDIR?=	${MODULESDIR}/extensions/.nvidia
diff --git a/x11/nvidia-driver/files/extra-gsp-patch-src-nvidia_subr.c.in b/x11/nvidia-driver/files/extra-gsp-patch-src-nvidia_subr.c.in
new file mode 100644
index 000000000000..1f09b6c683a3
--- /dev/null
+++ b/x11/nvidia-driver/files/extra-gsp-patch-src-nvidia_subr.c.in
@@ -0,0 +1,11 @@
+--- src/nvidia/nvidia_subr.c.orig	2025-04-14 16:14:13 UTC
++++ src/nvidia/nvidia_subr.c
+@@ -32,7 +32,7 @@ nv_cap_t *nvidia_caps_root = NULL;
+ nv_state_t nvidia_ctl_state;
+ nv_cap_t *nvidia_caps_root = NULL;
+ 
+-const NvBool nv_is_rm_firmware_supported_os = NV_TRUE;
++const NvBool nv_is_rm_firmware_supported_os = NV_FALSE;
+ 
+ static struct callout snapshot_timer;
+ static struct mtx snapshot_timer_mutex;