On Mon, Nov 14, 2016 at 12:58:16PM +0100, Daniel Vetter wrote:
> Just code movement, doc cleanup will follow up later.
>
> Signed-off-by: Daniel Vetter
> ---
> drivers/gpu/drm/Makefile| 3 +-
> drivers/gpu/drm/drm_crtc.c | 109 -
> drivers/gpu/drm/drm_crtc_internal.h | 18 ++---
> drivers/gpu/drm/drm_dumb_buffers.c | 135
>
> 4 files changed, 147 insertions(+), 118 deletions(-)
> create mode 100644 drivers/gpu/drm/drm_dumb_buffers.c
>
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index f217274754d4..adcfc8f922e3 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -15,7 +15,8 @@ drm-y := drm_auth.o drm_bufs.o drm_cache.o \
> drm_modeset_lock.o drm_atomic.o drm_bridge.o \
> drm_framebuffer.o drm_connector.o drm_blend.o \
> drm_encoder.o drm_mode_object.o drm_property.o \
> - drm_plane.o drm_color_mgmt.o drm_print.o
> + drm_plane.o drm_color_mgmt.o drm_print.o \
> + drm_dumb_buffers.o
>
> drm-$(CONFIG_COMPAT) += drm_ioc32.o
> drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 4f34d9a34190..0ece33cc0dc6 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -960,115 +960,6 @@ void drm_mode_config_reset(struct drm_device *dev)
> EXPORT_SYMBOL(drm_mode_config_reset);
>
> /**
> - * drm_mode_create_dumb_ioctl - create a dumb backing storage buffer
> - * @dev: DRM device
> - * @data: ioctl data
> - * @file_priv: DRM file info
> - *
> - * This creates a new dumb buffer in the driver's backing storage manager
> (GEM,
> - * TTM or something else entirely) and returns the resulting buffer handle.
> This
> - * handle can then be wrapped up into a framebuffer modeset object.
> - *
> - * Note that userspace is not allowed to use such objects for render
> - * acceleration - drivers must create their own private ioctls for such a use
> - * case.
> - *
> - * Called by the user via ioctl.
> - *
> - * Returns:
> - * Zero on success, negative errno on failure.
> - */
> -int drm_mode_create_dumb_ioctl(struct drm_device *dev,
> -void *data, struct drm_file *file_priv)
> -{
> - struct drm_mode_create_dumb *args = data;
> - u32 cpp, stride, size;
> -
> - if (!dev->driver->dumb_create)
> - return -ENOSYS;
> - if (!args->width || !args->height || !args->bpp)
> - return -EINVAL;
> -
> - /* overflow checks for 32bit size calculations */
> - /* NOTE: DIV_ROUND_UP() can overflow */
> - cpp = DIV_ROUND_UP(args->bpp, 8);
> - if (!cpp || cpp > 0xU / args->width)
> - return -EINVAL;
> - stride = cpp * args->width;
> - if (args->height > 0xU / stride)
> - return -EINVAL;
> -
> - /* test for wrap-around */
> - size = args->height * stride;
> - if (PAGE_ALIGN(size) == 0)
> - return -EINVAL;
> -
> - /*
> - * handle, pitch and size are output parameters. Zero them out to
> - * prevent drivers from accidentally using uninitialized data. Since
> - * not all existing userspace is clearing these fields properly we
> - * cannot reject IOCTL with garbage in them.
> - */
> - args->handle = 0;
> - args->pitch = 0;
> - args->size = 0;
> -
> - return dev->driver->dumb_create(file_priv, dev, args);
> -}
> -
> -/**
> - * drm_mode_mmap_dumb_ioctl - create an mmap offset for a dumb backing
> storage buffer
> - * @dev: DRM device
> - * @data: ioctl data
> - * @file_priv: DRM file info
> - *
> - * Allocate an offset in the drm device node's address space to be able to
> - * memory map a dumb buffer.
> - *
> - * Called by the user via ioctl.
> - *
> - * Returns:
> - * Zero on success, negative errno on failure.
> - */
> -int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
> - void *data, struct drm_file *file_priv)
> -{
> - struct drm_mode_map_dumb *args = data;
> -
> - /* call driver ioctl to get mmap offset */
> - if (!dev->driver->dumb_map_offset)
> - return -ENOSYS;
> -
> - return dev->driver->dumb_map_offset(file_priv, dev, args->handle,
> >offset);
> -}
> -
> -/**
> - * drm_mode_destroy_dumb_ioctl - destroy a dumb backing strage buffer
> - * @dev: DRM device
> - * @data: ioctl data
> - * @file_priv: DRM file info
> - *
> - * This destroys the userspace handle for the given dumb backing storage
> buffer.
> - * Since buffer objects must be reference counted in the kernel a buffer
> object
> - * won't be immediately freed if a framebuffer modeset object still uses it.
> - *
> - * Called by the user via ioctl.
> - *
> - * Returns:
> - * Zero on success, negative errno on failure.
> - */
> -int drm_mode_destroy_dumb_ioctl(struct drm_device *dev,
> -