[PATCH] drm/amdgpu : remove unused code

Christian König ckoenig.leichtzumerken at gmail.com
Mon Mar 4 12:51:04 UTC 2024


Am 04.03.24 um 10:16 schrieb jesse.zhang at amd.com:
> From: Jesse Zhang <jesse.zhang at amd.com>
>
> Remove the unused function - amdgpu_vm_pt_is_root_clean
> and remove the impossible condition
>
> v1: entries == 0 is not possible any more,
>     so this condition could probably be removed (Felix)
>
> Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h    |  2 -
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 61 ++++++-----------------
>   2 files changed, 16 insertions(+), 47 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> index 7f95039bb37d..047ec1930d12 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> @@ -537,8 +537,6 @@ int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   			int level, bool immediate, struct amdgpu_bo_vm **vmbo,
>   			int32_t xcp_id);
>   void amdgpu_vm_pt_free_root(struct amdgpu_device *adev, struct amdgpu_vm *vm);
> -bool amdgpu_vm_pt_is_root_clean(struct amdgpu_device *adev,
> -				struct amdgpu_vm *vm);
>   
>   int amdgpu_vm_pde_update(struct amdgpu_vm_update_params *params,
>   			 struct amdgpu_vm_bo_base *entry);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> index 8bce4da67131..7ecddb77b3ae 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> @@ -367,6 +367,7 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   	struct amdgpu_bo *bo = &vmbo->bo;
>   	uint64_t addr;
>   	int r, idx;
> +	uint64_t value = 0, flags = 0;

Please don't initialize the values here.

Rather move that before the if (... >= VEGA10) below.

With that fixed feel free to add Reviewed-by: Christian König 
<christian.koenig at amd.com>

Regards,
Christian.

>   
>   	/* Figure out our place in the hierarchy */
>   	if (ancestor->parent) {
> @@ -409,27 +410,24 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   
>   	addr = 0;
>   
> -	if (entries) {
> -		uint64_t value = 0, flags = 0;
> -
> -		if (adev->asic_type >= CHIP_VEGA10) {
> -			if (level != AMDGPU_VM_PTB) {
> -				/* Handle leaf PDEs as PTEs */
> -				flags |= AMDGPU_PDE_PTE;
> -				amdgpu_gmc_get_vm_pde(adev, level,
> -						      &value, &flags);
> -			} else {
> -				/* Workaround for fault priority problem on GMC9 */
> -				flags = AMDGPU_PTE_EXECUTABLE;
> -			}
> -		}
>   
> -		r = vm->update_funcs->update(&params, vmbo, addr, 0, entries,
> -					     value, flags);
> -		if (r)
> -			goto exit;
> +	if (adev->asic_type >= CHIP_VEGA10) {
> +		if (level != AMDGPU_VM_PTB) {
> +			/* Handle leaf PDEs as PTEs */
> +			flags |= AMDGPU_PDE_PTE;
> +			amdgpu_gmc_get_vm_pde(adev, level,
> +					      &value, &flags);
> +		} else {
> +			/* Workaround for fault priority problem on GMC9 */
> +			flags = AMDGPU_PTE_EXECUTABLE;
> +		}
>   	}
>   
> +	r = vm->update_funcs->update(&params, vmbo, addr, 0, entries,
> +				     value, flags);
> +	if (r)
> +		goto exit;
> +
>   	r = vm->update_funcs->commit(&params, NULL);
>   exit:
>   	drm_dev_exit(idx);
> @@ -673,33 +671,6 @@ void amdgpu_vm_pt_free_root(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>   	amdgpu_vm_pt_free_dfs(adev, vm, NULL, false);
>   }
>   
> -/**
> - * amdgpu_vm_pt_is_root_clean - check if a root PD is clean
> - *
> - * @adev: amdgpu_device pointer
> - * @vm: the VM to check
> - *
> - * Check all entries of the root PD, if any subsequent PDs are allocated,
> - * it means there are page table creating and filling, and is no a clean
> - * VM
> - *
> - * Returns:
> - *	0 if this VM is clean
> - */
> -bool amdgpu_vm_pt_is_root_clean(struct amdgpu_device *adev,
> -				struct amdgpu_vm *vm)
> -{
> -	enum amdgpu_vm_level root = adev->vm_manager.root_level;
> -	unsigned int entries = amdgpu_vm_pt_num_entries(adev, root);
> -	unsigned int i = 0;
> -
> -	for (i = 0; i < entries; i++) {
> -		if (to_amdgpu_bo_vm(vm->root.bo)->entries[i].bo)
> -			return false;
> -	}
> -	return true;
> -}
> -
>   /**
>    * amdgpu_vm_pde_update - update a single level in the hierarchy
>    *



More information about the amd-gfx mailing list