From aff698d003d256a41bf7d4062bb81792457d3219 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Mon, 5 Oct 2026 14:03:48 -0400 Subject: 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). --- kernel/gsp_phys_gpu.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'kernel/gsp_phys_gpu.h') 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 -- cgit v1.2.3