From: Thomas Zimmermann <tzimmermann@suse.de>
To: christian.koenig@amd.com, ray.huang@amd.com, Jerry.Zhang@amd.com,
airlied@redhat.com, bskeggs@redhat.com,
linux-graphics-maintainer@vmware.com, thellstrom@vmware.com,
dri-devel@lists.freedesktop.org
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v2 3/7] drm/nouveau: Replace ttm_bo_unref with ttm_bo_put
Date: Fri, 25 Jan 2019 12:02:07 +0100 [thread overview]
Message-ID: <20190125110211.5877-4-tzimmermann@suse.de> (raw)
In-Reply-To: <20190125110211.5877-1-tzimmermann@suse.de>
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>
---
drivers/gpu/drm/nouveau/nouveau_bo.h | 7 ++-----
drivers/gpu/drm/nouveau/nouveau_gem.c | 3 +--
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.h b/drivers/gpu/drm/nouveau/nouveau_bo.h
index 3920134cb132..846f4bdec0de 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.h
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.h
@@ -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;
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index b56524d343c3..fb028e3b5f51 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -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;
@@ -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);
--
2.20.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-01-25 11:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-25 11:02 [PATCH v2 0/7] Replace ttm_bo_{unref, reference} with ttm_bo_{get|put} Thomas Zimmermann
2019-01-25 11:02 ` [PATCH v2 1/7] drm/ast: Replace ttm_bo_unref with ttm_bo_put Thomas Zimmermann
2019-01-25 11:02 ` [PATCH v2 2/7] drm/nouveau: Replace ttm_bo_reference with ttm_bo_get Thomas Zimmermann
2019-01-25 11:02 ` Thomas Zimmermann [this message]
2019-01-25 11:02 ` [PATCH v2 4/7] drm/vmwgfx: " Thomas Zimmermann
2019-01-25 11:02 ` [PATCH v2 5/7] drm/vmwgfx: Replace ttm_bo_unref with ttm_bo_put Thomas Zimmermann
2019-01-25 11:02 ` [PATCH v2 6/7] drm/mgag200: " Thomas Zimmermann
2019-01-25 11:02 ` [PATCH v2 7/7] drm/ttm: Remove ttm_bo_reference and ttm_bo_unref Thomas Zimmermann
2019-01-25 11:29 ` [PATCH v2 0/7] Replace ttm_bo_{unref,reference} with ttm_bo_{get|put} Koenig, Christian
2019-01-28 3:20 ` Huang, Ray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190125110211.5877-4-tzimmermann@suse.de \
--to=tzimmermann@suse.de \
--cc=Jerry.Zhang@amd.com \
--cc=airlied@redhat.com \
--cc=bskeggs@redhat.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-graphics-maintainer@vmware.com \
--cc=ray.huang@amd.com \
--cc=thellstrom@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox