The function ttm_bo_get acquires a reference on a TTM buffer object. The function's name is more aligned to the Linux kernel convention of naming ref-counting function _get and _put.
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de --- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index b12526ce1a9d..f54d30186fd6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -823,7 +823,7 @@ struct amdgpu_bo *amdgpu_bo_ref(struct amdgpu_bo *bo) if (bo == NULL) return NULL;
- ttm_bo_reference(&bo->tbo); + ttm_bo_get(&bo->tbo); return bo; }
The function ttm_bo_put releases a reference to a TTM buffer object. The function's name is more aligned to the Linux kernel convention of naming ref-counting function _get and _put.
A call to ttm_bo_unref takes the address of the TTM BO object's pointer and clears the pointer's value to NULL. This is not necessary in most cases and sometimes even worked around by the calling code. A call to ttm_bo_put only releases the reference without clearing the pointer.
The current behaviour of cleaning the pointer is kept in the calling code, but should be removed if not required in a later patch.
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de --- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index f54d30186fd6..c5681477a3e2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -841,9 +841,8 @@ void amdgpu_bo_unref(struct amdgpu_bo **bo) return;
tbo = &((*bo)->tbo); - ttm_bo_unref(&tbo); - if (tbo == NULL) - *bo = NULL; + ttm_bo_put(tbo); + *bo = NULL; }
/**
Am 31.07.2018 um 08:11 schrieb Thomas Zimmermann:
The function ttm_bo_get acquires a reference on a TTM buffer object. The function's name is more aligned to the Linux kernel convention of naming ref-counting function _get and _put.
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de
amdgpu patches should actually have the prefix "drm/amdgpu", but not a major issue. I'm going to clean that up before pushing.
Apart from that this series as well as the radeon series are Reviewed-by: Christian König christian.koenig@amd.com and I will pick them up for upstreaming later today.
Thanks for the help, Christian.
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index b12526ce1a9d..f54d30186fd6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -823,7 +823,7 @@ struct amdgpu_bo *amdgpu_bo_ref(struct amdgpu_bo *bo) if (bo == NULL) return NULL;
- ttm_bo_reference(&bo->tbo);
- ttm_bo_get(&bo->tbo); return bo; }
dri-devel@lists.freedesktop.org