Skip to content

Commit 9c685f6

Browse files
airliedDanilo Krummrich
authored andcommitted
nouveau: set placement to original placement on uvmm validate.
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: b88baab ("drm/nouveau: implement new VM_BIND uAPI") Cc: Danilo Krummrich <dakr@redhat.com> Cc: <stable@vger.kernel.org> # v6.6 Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Danilo Krummrich <dakr@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240515025542.2156774-1-airlied@gmail.com
1 parent f85de24 commit 9c685f6

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/gpu/drm/nouveau/nouveau_uvmm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,6 +1803,7 @@ nouveau_uvmm_bo_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec)
18031803
{
18041804
struct nouveau_bo *nvbo = nouveau_gem_object(vm_bo->obj);
18051805

1806+
nouveau_bo_placement_set(nvbo, nvbo->valid_domains, 0);
18061807
return nouveau_bo_validate(nvbo, true, false);
18071808
}
18081809

0 commit comments

Comments
 (0)