summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 21:18:34 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 21:18:34 -0400
commit57871ebb5f0132e554b1b1f825096f8e9c112229 (patch)
tree63a65c93abde8f1d120d13a073e95df719a38549 /kernel/gsp_phys_gpu.c
parent0d294e09ed4bda348a5ef643192c1a069ca90d32 (diff)
downloadopen-iov-57871ebb5f0132e554b1b1f825096f8e9c112229.tar.gz
open-iov-57871ebb5f0132e554b1b1f825096f8e9c112229.zip
vgsp: ctxshare_force probe - share on the proven mode-31 execution channel (V6+sibling A attach via params init)
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
-rw-r--r--kernel/gsp_phys_gpu.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c
index e2fffc9..974100a 100644
--- a/kernel/gsp_phys_gpu.c
+++ b/kernel/gsp_phys_gpu.c
@@ -309,6 +309,25 @@ bool gsp_phys_rmcall_golden_enabled(void)
EXPORT_SYMBOL_GPL(gsp_phys_rmcall_golden_enabled);
/*
+ * Mode-31 share probe (default 0): allocate FERMI_CONTEXT_SHARE_A on the
+ * ladder TSG before the golden replay for ANY GR promote mode, so the proven
+ * mode-31 execution channel V6 (and the sibling A) attach to the share while
+ * keeping mode 31's construct/commit flow. Tests whether the context share is
+ * the QMD-dispatch discriminator. Requires gsp_phys_rmcall_vas_shared=1.
+ */
+static bool gsp_phys_rmcall_ctxshare_force_param;
+module_param_named(gsp_phys_rmcall_ctxshare_force,
+ gsp_phys_rmcall_ctxshare_force_param, bool, 0644);
+MODULE_PARM_DESC(gsp_phys_rmcall_ctxshare_force,
+ "Force FERMI_CONTEXT_SHARE_A allocation before the golden replay for any GR promote mode (default 0; requires gsp_phys_rmcall_vas_shared=1)");
+
+bool gsp_phys_rmcall_ctxshare_force_value(void)
+{
+ return gsp_phys_rmcall_ctxshare_force_param;
+}
+EXPORT_SYMBOL_GPL(gsp_phys_rmcall_ctxshare_force_value);
+
+/*
* P5 wave-1 shadow work forwarding (default 0). When set, the sema service
* requests one real CE copy on the debugfs ladder's channel for each decoded
* guest CE push, using only the ladder's module-owned buffers; the software