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.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c
index 94d6652..54fa84a 100644
--- a/kernel/gsp_phys_gpu.c
+++ b/kernel/gsp_phys_gpu.c
@@ -201,6 +201,25 @@ bool gsp_phys_srv_ctxcommit_value(void)
EXPORT_SYMBOL_GPL(gsp_phys_srv_ctxcommit_value);
/*
+ * Force one channel-alloc variant id on the GR ladder (default 0 = the
+ * promote-mode-selected default). 5 = V5 (client memdescs, no skip-ctxbuffer;
+ * the server books its managed engine context), 6 = V6 (SKIP_CTXBUFFER_ALLOC,
+ * KMD-managed: the server skips the ctx-buffer map/book, so a client VA-only
+ * promote can add and commit the engine context VA).
+ */
+static int gsp_phys_rmcall_channel_param;
+module_param_named(gsp_phys_rmcall_channel, gsp_phys_rmcall_channel_param,
+ int, 0644);
+MODULE_PARM_DESC(gsp_phys_rmcall_channel,
+ "Force one GR channel-alloc variant id (1/3/4/5/6); 0 = mode-selected default walk");
+
+int gsp_phys_rmcall_channel_value(void)
+{
+ return gsp_phys_rmcall_channel_param;
+}
+EXPORT_SYMBOL_GPL(gsp_phys_rmcall_channel_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