diff mbox series

[drm-misc-next] drm/nouveau: uvmm: fix unset region pointer on remap

Message ID 20230820222920.2344-1-dakr@redhat.com (mailing list archive)
State New, archived
Headers show
Series [drm-misc-next] drm/nouveau: uvmm: fix unset region pointer on remap | expand

Commit Message

Danilo Krummrich Aug. 20, 2023, 10:29 p.m. UTC
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>
---
 drivers/gpu/drm/nouveau/nouveau_uvmm.c | 1 +
 1 file changed, 1 insertion(+)


base-commit: 25205087df1ffe06ccea9302944ed1f77dc68c6f

Comments

Dave Airlie Aug. 21, 2023, 2:53 a.m. UTC | #1
Reviewed-by: Dave Airlie <airlied@redhat.com>

On Mon, 21 Aug 2023 at 08:29, Danilo Krummrich <dakr@redhat.com> wrote:
>
> 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>
> ---
>  drivers/gpu/drm/nouveau/nouveau_uvmm.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_uvmm.c b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> index 3a1e8538f205..aae780e4a4aa 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> @@ -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;
>
> base-commit: 25205087df1ffe06ccea9302944ed1f77dc68c6f
> --
> 2.41.0
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/nouveau/nouveau_uvmm.c b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
index 3a1e8538f205..aae780e4a4aa 100644
--- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
@@ -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;