[PATCH] drm/amdgpu: Do not move root PT bo to relocated list

Christian König ckoenig.leichtzumerken at gmail.com
Tue Feb 11 09:46:47 UTC 2020


Am 11.02.20 um 03:32 schrieb xinhui pan:
> As root PD has no parent, we just need move its status to idle.
>
> Suggested-by: Christian König <christian.koenig at amd.com>
> Signed-off-by: xinhui pan <xinhui.pan at amd.com>
> CC: Christian König <christian.koenig at amd.com>

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

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 34 +++++++++++++-------------
>   1 file changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index cc56eaba1911..0be293eb2773 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -229,19 +229,6 @@ static void amdgpu_vm_bo_evicted(struct amdgpu_vm_bo_base *vm_bo)
>   	else
>   		list_move_tail(&vm_bo->vm_status, &vm->evicted);
>   }
> -
> -/**
> - * amdgpu_vm_bo_relocated - vm_bo is reloacted
> - *
> - * @vm_bo: vm_bo which is relocated
> - *
> - * State for PDs/PTs which needs to update their parent PD.
> - */
> -static void amdgpu_vm_bo_relocated(struct amdgpu_vm_bo_base *vm_bo)
> -{
> -	list_move(&vm_bo->vm_status, &vm_bo->vm->relocated);
> -}
> -
>   /**
>    * amdgpu_vm_bo_moved - vm_bo is moved
>    *
> @@ -284,6 +271,22 @@ static void amdgpu_vm_bo_invalidated(struct amdgpu_vm_bo_base *vm_bo)
>   	spin_unlock(&vm_bo->vm->invalidated_lock);
>   }
>   
> +/**
> + * amdgpu_vm_bo_relocated - vm_bo is reloacted
> + *
> + * @vm_bo: vm_bo which is relocated
> + *
> + * State for PDs/PTs which needs to update their parent PD.
> + * For the root PD, just move to idle state.
> + */
> +static void amdgpu_vm_bo_relocated(struct amdgpu_vm_bo_base *vm_bo)
> +{
> +	if (vm_bo->bo->parent)
> +		list_move(&vm_bo->vm_status, &vm_bo->vm->relocated);
> +	else
> +		amdgpu_vm_bo_idle(vm_bo);
> +}
> +
>   /**
>    * amdgpu_vm_bo_done - vm_bo is done
>    *
> @@ -691,10 +694,7 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   			amdgpu_vm_bo_moved(bo_base);
>   		} else {
>   			vm->update_funcs->map_table(bo);
> -			if (bo->parent)
> -				amdgpu_vm_bo_relocated(bo_base);
> -			else
> -				amdgpu_vm_bo_idle(bo_base);
> +			amdgpu_vm_bo_relocated(bo_base);
>   		}
>   	}
>   



More information about the amd-gfx mailing list