Dave Airlie
2024-May-15 02:55 UTC
[PATCH] nouveau: set placement to original placement on uvmm validate.
From: Dave Airlie <airlied at redhat.com> When a buffer is evicted for memory pressure or TTM evict all, the placement is set to the eviction domain, this means the buffer never gets revalidated on the next exec to the correct domain. I think this should be fine to use the initial domain from the object creation, as least with VM_BIND this won't change after init so this should be the correct answer. Fixes: b88baab82871 ("drm/nouveau: implement new VM_BIND uAPI") Cc: Danilo Krummrich <dakr at redhat.com> Signed-off-by: Dave Airlie <airlied at 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 ee02cd833c5e..84a36fe7c37d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c +++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c @@ -1803,6 +1803,7 @@ nouveau_uvmm_bo_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) { struct nouveau_bo *nvbo = nouveau_gem_object(vm_bo->obj); + nouveau_bo_placement_set(nvbo, nvbo->valid_domains, 0); return nouveau_bo_validate(nvbo, true, false); } -- 2.45.0
Reasonably Related Threads
- [PATCH] nouveau/uvmm: fix addr/range calcs for remap operations
- [PATCH drm-misc-next 0/3] [RFC] DRM GPUVA Manager GPU-VM features
- [PATCH] drm/nouveau: Constify struct nouveau_job_ops
- [PATCH 1/2] drm/nouveau: don't fini scheduler if not initialized
- [PATCH drm-misc-next v9 09/12] drm/gpuvm: reference count drm_gpuvm structures