diff options
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
| -rw-r--r-- | kernel/gsp_phys_gpu.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.c b/kernel/gsp_phys_gpu.c index 9100959..5ec97e2 100644 --- a/kernel/gsp_phys_gpu.c +++ b/kernel/gsp_phys_gpu.c @@ -638,6 +638,24 @@ int gsp_phys_rmcall_gr_pcas_value(void) EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_pcas_value); /* + * Two-step PCAS gate (default 0). With the explicit PCAS pair on, setting + * this marks the QMD's REQUIRE_SCHEDULING_PCAS (w4 bit12) and emits the copy + * PCAS (INVALIDATE only) followed by a schedule-only PCAS (SCHEDULE), the + * dependent-QMD flow (cuda_device.h:1108-1113). + */ +static int gsp_phys_rmcall_gr_pcas_two_step_param; +module_param_named(gsp_phys_rmcall_gr_pcas_two_step, + gsp_phys_rmcall_gr_pcas_two_step_param, int, 0644); +MODULE_PARM_DESC(gsp_phys_rmcall_gr_pcas_two_step, + "Two-step PCAS: set QMD REQUIRE_SCHEDULING_PCAS and emit copy PCAS then schedule-only PCAS (default 0; requires gsp_phys_rmcall_gr_pcas=1)"); + +int gsp_phys_rmcall_gr_pcas_two_step_value(void) +{ + return gsp_phys_rmcall_gr_pcas_two_step_param; +} +EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_pcas_two_step_value); + +/* * Rank-2 qmdwin diagnostic (gsp_phys_rmcall_gr_qmdwin; default 0). When set, * a forwarded GR launch relocates its inline-QMD destination from the guest * QMD VA to a dedicated module page mapped at the ladder's own window-0 VA |
