On Tue, 14 Nov 2023 at 15:28, Dipam Turkar <dipamt1729@xxxxxxxxx> wrote: > > Make msm use drm_gem_create_map_offset() instead of its custom > implementation for associating GEM object with a fake offset. Since, > we already have this generic implementation, we don't need the custom > implementation and it is better to standardize the code for GEM based drivers. > > Signed-off-by: Dipam Turkar <dipamt1729@xxxxxxxxx> > --- > drivers/gpu/drm/msm/msm_drv.c | 2 +- > drivers/gpu/drm/msm/msm_gem.c | 21 --------------------- > drivers/gpu/drm/msm/msm_gem.h | 2 -- > 3 files changed, 1 insertion(+), 24 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index a428951ee539..86a15992c717 100644 > --- a/drivers/gpu/drm/msm/msm_drv.c > +++ b/drivers/gpu/drm/msm/msm_drv.c > @@ -1085,7 +1085,7 @@ static const struct drm_driver msm_driver = { > .open = msm_open, > .postclose = msm_postclose, > .dumb_create = msm_gem_dumb_create, > - .dumb_map_offset = msm_gem_dumb_map_offset, > + .dumb_map_offset = drm_gem_dumb_map_offset, > .gem_prime_import_sg_table = msm_gem_prime_import_sg_table, > #ifdef CONFIG_DEBUG_FS > .debugfs_init = msm_debugfs_init, > diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c > index db1e748daa75..489694ef79cb 100644 > --- a/drivers/gpu/drm/msm/msm_gem.c > +++ b/drivers/gpu/drm/msm/msm_gem.c > @@ -671,27 +671,6 @@ int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev, > MSM_BO_SCANOUT | MSM_BO_WC, &args->handle, "dumb"); > } > > -int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, > - uint32_t handle, uint64_t *offset) > -{ > - struct drm_gem_object *obj; > - int ret = 0; > - > - /* GEM does all our handle to object mapping */ > - obj = drm_gem_object_lookup(file, handle); > - if (obj == NULL) { > - ret = -ENOENT; > - goto fail; > - } > - > - *offset = msm_gem_mmap_offset(obj); msm_gem_mmap_offset internally has locking around drm_gem_create_mmap_offset() / drm_vma_node_offset_addr() calls, while drm_gem_dumb_map_offset() does not. Thus this patch does more than is stated in the commit message. > - > - drm_gem_object_put(obj); > - > -fail: > - return ret; > -} > - > static void *get_vaddr(struct drm_gem_object *obj, unsigned madv) > { > struct msm_gem_object *msm_obj = to_msm_bo(obj); > diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h > index 8ddef5443140..dc74a0ef865d 100644 > --- a/drivers/gpu/drm/msm/msm_gem.h > +++ b/drivers/gpu/drm/msm/msm_gem.h > @@ -139,8 +139,6 @@ struct page **msm_gem_pin_pages(struct drm_gem_object *obj); > void msm_gem_unpin_pages(struct drm_gem_object *obj); > int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev, > struct drm_mode_create_dumb *args); > -int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, > - uint32_t handle, uint64_t *offset); > void *msm_gem_get_vaddr_locked(struct drm_gem_object *obj); > void *msm_gem_get_vaddr(struct drm_gem_object *obj); > void *msm_gem_get_vaddr_active(struct drm_gem_object *obj); > -- > 2.34.1 > -- With best wishes Dmitry