Stop updating the SEQ64 VA when the KMS device is opened. Instead update it on first use in the CS. Signed-off-by: Christian König <christian.koenig@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 8 ++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index ec888fc6ead8..37b0ce86c256 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -1117,6 +1117,14 @@ static int amdgpu_cs_vm_handling(struct amdgpu_cs_parser *p) return r; } + r = amdgpu_vm_bo_update(adev, fpriv->seq64_va, false); + if (r) + return r; + + r = amdgpu_sync_fence(&p->sync, fpriv->seq64_va->last_pt_update); + if (r) + return r; + /* FIXME: In theory this loop shouldn't be needed any more when * amdgpu_vm_handle_moved handles all moved BOs that are reserved * with p->ticket. But removing it caused test regressions, so I'm diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c index e22cb2b5cd92..8d0a3cce979e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c @@ -97,13 +97,6 @@ int amdgpu_seq64_map(struct amdgpu_device *adev, struct amdgpu_vm *vm, goto error; } - r = amdgpu_vm_bo_update(adev, *bo_va, false); - if (r) { - DRM_ERROR("failed to do vm_bo_update on userq sem\n"); - amdgpu_vm_bo_del(adev, *bo_va); - goto error; - } - error: drm_exec_fini(&exec); return r; -- 2.34.1