diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 13:40:15 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 13:40:15 -0400 |
| commit | d07555097d5f46d0f51c98572a220235ea5fcc0d (patch) | |
| tree | 0e90f80fc2ce3e9d7f72236ed8ddb82b0ce6a944 /kernel/gsp_phys_gpu.c | |
| parent | 97e7d0136fe63b08823d8b66d5bab84cfecf435b (diff) | |
| download | open-iov-d07555097d5f46d0f51c98572a220235ea5fcc0d.tar.gz open-iov-d07555097d5f46d0f51c98572a220235ea5fcc0d.zip | |
vgsp: add gsp_phys_rmcall_channel to force one GR channel variant
Lets a bisection pair any promote shape with any channel shape, in
particular V6 (SKIP_CTXBUFFER_ALLOC, KMD-managed) with the server-managed
VA-only promote: with skip-ctxbuffer the server's kgrctxMapCtxBuffers does
not pre-book the engine context vaList, so the VA branch's
vaListSetManaged(NV_FALSE) gate should pass and the per-buffer commit can
program the engine context VA. Default 0 keeps the mode-selected walk
byte-identical. Not hardware-tested (GPU wedged; see Handoff ADDENDUM 51).
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
| -rw-r--r-- | kernel/gsp_phys_gpu.c | 19 |
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 |
