From 66049f88fe1eea4190fa3a1521357a3446dbd07b Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 6 Oct 2026 20:24:32 -0400 Subject: vgsp: mode 35 - best-effort V7 construct + promote gate exemption (m50 stage-3 -22 fix; lane continues to stage 4/forward) --- kernel/gsp_phys_booter.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'kernel') diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index 208c135..f6a021a 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -10680,7 +10680,9 @@ static int gsp_phys_rmcall_gr_ctx_promote(void __iomem *bar0) boot_stage.rmcall_gr_promote != GSP_PHYS_RMCALL_GR_PROMOTE_GOLDEN_EXEC && boot_stage.rmcall_gr_promote != - GSP_PHYS_RMCALL_GR_PROMOTE_GOLDEN_EXEC_LAST)) + GSP_PHYS_RMCALL_GR_PROMOTE_GOLDEN_EXEC_LAST && + boot_stage.rmcall_gr_promote != + GSP_PHYS_RMCALL_GR_PROMOTE_GOLDEN_USER_LANE)) return -EINVAL; if (mode == GSP_PHYS_RMCALL_GR_PROMOTE_OFF) return -EOPNOTSUPP; @@ -13211,12 +13213,12 @@ static int gsp_phys_rmcall_stage3(void __iomem *bar0) "mode 35 TURING_COMPUTE_A on V7 (after promote)", &ul_rpc, &ul_status); if (ret) { - pr_err("vgsp-boot: rm-call: stage 3 aborted: mode 35 TURING_COMPUTE_A on V7 failed (status=0x%x rpc_result=0x%x ret=%d); the V7 context has no class object and the ladder aborts with no retry\n", + pr_err("vgsp-boot: rm-call: mode 35 TURING_COMPUTE_A on V7 failed (status=0x%x rpc_result=0x%x ret=%d); continuing BEST-EFFORT: the lane stays and stage 4 + the forwarded launch show whether the class-object gate matters for QMD dispatch\n", ul_status, ul_rpc, ret); - return ret; + } else { + boot_stage.rmcall_gr_object = + GSP_PHYS_RMCALL_HANDLE_USER_LANE_GR_OBJ; } - boot_stage.rmcall_gr_object = - GSP_PHYS_RMCALL_HANDLE_USER_LANE_GR_OBJ; pr_info("vgsp-boot: rm-call: mode 35: execution channel switched from V6 0x%x to V7 0x%x (captured flags=0x%x internalFlags=0x%x hContextShare=0x%x hVASpace=0, gpFifoVa=0x%llx entries=%u, sysmem USERD, FBMEM instance/ramfc, TURING_COMPUTE_A 0x%x); V6 stays allocated and unscheduled, stage 4 + forwarding run on V7\n", boot_stage.rmcall_channel, GSP_PHYS_RMCALL_HANDLE_USER_LANE, -- cgit v1.2.3