[PATCH 6/9] drm/amdgpu: stop updating the SEQ64 VA during open
Christian König
ckoenig.leichtzumerken at gmail.com
Mon Jun 10 09:26:08 UTC 2024
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 at amd.com>
---
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
More information about the amd-gfx
mailing list