[PATCH] drm/amdgpu: fix addr handling in amdgpu_vm_bo_update_mapping
Flora Cui
flora.cui at amd.com
Mon Sep 26 07:19:01 UTC 2016
On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote:
> From: Christian König <christian.koenig at amd.com>
>
> Otherwise we will look at the wrong place in the IB when GART
> mappings are split into smaller updates.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 2bb78dc..da31189 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1017,6 +1017,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
> AMDGPU_GPU_PAGE_SIZE);
> pte[i] |= flags;
> }
> + addr = 0;
> }
>
> r = amdgpu_sync_fence(adev, &job->sync, exclusive);
> --
> 2.5.0
>
>
IMHO this could fix the vmfault issue.
8<---
>From cc7b5618665defd88e2adcd6f735562ecd784298 Mon Sep 17 00:00:00 2001
From: Flora Cui <Flora.Cui at amd.com>
Date: Mon, 26 Sep 2016 15:14:02 +0800
Subject: [PATCH] drm/amdgpu: add ttm_bind in amdgpu_vm_bo_update()
Change-Id: If73d5b06e9188e40250ccdfd1a2a659ed1ef52a6
Signed-off-by: Flora Cui <Flora.Cui at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 2bb78dc..7f17127 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1166,6 +1166,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
ttm = container_of(bo_va->bo->tbo.ttm, struct
ttm_dma_tt, ttm);
pages_addr = ttm->dma_address;
+ amdgpu_ttm_bind(&bo_va->bo->tbo, mem);
+ addr = (u64)mem->start << PAGE_SHIFT;
break;
case TTM_PL_VRAM:
--
2.7.4
More information about the amd-gfx
mailing list