On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > It belongs right next to the addmap and rmmap functions really. And > for OCD consistency name it drm_legacy_getmap_ioctl. > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/drm_bufs.c | 52 ++++++++++++++++++++++++++++++++++++++++++ > drivers/gpu/drm/drm_ioctl.c | 54 +------------------------------------------- > drivers/gpu/drm/drm_legacy.h | 2 ++ > 3 files changed, 55 insertions(+), 53 deletions(-) > > diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c > index f1a204d253cc..d92db7007f62 100644 > --- a/drivers/gpu/drm/drm_bufs.c > +++ b/drivers/gpu/drm/drm_bufs.c > @@ -416,6 +416,58 @@ int drm_legacy_addmap_ioctl(struct drm_device *dev, void *data, > return 0; > } > > +/* > + * Get a mapping information. > + * > + * \param inode device inode. > + * \param file_priv DRM file private. > + * \param cmd command. > + * \param arg user argument, pointing to a drm_map structure. > + * > + * \return zero on success or a negative number on failure. > + * > + * Searches for the mapping with the specified offset and copies its information > + * into userspace > + */ > +int drm_legacy_getmap_ioctl(struct drm_device *dev, void *data, > + struct drm_file *file_priv) > +{ > + struct drm_map *map = data; > + struct drm_map_list *r_list = NULL; > + struct list_head *list; > + int idx; > + int i; > + > + idx = map->offset; > + if (idx < 0) > + return -EINVAL; > + > + i = 0; > + mutex_lock(&dev->struct_mutex); > + list_for_each(list, &dev->maplist) { > + if (i == idx) { > + r_list = list_entry(list, struct drm_map_list, head); > + break; > + } > + i++; > + } > + if (!r_list || !r_list->map) { > + mutex_unlock(&dev->struct_mutex); > + return -EINVAL; > + } > + > + map->offset = r_list->map->offset; > + map->size = r_list->map->size; > + map->type = r_list->map->type; > + map->flags = r_list->map->flags; > + map->handle = (void *)(unsigned long) r_list->user_token; > + map->mtrr = arch_phys_wc_index(r_list->map->mtrr); > + > + mutex_unlock(&dev->struct_mutex); > + > + return 0; > +} > + > /** > * Remove a map private from list and deallocate resources if the mapping > * isn't in use. > diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c > index 3ecd1368c23a..24b941c3b561 100644 > --- a/drivers/gpu/drm/drm_ioctl.c > +++ b/drivers/gpu/drm/drm_ioctl.c > @@ -148,58 +148,6 @@ static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) > } > > /* > - * Get a mapping information. > - * > - * \param inode device inode. > - * \param file_priv DRM file private. > - * \param cmd command. > - * \param arg user argument, pointing to a drm_map structure. > - * > - * \return zero on success or a negative number on failure. > - * > - * Searches for the mapping with the specified offset and copies its information > - * into userspace > - */ > -static int drm_getmap(struct drm_device *dev, void *data, > - struct drm_file *file_priv) > -{ > - struct drm_map *map = data; > - struct drm_map_list *r_list = NULL; > - struct list_head *list; > - int idx; > - int i; > - > - idx = map->offset; > - if (idx < 0) > - return -EINVAL; > - > - i = 0; > - mutex_lock(&dev->struct_mutex); > - list_for_each(list, &dev->maplist) { > - if (i == idx) { > - r_list = list_entry(list, struct drm_map_list, head); > - break; > - } > - i++; > - } > - if (!r_list || !r_list->map) { > - mutex_unlock(&dev->struct_mutex); > - return -EINVAL; > - } > - > - map->offset = r_list->map->offset; > - map->size = r_list->map->size; > - map->type = r_list->map->type; > - map->flags = r_list->map->flags; > - map->handle = (void *)(unsigned long) r_list->user_token; > - map->mtrr = arch_phys_wc_index(r_list->map->mtrr); > - > - mutex_unlock(&dev->struct_mutex); > - > - return 0; > -} > - > -/* > * Get client information. > * > * \param inode device inode. > @@ -556,7 +504,7 @@ static const struct drm_ioctl_desc drm_ioctls[] = { > DRM_IOCTL_DEF(DRM_IOCTL_GET_UNIQUE, drm_getunique, 0), > DRM_IOCTL_DEF(DRM_IOCTL_GET_MAGIC, drm_getmagic, 0), > DRM_IOCTL_DEF(DRM_IOCTL_IRQ_BUSID, drm_irq_by_busid, DRM_MASTER|DRM_ROOT_ONLY), > - DRM_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_getmap, DRM_UNLOCKED), > + DRM_IOCTL_DEF(DRM_IOCTL_GET_MAP, drm_legacy_getmap_ioctl, DRM_UNLOCKED), > DRM_IOCTL_DEF(DRM_IOCTL_GET_CLIENT, drm_getclient, DRM_UNLOCKED), > DRM_IOCTL_DEF(DRM_IOCTL_GET_STATS, drm_getstats, DRM_UNLOCKED), > DRM_IOCTL_DEF(DRM_IOCTL_GET_CAP, drm_getcap, DRM_UNLOCKED|DRM_RENDER_ALLOW), > diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h > index 9b731786e4db..d3b6ee357a2b 100644 > --- a/drivers/gpu/drm/drm_legacy.h > +++ b/drivers/gpu/drm/drm_legacy.h > @@ -63,6 +63,8 @@ int drm_legacy_getsareactx(struct drm_device *d, void *v, struct drm_file *f); > > #define DRM_MAP_HASH_OFFSET 0x10000000 > > +int drm_legacy_getmap_ioctl(struct drm_device *dev, void *data, > + struct drm_file *file_priv); > int drm_legacy_addmap_ioctl(struct drm_device *d, void *v, struct drm_file *f); > int drm_legacy_rmmap_ioctl(struct drm_device *d, void *v, struct drm_file *f); > int drm_legacy_addbufs(struct drm_device *d, void *v, struct drm_file *f); > -- > 2.8.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel