drm/nouveau: uvmm: fix unset region pointer on remap
authorDanilo Krummrich <dakr@redhat.com>
Sun, 20 Aug 2023 22:29:16 +0000 (00:29 +0200)
committerDanilo Krummrich <dakr@redhat.com>
Thu, 24 Aug 2023 00:57:46 +0000 (02:57 +0200)
Transfer the region pointer of a uvma to the new uvma(s) on re-map to
prevent potential shader faults when the re-mapped uvma(s) are unmapped.

Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230820222920.2344-1-dakr@redhat.com
drivers/gpu/drm/nouveau/nouveau_uvmm.c

index 3a1e853..aae780e 100644 (file)
@@ -639,6 +639,7 @@ nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm,
                        struct drm_gpuva *va = r->unmap->va;
                        struct uvmm_map_args remap_args = {
                                .kind = uvma_from_va(va)->kind,
+                               .region = uvma_from_va(va)->region,
                        };
                        u64 ustart = va->va.addr;
                        u64 urange = va->va.range;