Re: [PATCH 1/3] drm/amdgpu: move size calculations to the front of the file again

Zhang, Jerry (Junwei)
2018-09-03T02:56:58Z

> amdgpu_vm_bo_* functions should come much later.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>

> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 90 +++++++++++++++++-----------------
> 1 file changed, 45 insertions(+), 45 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index d59222fb5931..a9275a99d793 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -133,51 +133,6 @@ struct amdgpu_prt_cb {
> struct dma_fence_cb cb;
> };
>
> -/**
> - * amdgpu_vm_bo_base_init - Adds bo to the list of bos associated with the vm
> - *
> - * @base: base structure for tracking BO usage in a VM
> - * @vm: vm to which bo is to be added
> - * @bo: amdgpu buffer object
> - *
> - * Initialize a bo_va_base structure and add it to the appropriate lists
> - *
> - */
> -static void amdgpu_vm_bo_base_init(struct amdgpu_vm_bo_base *base,
> - struct amdgpu_vm *vm,
> - struct amdgpu_bo *bo)
> -{
> - base->vm = vm;
> - base->bo = bo;
> - INIT_LIST_HEAD(&base->bo_list);
> - INIT_LIST_HEAD(&base->vm_status);
> -
> - if (!bo)
> - return;
> - list_add_tail(&base->bo_list, &bo->va);
> -
> - if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
> - return;
> -
> - vm->bulk_moveable = false;
> - if (bo->tbo.type == ttm_bo_type_kernel)
> - list_move(&base->vm_status, &vm->relocated);
> - else
> - list_move(&base->vm_status, &vm->idle);
> -
> - if (bo->preferred_domains &
> - amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type))
> - return;
> -
> - /*
> - * we checked all the prerequisites, but it looks like this per vm bo
> - * is currently evicted. add the bo to the evicted list to make sure it
> - * is validated on next vm use to avoid fault.
> - * */
> - list_move_tail(&base->vm_status, &vm->evicted);
> - base->moved = true;
> -}
> -
> /**
> * amdgpu_vm_level_shift - return the addr shift for each level
> *
> @@ -249,6 +204,51 @@ static unsigned amdgpu_vm_bo_size(struct amdgpu_device *adev, unsigned level)
> return AMDGPU_GPU_PAGE_ALIGN(amdgpu_vm_num_entries(adev, level) * 8);
> }
>
> +/**
> + * amdgpu_vm_bo_base_init - Adds bo to the list of bos associated with the vm
> + *
> + * @base: base structure for tracking BO usage in a VM
> + * @vm: vm to which bo is to be added
> + * @bo: amdgpu buffer object
> + *
> + * Initialize a bo_va_base structure and add it to the appropriate lists
> + *
> + */
> +static void amdgpu_vm_bo_base_init(struct amdgpu_vm_bo_base *base,
> + struct amdgpu_vm *vm,
> + struct amdgpu_bo *bo)
> +{
> + base->vm = vm;
> + base->bo = bo;
> + INIT_LIST_HEAD(&base->bo_list);
> + INIT_LIST_HEAD(&base->vm_status);
> +
> + if (!bo)
> + return;
> + list_add_tail(&base->bo_list, &bo->va);
> +
> + if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
> + return;
> +
> + vm->bulk_moveable = false;
> + if (bo->tbo.type == ttm_bo_type_kernel)
> + list_move(&base->vm_status, &vm->relocated);
> + else
> + list_move(&base->vm_status, &vm->idle);
> +
> + if (bo->preferred_domains &
> + amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type))
> + return;
> +
> + /*
> + * we checked all the prerequisites, but it looks like this per vm bo
> + * is currently evicted. add the bo to the evicted list to make sure it
> + * is validated on next vm use to avoid fault.
> + * */
> + list_move_tail(&base->vm_status, &vm->evicted);
> + base->moved = true;
> +}
> +
> /**
> * amdgpu_vm_get_pd_bo - add the VM PD to a validation list
> *