Yeah, that wouldn't really help but just make the problem more unlikely to happen once more.

Anyway Tom St confirmed that the patch seems to work for the open stack.

Anybody brave enough to throw an rb on this so that I can commit it?

Thanks,
Christian.

Am 26.09.2016 um 11:16 schrieb Flora Cui:
please ignore this patch. it actually revert the gtt mgr changes.

On Mon, Sep 26, 2016 at 03:19:01PM +0800, Flora Cui wrote:
On Sun, Sep 25, 2016 at 11:55:13AM +0200, Christian König wrote:
From: Christian König <christian.koe...@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.koe...@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....@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....@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


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to