[PATCH] drm/amdgpu: miss PRT case when bo update
Tao, Yintian
Yintian.Tao at amd.com
Mon Mar 16 09:50:08 UTC 2020
Hi Christian
Many thanks for your review
Best Regards
Yintian Tao
-----Original Message-----
From: Koenig, Christian <Christian.Koenig at amd.com>
Sent: 2020年3月16日 17:38
To: Tao, Yintian <Yintian.Tao at amd.com>; Deucher, Alexander <Alexander.Deucher at amd.com>
Cc: amd-gfx at lists.freedesktop.org
Subject: Re: [PATCH] drm/amdgpu: miss PRT case when bo update
Am 16.03.20 um 08:52 schrieb Yintian Tao:
> Originally, only the PTE valid is taken in consider.
> The PRT case is missied when bo update which raise problem.
> We need add condition for PRT case.
Good catch, just one style nit pick below.
>
> Signed-off-by: Yintian Tao <yttao at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 73398831196f..7a3e4514a00c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1446,7 +1446,7 @@ static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params,
> uint64_t incr, entry_end, pe_start;
> struct amdgpu_bo *pt;
>
> - if (flags & AMDGPU_PTE_VALID) {
> + if (flags & (AMDGPU_PTE_VALID | AMDGPU_PTE_PRT)) {
> /* make sure that the page tables covering the
> * address range are actually allocated
> */
> @@ -1605,7 +1605,6 @@ static int amdgpu_vm_bo_update_mapping(struct
> amdgpu_device *adev,
>
> if (flags & AMDGPU_PTE_VALID) {
> struct amdgpu_bo *root = vm->root.base.bo;
> -
> if (!dma_fence_is_signaled(vm->last_direct))
Please keep this empty line, it is required by the coding style guides.
With that fixed the patch is Reviewed-by: Christian König <christian.koenig at amd.com>.
Regards,
Christian.
> amdgpu_bo_fence(root, vm->last_direct, true);
>
> @@ -1718,7 +1717,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
> AMDGPU_GPU_PAGES_IN_CPU_PAGE;
> }
>
> - } else if (flags & AMDGPU_PTE_VALID) {
> + } else if (flags & (AMDGPU_PTE_VALID | AMDGPU_PTE_PRT)) {
> addr += bo_adev->vm_manager.vram_base_offset;
> addr += pfn << PAGE_SHIFT;
> }
More information about the amd-gfx
mailing list