Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxxxxxxxx> On 08.12.2023 17:34, Jeffrey Hugo wrote: > From: Pranjal Ramajor Asha Kanojiya <quic_pkanojiy@xxxxxxxxxxx> > > Every time QAIC_MMAP_BO ioctl is called for a BO, > drm_gem_create_mmap_offset() is called. Calling > drm_gem_create_mmap_offset() more then once for a BO seems redundant. > > Signed-off-by: Pranjal Ramajor Asha Kanojiya <quic_pkanojiy@xxxxxxxxxxx> > Reviewed-by: Jeffrey Hugo <quic_jhugo@xxxxxxxxxxx> > Signed-off-by: Jeffrey Hugo <quic_jhugo@xxxxxxxxxxx> > --- > drivers/accel/qaic/qaic_data.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/accel/qaic/qaic_data.c b/drivers/accel/qaic/qaic_data.c > index 7faa00705c1d..f88d925c8001 100644 > --- a/drivers/accel/qaic/qaic_data.c > +++ b/drivers/accel/qaic/qaic_data.c > @@ -718,6 +718,10 @@ int qaic_create_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *fi > if (ret) > goto free_bo; > > + ret = drm_gem_create_mmap_offset(obj); > + if (ret) > + goto free_bo; > + > ret = drm_gem_handle_create(file_priv, obj, &args->handle); > if (ret) > goto free_bo; > @@ -745,7 +749,7 @@ int qaic_mmap_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file > struct drm_gem_object *obj; > struct qaic_device *qdev; > struct qaic_user *usr; > - int ret; > + int ret = 0; > > usr = file_priv->driver_priv; > usr_rcu_id = srcu_read_lock(&usr->qddev_lock); > @@ -767,9 +771,7 @@ int qaic_mmap_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file > goto unlock_dev_srcu; > } > > - ret = drm_gem_create_mmap_offset(obj); > - if (ret == 0) > - args->offset = drm_vma_node_offset_addr(&obj->vma_node); > + args->offset = drm_vma_node_offset_addr(&obj->vma_node); > > drm_gem_object_put(obj); >