[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