The vmap/vunmap/evict GEM callbacks are always invoked with a held GEM's
reservation lock. Document this locking rule for clarity.

Signed-off-by: Dmitry Osipenko <dmitry.osipe...@collabora.com>
---
 include/drm/drm_gem.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h
index f835fdee6a5e..021f64371056 100644
--- a/include/drm/drm_gem.h
+++ b/include/drm/drm_gem.h
@@ -156,7 +156,8 @@ struct drm_gem_object_funcs {
         * @vmap:
         *
         * Returns a virtual address for the buffer. Used by the
-        * drm_gem_dmabuf_vmap() helper.
+        * drm_gem_dmabuf_vmap() helper. Called with a held GEM reservation
+        * lock.
         *
         * This callback is optional.
         */
@@ -166,7 +167,8 @@ struct drm_gem_object_funcs {
         * @vunmap:
         *
         * Releases the address previously returned by @vmap. Used by the
-        * drm_gem_dmabuf_vunmap() helper.
+        * drm_gem_dmabuf_vunmap() helper. Called with a held GEM reservation
+        * lock.
         *
         * This callback is optional.
         */
@@ -189,7 +191,8 @@ struct drm_gem_object_funcs {
         * @evict:
         *
         * Evicts gem object out from memory. Used by the drm_gem_object_evict()
-        * helper. Returns 0 on success, -errno otherwise.
+        * helper. Returns 0 on success, -errno otherwise. Called with a held
+        * GEM reservation lock.
         *
         * This callback is optional.
         */
-- 
2.43.0

Reply via email to