summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_booter.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_phys_booter.c')
-rw-r--r--kernel/gsp_phys_booter.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c
index 611a128..4fb37f4 100644
--- a/kernel/gsp_phys_booter.c
+++ b/kernel/gsp_phys_booter.c
@@ -12843,15 +12843,13 @@ static int gsp_phys_rmcall_alloc_user_lane_channel(void __iomem *bar0)
ch.internal_flags = cpu_to_le32(
GSP_PHYS_RMCALL_CHANNEL_INTERNALFLAGS_USER_LANE);
/*
- * Mode-35 diagnostic (m62): instance/ramfc on the host-visible sysmem
- * chunks so the server's instance/RAMFC writes (WFI pointer, PBDMA
- * TARGET bits) can be decoded from the driver; the captured lane uses
- * FBMEM slices, which the host cannot read. One-variable diagnostic;
- * revert to mem_desc_fb() to restore the capture-exact shape.
+ * m70: back to the capture-exact FBMEM instance/ramfc slices. The m62
+ * sysmem-chunk deviation made the server's writes host-readable (that
+ * job is done), but the capture uses FBMEM here and the GR engine
+ * core's context restore may require VIDMEM instance/RAMFC.
*/
- ch.instance_mem = gsp_phys_rmcall_mem_desc(GSP_PHYS_RMCALL_BUF_INSTANCE);
- ch.ramfc_mem = gsp_phys_rmcall_mem_desc(GSP_PHYS_RMCALL_BUF_RAMFC);
- ch.ramfc_mem.size = cpu_to_le64(0x200);
+ ch.instance_mem = gsp_phys_rmcall_mem_desc_fb(fb, 0x1000);
+ ch.ramfc_mem = gsp_phys_rmcall_mem_desc_fb(fb, 0x200);
ch.userd_mem = gsp_phys_rmcall_mem_desc(GSP_PHYS_RMCALL_BUF_USERD);
ch.h_userd_memory[0] =
cpu_to_le32(GSP_PHYS_RMCALL_HANDLE_USER_LANE_USERD);
@@ -12872,7 +12870,7 @@ static int gsp_phys_rmcall_alloc_user_lane_channel(void __iomem *bar0)
false, NULL,
"mode 35 V7 real-client user lane channel", true,
&rpc, &status);
- pr_info("vgsp-boot: rm-call: mode 35 V7 channel alloc: hObject=0x%x hParent=hTsg=0x%x flags=0x%x internalFlags=0x%x engineType=0 hContextShare=0x%x hVASpace=0 gpFifoOffset=0x%llx gpFifoEntries=%u hUserdMemory[0]=0 userdMem=sysmem instance=0x%llx/0x1000 sysmem ramfc=0x%llx/0x200 sysmem (m62 diagnostic readback) hObjectError=0x%x errorNotifier=sysmem status=0x%x rpc_result=0x%x ret=%d (deviations: entries=%u vs captured 1024; sysmem USERD vs captured hUserdMemory object)\n",
+ pr_info("vgsp-boot: rm-call: mode 35 V7 channel alloc: hObject=0x%x hParent=hTsg=0x%x flags=0x%x internalFlags=0x%x engineType=0 hContextShare=0x%x hVASpace=0 gpFifoOffset=0x%llx gpFifoEntries=%u hUserdMemory[0]=0 userdMem=sysmem instance=0x%llx/0x1000 FBMEM ramfc=0x%llx/0x200 FBMEM (m70: capture shape) hObjectError=0x%x errorNotifier=sysmem status=0x%x rpc_result=0x%x ret=%d (deviations: entries=%u vs captured 1024; sysmem USERD vs captured hUserdMemory object)\n",
GSP_PHYS_RMCALL_HANDLE_USER_LANE, boot_stage.rmcall_tsg,
GSP_PHYS_RMCALL_CHANNEL_FLAG_USER_LANE,
GSP_PHYS_RMCALL_CHANNEL_INTERNALFLAGS_USER_LANE,