All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] drm/amdgpu: use GEM references instead of TTMs
@ 2024-07-23 12:17 Christian König
  2024-07-23 12:17 ` [PATCH 2/8] drm/radeon: " Christian König
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Christian König @ 2024-07-23 12:17 UTC (permalink / raw)
  To: matthew.brost, thomas.hellstrom; +Cc: dri-devel

Instead of a TTM reference grab a GEM reference whenever necessary.

Signed-off-by: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Felix Kuehling <felix.kuehling@amd.com>
Cc: amd-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c    | 8 ++++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 7 ++-----
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 67c234bcf89f..6be3d7cd1c51 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -87,11 +87,11 @@ static const struct vm_operations_struct amdgpu_gem_vm_ops = {
 
 static void amdgpu_gem_object_free(struct drm_gem_object *gobj)
 {
-	struct amdgpu_bo *robj = gem_to_amdgpu_bo(gobj);
+	struct amdgpu_bo *aobj = gem_to_amdgpu_bo(gobj);
 
-	if (robj) {
-		amdgpu_hmm_unregister(robj);
-		amdgpu_bo_unref(&robj);
+	if (aobj) {
+		amdgpu_hmm_unregister(aobj);
+		ttm_bo_put(&aobj->tbo);
 	}
 }
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 8d8c39be6129..6c187e310034 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -853,7 +853,7 @@ struct amdgpu_bo *amdgpu_bo_ref(struct amdgpu_bo *bo)
 	if (bo == NULL)
 		return NULL;
 
-	ttm_bo_get(&bo->tbo);
+	drm_gem_object_get(&bo->tbo.base);
 	return bo;
 }
 
@@ -865,13 +865,10 @@ struct amdgpu_bo *amdgpu_bo_ref(struct amdgpu_bo *bo)
  */
 void amdgpu_bo_unref(struct amdgpu_bo **bo)
 {
-	struct ttm_buffer_object *tbo;
-
 	if ((*bo) == NULL)
 		return;
 
-	tbo = &((*bo)->tbo);
-	ttm_bo_put(tbo);
+	drm_gem_object_get(&(*bo)->tbo.base);
 	*bo = NULL;
 }
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-08-27 10:03 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 12:17 [PATCH 1/8] drm/amdgpu: use GEM references instead of TTMs Christian König
2024-07-23 12:17 ` [PATCH 2/8] drm/radeon: " Christian König
2024-07-25 12:02   ` Daniel Vetter
2024-07-23 12:17 ` [PATCH 3/8] drm/loongson: " Christian König
2024-07-25 12:03   ` Daniel Vetter
2024-07-23 12:17 ` [PATCH 4/8] drm/vmwgfx: " Christian König
2024-07-25 12:16   ` Daniel Vetter
2024-07-23 12:17 ` [PATCH 5/8] drm/vmwgfx: partially revert "Adapt validation code for reference-free lookups" Christian König
2024-07-25 12:34   ` Daniel Vetter
2024-08-27 10:03   ` Thomas Hellström
2024-07-23 12:17 ` [PATCH 6/8] drm/ttm: revert "Export ttm_bo_get_unless_zero()" Christian König
2024-07-25 12:36   ` Daniel Vetter
2024-07-25 13:19   ` Danilo Krummrich
2024-07-23 12:17 ` [PATCH 7/8] drm/ttm: use GEM references for VM mappings Christian König
2024-07-23 12:17 ` [PATCH 8/8] drm/ttm: make ttm_bo_get internal Christian König
2024-07-25 12:01 ` [PATCH 1/8] drm/amdgpu: use GEM references instead of TTMs Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.