Am 17.12.24 um 18:22 schrieb Michel Dänzer:
From: Michel Dänzer <mdaenzer@xxxxxxxxxx> Third time's the charm, I hope?
More like the twenties. It's astonishing how many use cases for BOs without a backing store we have.
Fixes: d3116756a710 ("drm/ttm: rename bo->mem and make it a pointer")
Please double check if that code wasn't introduced later than this patch.
Issue: https://gitlab.freedesktop.org/drm/amd/-/issues/3837 Signed-off-by: Michel Dänzer <mdaenzer@xxxxxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
--- Or should amdgpu_vm_bo_evicted be called in the !bo->tbo.resource case as well? drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index ddd7f05e4db9..c9c48b782ec1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1266,10 +1266,9 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, struct amdgpu_bo_va *bo_va, * next command submission. */ if (amdgpu_vm_is_bo_always_valid(vm, bo)) { - uint32_t mem_type = bo->tbo.resource->mem_type; - - if (!(bo->preferred_domains & - amdgpu_mem_type_to_domain(mem_type))) + if (bo->tbo.resource && + !(bo->preferred_domains & + amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type))) amdgpu_vm_bo_evicted(&bo_va->base); else amdgpu_vm_bo_idle(&bo_va->base);