AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <ckoenig.leichtzumerken@gmail.com>
To: jesse.zhang@amd.com, amd-gfx@lists.freedesktop.org
Cc: Alexander.Deucher@amd.com, aaron.liu@amd.com, Felix.Kuehling@amd.com
Subject: Re: [PATCH] drm/amdgpu : remove unused code
Date: Mon, 4 Mar 2024 13:51:04 +0100	[thread overview]
Message-ID: <0162bf19-4cb5-4f2c-85a3-234fe4f79837@gmail.com> (raw)
In-Reply-To: <20240304091617.534109-1-jesse.zhang@amd.com>

Am 04.03.24 um 10:16 schrieb jesse.zhang@amd.com:
> From: Jesse Zhang <jesse.zhang@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@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@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
>    *


  reply	other threads:[~2024-03-04 12:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-04  9:16 [PATCH] drm/amdgpu : remove unused code jesse.zhang
2024-03-04 12:51 ` Christian König [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-10-02 13:20 [PATCH] drm/amdgpu:Remove " James Zhu
     [not found] ` <1538486426-5306-1-git-send-email-James.Zhu-5C7GfCeVMHo@public.gmane.org>
2018-10-03 13:14   ` Leo Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0162bf19-4cb5-4f2c-85a3-234fe4f79837@gmail.com \
    --to=ckoenig.leichtzumerken@gmail.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Felix.Kuehling@amd.com \
    --cc=aaron.liu@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=jesse.zhang@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox