The VM TLB sequence is incremented by the VM update
commit invoker, so it should not be increased again
in the commit callback.

Signed-off-by: Prike Liang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c  | 2 --
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c   | 2 ++
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
index 0c1ef5850a5e..f7a5e71346df 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
@@ -106,8 +106,6 @@ static int amdgpu_vm_cpu_update(struct 
amdgpu_vm_update_params *p,
 static int amdgpu_vm_cpu_commit(struct amdgpu_vm_update_params *p,
                                struct dma_fence **fence)
 {
-       if (p->needs_flush)
-               atomic64_inc(&p->vm->tlb_seq);
 
        mb();
        amdgpu_device_flush_hdp(p->adev, NULL);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
index 30022123b0bf..869f9cb28d94 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
@@ -420,6 +420,8 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct 
amdgpu_vm *vm,
                goto exit;
 
        r = vm->update_funcs->commit(&params, NULL);
+       if (params.needs_flush)
+               atomic64_inc(&vm->tlb_seq);
 exit:
        drm_dev_exit(idx);
        return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
index 46d9fb433ab2..0ceb2474a721 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
@@ -115,9 +115,6 @@ static int amdgpu_vm_sdma_commit(struct 
amdgpu_vm_update_params *p,
        WARN_ON(ib->length_dw == 0);
        amdgpu_ring_pad_ib(ring, ib);
 
-       if (p->needs_flush)
-               atomic64_inc(&p->vm->tlb_seq);
-
        WARN_ON(ib->length_dw > p->num_dw_left);
        f = amdgpu_job_submit(p->job);
 
-- 
2.34.1

Reply via email to