summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
-rw-r--r--kernel/gsp_phys_gpu.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c
index 3429507..1029b2e 100644
--- a/kernel/gsp_phys_gpu.c
+++ b/kernel/gsp_phys_gpu.c
@@ -746,6 +746,27 @@ int gsp_phys_rmcall_faultbuf_sys_value(void)
EXPORT_SYMBOL_GPL(gsp_phys_rmcall_faultbuf_sys_value);
/*
+ * m69 window-0 shadow pool (gsp_phys_rmcall_gr_shadow_win0; default 0). When
+ * set, the forwarded GR launch copies the QMD's program/param pages into the
+ * window-0 shadow pool (module pages at VAs 0x108000..0x10f000, PTEs planted
+ * at stage 3 in the proven GPFIFO/PB/QMDWIN small-PT line) and rewrites the
+ * QMD pointer pairs there, instead of mapping them through the window-1
+ * scratch range whose DMA_UPDATE_PDE_2 PT chain has never been proven
+ * readable by the GR engine core.
+ */
+static int gsp_phys_rmcall_gr_shadow_win0_param;
+module_param_named(gsp_phys_rmcall_gr_shadow_win0,
+ gsp_phys_rmcall_gr_shadow_win0_param, int, 0644);
+MODULE_PARM_DESC(gsp_phys_rmcall_gr_shadow_win0,
+ "Copy forwarded GR program/param pages into the window-0 shadow pool (proven PT line; default 0)");
+
+int gsp_phys_rmcall_gr_shadow_win0_value(void)
+{
+ return gsp_phys_rmcall_gr_shadow_win0_param;
+}
+EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_shadow_win0_value);
+
+/*
* Ladder VAS ownership selector (gsp_phys_rmcall_vas_shared; default 0).
* The H1 GR promote wall is a direct consequence of the ladder's
* externally-owned FERMI_VASPACE_A: with IS_EXTERNALLY_OWNED the RM treats