diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 14:03:48 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 14:03:48 -0400 |
| commit | 5bb10d3780dd37fc2866a84a9f831613262d9c7a (patch) | |
| tree | 836d2e74ba77c123374df0fbb28f9f078b302264 /kernel/gsp_phys_gpu.h | |
| parent | 2a308ccd0786736693ef4369d387de33a0fe6447 (diff) | |
| download | open-iov-5bb10d3780dd37fc2866a84a9f831613262d9c7a.tar.gz open-iov-5bb10d3780dd37fc2866a84a9f831613262d9c7a.zip | |
vgsp: srv_ctxcommit mode 2 (V6 client combined init+VA entry)
Make gsp_phys_rmcall_srv_ctxcommit an int mode: 1 (default) = map +
INITIALIZE_CTX + UVM-shape VA-only promote; 2 = V6 client variant, no
INITIALIZE_CTX and one combined PA+VA MAIN entry with bInitialize=1 and
bNonmapped=0 so the first ctxsw initializes from the golden image; 0 = pure
server-managed. Lets the next supervised cycle bisect both entry shapes
without a rebuild. Build clean; not hardware-tested (GPU wedged).
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
| -rw-r--r-- | kernel/gsp_phys_gpu.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h index d3751c5..ad99c7d 100644 --- a/kernel/gsp_phys_gpu.h +++ b/kernel/gsp_phys_gpu.h @@ -81,13 +81,15 @@ bool gsp_phys_ctrl_forward_enabled(void); bool gsp_phys_srv_ctxbuf_value(void); /* - * True when the gsp_phys_rmcall_srv_ctxcommit parameter is set (default 1). - * On the server-managed ctx-buffer path (gsp_phys_srv_ctxbuf=1) the ladder - * sends GPU_INITIALIZE_CTX + a PA-only GPU_PROMOTE_CTX for the server-reported - * MAIN buffer. Set 0 to run the pure server-managed shape (no client promote - * at all) for bisection. + * gsp_phys_rmcall_srv_ctxcommit mode (default 1). On the server-managed + * ctx-buffer path (gsp_phys_srv_ctxbuf=1) the ladder maps the MAIN at the + * ctx VA and commits it: 1 = GPU_INITIALIZE_CTX + UVM-shape VA-only + * GPU_PROMOTE_CTX; 2 = V6 client variant, one combined PA+VA MAIN entry with + * bInitialize=1 and no INITIALIZE_CTX; 0 = pure server-managed, no client + * controls. gsp_phys_srv_ctxcommit_value() is true for any nonzero mode. */ bool gsp_phys_srv_ctxcommit_value(void); +int gsp_phys_srv_ctxcommit_mode(void); /* * gsp_phys_rmcall_channel: force one channel-alloc variant id on the GR |
