diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:33:31 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:33:31 -0400 |
| commit | 7f37c4197c95e5d91b633c10025d012715e04a8e (patch) | |
| tree | 122b034801f52f3e2cadd9aa3d027e92f056c778 /kernel/gsp_phys_gpu.c | |
| parent | 9a3140ddb465ab26594799197de3b41f32b528bc (diff) | |
| download | open-iov-7f37c4197c95e5d91b633c10025d012715e04a8e.tar.gz open-iov-7f37c4197c95e5d91b633c10025d012715e04a8e.zip | |
vgsp: m113 - re-register the VAS page directory after planting data (re-commit probe)
All late engine-tree writes are invisible to the SM walker (only the
commit-time snapshot resolves); the mail injection at a main-window fresh
slot also fails (m112). Probe whether UNSET+SET_PAGE_DIRECTORY on the
ladder VAS after planting forces the server walker to re-snapshot the tree;
gated by gr_recommit.
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 e92e5f1..c5419a5 100644 --- a/kernel/gsp_phys_gpu.c +++ b/kernel/gsp_phys_gpu.c @@ -1050,6 +1050,24 @@ int gsp_phys_rmcall_gr_data_prewin_value(void) EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_data_prewin_value); /* + * m113: after planting the launch's data mappings, re-register the VAS page + * directory (UNSET+SET) to force the server walker to re-snapshot the tree; + * all evidence says the SM walker resolves only the commit-time tree, and + * late writes (leaf or table) are invisible. Default 0. + */ +static int gsp_phys_rmcall_gr_recommit_param; +module_param_named(gsp_phys_rmcall_gr_recommit, + gsp_phys_rmcall_gr_recommit_param, int, 0644); +MODULE_PARM_DESC(gsp_phys_rmcall_gr_recommit, + "Re-register the VAS page directory after planting data (default 0)"); + +int gsp_phys_rmcall_gr_recommit_value(void) +{ + return gsp_phys_rmcall_gr_recommit_param; +} +EXPORT_SYMBOL_GPL(gsp_phys_rmcall_gr_recommit_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 |
