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 629bd3a..3b2feb4 100644 --- a/kernel/gsp_phys_gpu.c +++ b/kernel/gsp_phys_gpu.c @@ -994,6 +994,24 @@ int gsp_phys_rmcall_gr_ptr_guest_value(void) EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_ptr_guest_value); /* + * m95: program each GPC's MMU_CTRL from the hub's PFB MMU_CTRL (the real RM's + * grInitGPCMmuPRIRegs matching-fields copy) before a forwarded launch. The + * GPC-side walker refuses the SM I-fetch with MMU_NACK while hub-side reads + * resolve; a GPC/hub MMU_CTRL mismatch is one candidate. Default 0. + */ +static int gsp_phys_rmcall_gr_gpc_mmu_init_param; +module_param_named(gsp_phys_rmcall_gr_gpc_mmu_init, + gsp_phys_rmcall_gr_gpc_mmu_init_param, int, 0644); +MODULE_PARM_DESC(gsp_phys_rmcall_gr_gpc_mmu_init, + "Program GPC MMU_CTRL from PFB MMU_CTRL matching fields before a forwarded launch (default 0)"); + +int gsp_phys_rmcall_gr_gpc_mmu_init_value(void) +{ + return gsp_phys_rmcall_gr_gpc_mmu_init_param; +} +EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_gpc_mmu_init_value); + +/* * Ladder VAS ownership selector (gsp_phys_rmcall_vas_shared; default 0). * The H1 GR promote wall is a direct consequence of the ladder's * externally-owned FERMI_VASPACE_A: with IS_EXTERNALLY_OWNED the RM treats |
