summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/gsp_phys_booter.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c
index 5579f8f..b94a877 100644
--- a/kernel/gsp_phys_booter.c
+++ b/kernel/gsp_phys_booter.c
@@ -1197,10 +1197,16 @@ bool gsp_phys_boot_requested(void)
* consumption path; m14). Requesting D's exact tuple fails
* kfifoChidMgrAllocChid_IMPL with NV_ERR_NO_MEMORY (0x51), as m29 proved for
* GOLDEN9_SIBLING_A.
+ *
+ * m56 probe: SKIP_CTXBUFFER_ALLOC (bit 31) + SKIP_SCRUBBER (bit 23) are added
+ * on top of the captured word so the V6-proven construct path is taken while
+ * the share stays attached: the engine context + the class object then exist
+ * without the per-buffer ctx init the non-SKIP lane cannot complete (0x57).
*/
#define GSP_PHYS_RMCALL_CHANNEL_FLAG_USER_LANE \
(u32)(GSP_PHYS_RMCALL_CHANNEL_FLAG_PRIVILEGED | (4u << 8) | \
- (1u << 21))
+ (1u << 21) | GSP_PHYS_RMCALL_CHANNEL_FLAG_SKIP_SCRUBBER | \
+ GSP_PHYS_RMCALL_CHANNEL_FLAG_SKIP_CTXBUFFER_ALLOC)
/* Captured user-lane GPFIFO depth (#825: 1024 entries). */
#define GSP_PHYS_RMCALL_USER_LANE_GPFIFO_ENTRIES 1024u
#define GSP_PHYS_RMCALL_CHANNEL_INTERNALFLAGS_USER_LANE 0x1du