summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:31:39 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:31:39 -0400
commitc15be05319e00d0818d78d6fdf908e27f19c659f (patch)
tree3ce6259f92cf44c65f2adadaef335052da9a66fa /kernel
parentcc69bf690814f927cdcbf1f5f6efeb0315a420c8 (diff)
downloadopen-iov-c15be05319e00d0818d78d6fdf908e27f19c659f.tar.gz
open-iov-c15be05319e00d0818d78d6fdf908e27f19c659f.zip
vgsp: default the QMD-virt 0x29c pair off (m26 falsified it; non-vendor without BASE)
Diffstat (limited to 'kernel')
-rw-r--r--kernel/gsp_phys_gpu.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c
index b299d68..4848f4b 100644
--- a/kernel/gsp_phys_gpu.c
+++ b/kernel/gsp_phys_gpu.c
@@ -598,16 +598,19 @@ int gsp_phys_rmcall_gr_prelude_value(void)
EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_prelude_value);
/*
- * QMD virtualization control gate (default 1). When set, the GR launch block
- * emits NVC5C0_SET_QMD_VIRTUALIZATION_CONTROL (0x29c) = IQ2M_ADDR_ENABLE
- * (bit 16) | SEND_PCAS_ENABLE (bit 24) after the compute init and before the
- * inline-QMD window; 0 omits the method pair. Read at each launch.
+ * QMD virtualization control gate (default 0 after m26 falsified the
+ * hypothesis: on Turing the context init value is 0, native CUDA never
+ * writes 0x29c, and the nonzero enable alone does not schedule). When set,
+ * the GR launch block emits NVC5C0_SET_QMD_VIRTUALIZATION_CONTROL (0x29c) =
+ * IQ2M_ADDR_ENABLE (bit 16) | SEND_PCAS_ENABLE (bit 24) after the compute
+ * init and before the inline-QMD window; 0 omits the method pair. Read at
+ * each launch (controlled A/B knob only).
*/
-static int gsp_phys_rmcall_gr_qmdvirt_param = 1;
+static int gsp_phys_rmcall_gr_qmdvirt_param;
module_param_named(gsp_phys_rmcall_gr_qmdvirt,
gsp_phys_rmcall_gr_qmdvirt_param, int, 0644);
MODULE_PARM_DESC(gsp_phys_rmcall_gr_qmdvirt,
- "Emit NVC5C0_SET_QMD_VIRTUALIZATION_CONTROL (0x29c = IQ2M_ADDR_ENABLE|SEND_PCAS_ENABLE) in the GR launch block (default 1; 0 omits the method pair)");
+ "Emit NVC5C0_SET_QMD_VIRTUALIZATION_CONTROL (0x29c = IQ2M_ADDR_ENABLE|SEND_PCAS_ENABLE) in the GR launch block (default 0; 1 enables the A/B method pair)");
int gsp_phys_rmcall_gr_qmdvirt_value(void)
{