Message ID | 20230722234746.205949-13-dmitry.osipenko@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add generic memory shrinker to VirtIO-GPU and Panfrost DRM drivers | expand |
On Sun, 23 Jul 2023 02:47:46 +0300 Dmitry Osipenko <dmitry.osipenko@collabora.com> wrote: > Make clear that drm_gem_pin/unpin() functions take reservation lock by > adding _unlocked postfix to the function names. > > Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> > Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> I'm still a bit confused by the fact we sometimes use the xxx[_locked]() pattern (version without the _locked suffix takes the lock) and other times the xxx[_unlocked]() pattern (version with the _unlocked suffix takes the lock). It'd be good to chose one pattern and stick to it, at least for all core functions... > --- > drivers/gpu/drm/drm_gem.c | 4 ++-- > drivers/gpu/drm/drm_internal.h | 4 ++-- > drivers/gpu/drm/drm_prime.c | 4 ++-- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c > index c18686f434d4..805eb0d85297 100644 > --- a/drivers/gpu/drm/drm_gem.c > +++ b/drivers/gpu/drm/drm_gem.c > @@ -1146,7 +1146,7 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent, > obj->funcs->print_info(p, indent, obj); > } > > -int drm_gem_pin(struct drm_gem_object *obj) > +int drm_gem_pin_unlocked(struct drm_gem_object *obj) > { > if (obj->funcs->pin) > return obj->funcs->pin(obj); > @@ -1154,7 +1154,7 @@ int drm_gem_pin(struct drm_gem_object *obj) > return 0; > } > > -void drm_gem_unpin(struct drm_gem_object *obj) > +void drm_gem_unpin_unlocked(struct drm_gem_object *obj) > { > if (obj->funcs->unpin) > obj->funcs->unpin(obj); > diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h > index d7e023bbb0d5..80f5bd1da8fd 100644 > --- a/drivers/gpu/drm/drm_internal.h > +++ b/drivers/gpu/drm/drm_internal.h > @@ -173,8 +173,8 @@ void drm_gem_release(struct drm_device *dev, struct drm_file *file_private); > void drm_gem_print_info(struct drm_printer *p, unsigned int indent, > const struct drm_gem_object *obj); > > -int drm_gem_pin(struct drm_gem_object *obj); > -void drm_gem_unpin(struct drm_gem_object *obj); > +int drm_gem_pin_unlocked(struct drm_gem_object *obj); > +void drm_gem_unpin_unlocked(struct drm_gem_object *obj); > int drm_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map); > void drm_gem_vunmap(struct drm_gem_object *obj, struct iosys_map *map); > > diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c > index 63b709a67471..8145b49e95ff 100644 > --- a/drivers/gpu/drm/drm_prime.c > +++ b/drivers/gpu/drm/drm_prime.c > @@ -583,7 +583,7 @@ int drm_gem_map_attach(struct dma_buf *dma_buf, > if (!obj->funcs->get_sg_table) > return -ENOSYS; > > - return drm_gem_pin(obj); > + return drm_gem_pin_unlocked(obj); > } > EXPORT_SYMBOL(drm_gem_map_attach); > > @@ -601,7 +601,7 @@ void drm_gem_map_detach(struct dma_buf *dma_buf, > { > struct drm_gem_object *obj = dma_buf->priv; > > - drm_gem_unpin(obj); > + drm_gem_unpin_unlocked(obj); > } > EXPORT_SYMBOL(drm_gem_map_detach); >
On 7/25/23 10:53, Boris Brezillon wrote: > On Sun, 23 Jul 2023 02:47:46 +0300 > Dmitry Osipenko <dmitry.osipenko@collabora.com> wrote: > >> Make clear that drm_gem_pin/unpin() functions take reservation lock by >> adding _unlocked postfix to the function names. >> >> Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> >> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> > > I'm still a bit confused by the fact we sometimes use the > xxx[_locked]() pattern (version without the _locked suffix takes the > lock) and other times the xxx[_unlocked]() pattern (version with the > _unlocked suffix takes the lock). It'd be good to chose one pattern and > stick to it, at least for all core functions... After a more close look, agree that the _locked variant is much more common in DRM. Alright, I'll rename the drm-gem funcs.
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index c18686f434d4..805eb0d85297 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -1146,7 +1146,7 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent, obj->funcs->print_info(p, indent, obj); } -int drm_gem_pin(struct drm_gem_object *obj) +int drm_gem_pin_unlocked(struct drm_gem_object *obj) { if (obj->funcs->pin) return obj->funcs->pin(obj); @@ -1154,7 +1154,7 @@ int drm_gem_pin(struct drm_gem_object *obj) return 0; } -void drm_gem_unpin(struct drm_gem_object *obj) +void drm_gem_unpin_unlocked(struct drm_gem_object *obj) { if (obj->funcs->unpin) obj->funcs->unpin(obj); diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h index d7e023bbb0d5..80f5bd1da8fd 100644 --- a/drivers/gpu/drm/drm_internal.h +++ b/drivers/gpu/drm/drm_internal.h @@ -173,8 +173,8 @@ void drm_gem_release(struct drm_device *dev, struct drm_file *file_private); void drm_gem_print_info(struct drm_printer *p, unsigned int indent, const struct drm_gem_object *obj); -int drm_gem_pin(struct drm_gem_object *obj); -void drm_gem_unpin(struct drm_gem_object *obj); +int drm_gem_pin_unlocked(struct drm_gem_object *obj); +void drm_gem_unpin_unlocked(struct drm_gem_object *obj); int drm_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map); void drm_gem_vunmap(struct drm_gem_object *obj, struct iosys_map *map); diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c index 63b709a67471..8145b49e95ff 100644 --- a/drivers/gpu/drm/drm_prime.c +++ b/drivers/gpu/drm/drm_prime.c @@ -583,7 +583,7 @@ int drm_gem_map_attach(struct dma_buf *dma_buf, if (!obj->funcs->get_sg_table) return -ENOSYS; - return drm_gem_pin(obj); + return drm_gem_pin_unlocked(obj); } EXPORT_SYMBOL(drm_gem_map_attach); @@ -601,7 +601,7 @@ void drm_gem_map_detach(struct dma_buf *dma_buf, { struct drm_gem_object *obj = dma_buf->priv; - drm_gem_unpin(obj); + drm_gem_unpin_unlocked(obj); } EXPORT_SYMBOL(drm_gem_map_detach);
Make clear that drm_gem_pin/unpin() functions take reservation lock by adding _unlocked postfix to the function names. Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> --- drivers/gpu/drm/drm_gem.c | 4 ++-- drivers/gpu/drm/drm_internal.h | 4 ++-- drivers/gpu/drm/drm_prime.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)