Skip to content

Commit

Permalink
drm/nouveau: Replace ttm_bo_unref with ttm_bo_put
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Thomas Zimmermann authored and Alex Deucher committed Jan 28, 2019
1 parent b063dc9 commit 829eee6
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 7 deletions.
7 changes: 2 additions & 5 deletions drivers/gpu/drm/nouveau/nouveau_bo.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,8 @@ nouveau_bo_ref(struct nouveau_bo *ref, struct nouveau_bo **pnvbo)
} else {
*pnvbo = NULL;
}
if (prev) {
struct ttm_buffer_object *bo = &prev->bo;

ttm_bo_unref(&bo);
}
if (prev)
ttm_bo_put(&prev->bo);

return 0;
}
Expand Down
3 changes: 1 addition & 2 deletions drivers/gpu/drm/nouveau/nouveau_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ nouveau_gem_object_del(struct drm_gem_object *gem)
{
struct nouveau_bo *nvbo = nouveau_gem_object(gem);
struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev);
struct ttm_buffer_object *bo = &nvbo->bo;
struct device *dev = drm->dev->dev;
int ret;

Expand All @@ -56,7 +55,7 @@ nouveau_gem_object_del(struct drm_gem_object *gem)

/* reset filp so nouveau_bo_del_ttm() can test for it */
gem->filp = NULL;
ttm_bo_unref(&bo);
ttm_bo_put(&nvbo->bo);

pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
Expand Down

0 comments on commit 829eee6

Please sign in to comment.