summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
-rw-r--r--kernel/gsp_phys_gpu.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c
index cd04007..5e6b264 100644
--- a/kernel/gsp_phys_gpu.c
+++ b/kernel/gsp_phys_gpu.c
@@ -228,6 +228,25 @@ int gsp_phys_rmcall_channel_value(void)
EXPORT_SYMBOL_GPL(gsp_phys_rmcall_channel_value);
/*
+ * FWCLIENT promote entry-selection mask (mode 24 bisection; default 0x3f =
+ * all six reference non-3D buffers). Bit i selects emitted entry i:
+ * 0 MAIN, 1 PM, 2 PATCH, 3 FECS_EVENT, 4 PRIV_ACCESS_MAP,
+ * 5 UNRESTRICTED_PRIV_ACCESS_MAP. Lets a bisection isolate which entry the
+ * server refuses without a rebuild.
+ */
+static u32 gsp_phys_rmcall_fwclient_mask_param = 0x3fu;
+module_param_named(gsp_phys_rmcall_fwclient_mask,
+ gsp_phys_rmcall_fwclient_mask_param, uint, 0644);
+MODULE_PARM_DESC(gsp_phys_rmcall_fwclient_mask,
+ "Bitmask (default 0x3f) selecting the mode-24 FWCLIENT promote entries to emit: bit0 MAIN, bit1 PM, bit2 PATCH, bit3 FECS_EVENT, bit4 PRIV_ACCESS_MAP, bit5 UNRESTRICTED_PRIV_ACCESS_MAP");
+
+u32 gsp_phys_rmcall_fwclient_mask_value(void)
+{
+ return gsp_phys_rmcall_fwclient_mask_param;
+}
+EXPORT_SYMBOL_GPL(gsp_phys_rmcall_fwclient_mask_value);
+
+/*
* Golden-image replay (default 0). When set (and gsp_phys_gpu=1), the rm-call
* ladder's stage 3 replays the stock client's post-load golden-image channel
* allocations (kgraphicsCreateGoldenImageChannel: a separate