diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-06 20:24:32 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-06 20:24:32 -0400 |
| commit | 42e9058b5975d5ea88834429f5463bcd68397d59 (patch) | |
| tree | afeee4fc1e1c87cca40c48f9a8af51995ac39ea7 | |
| parent | 27d969d9a1850e096a46d43b268de0e2eb91e8b5 (diff) | |
| download | open-iov-42e9058b5975d5ea88834429f5463bcd68397d59.tar.gz open-iov-42e9058b5975d5ea88834429f5463bcd68397d59.zip | |
vgsp: mode 35 - best-effort V7 construct + promote gate exemption (m50 stage-3 -22 fix; lane continues to stage 4/forward)
| -rw-r--r-- | kernel/gsp_phys_booter.c | 12 |
1 files changed, 7 insertions, 5 deletions
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, |
