[PATCH] drm/amdgpu: Handle NULL bo->tbo.resource (again) in amdgpu_vm_bo_update

Christian König christian.koenig at amd.com
Wed Dec 18 08:32:46 UTC 2024


Am 17.12.24 um 18:22 schrieb Michel Dänzer:
> From: Michel Dänzer <mdaenzer at redhat.com>
>
> 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 at redhat.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>
> 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);



More information about the amd-gfx mailing list