Revert "drm/vc4: Add get/set tiling ioctls."
authorpopcornmix <popcornmix@gmail.com>
Tue, 13 Jun 2017 14:06:24 +0000 (15:06 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sat, 31 Mar 2018 14:54:20 +0000 (15:54 +0100)
This reverts commit 3ea95503a626b7e4157afa0745d11908546654b1.

drivers/gpu/drm/vc4/vc4_bo.c
drivers/gpu/drm/vc4/vc4_drv.c
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/vc4/vc4_kms.c
include/uapi/drm/vc4_drm.h

index b20e9c8298763f81d27c8cbaecb4e642e7d62625..b5802f7acf6e4a2e084ca9a4f19fee9f77c8df13 100644 (file)
@@ -542,89 +542,6 @@ vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data,
        return ret;
 }
 
-/**
- * vc4_set_tiling_ioctl() - Sets the tiling modifier for a BO.
- * @dev: DRM device
- * @data: ioctl argument
- * @file_priv: DRM file for this fd
- *
- * The tiling state of the BO decides the default modifier of an fb if
- * no specific modifier was set by userspace, and the return value of
- * vc4_get_tiling_ioctl() (so that a BO shared to another DRM fd can
- * treat the BO as the same tiling format).
- */
-
-int vc4_set_tiling_ioctl(struct drm_device *dev, void *data,
-                        struct drm_file *file_priv)
-{
-       struct drm_vc4_set_tiling *args = data;
-       struct drm_gem_object *gem_obj;
-       struct vc4_bo *bo;
-       bool t_format;
-
-       if (args->flags != 0)
-               return -EINVAL;
-
-       switch (args->modifier) {
-       case DRM_FORMAT_MOD_NONE:
-               t_format = false;
-               break;
-       case DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED:
-               t_format = true;
-               break;
-       default:
-               return -EINVAL;
-       }
-
-       gem_obj = drm_gem_object_lookup(file_priv, args->handle);
-       if (!gem_obj) {
-               DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-               return -ENOENT;
-       }
-       bo = to_vc4_bo(gem_obj);
-       bo->t_format = t_format;
-
-       drm_gem_object_unreference_unlocked(gem_obj);
-
-       return 0;
-}
-
-/**
- * vc4_get_tiling_ioctl() - Gets the tiling modifier for a BO.
- * @dev: DRM device
- * @data: ioctl argument
- * @file_priv: DRM file for this fd
- *
- * Returns the tiling modifier for a BO as set by vc4_set_tiling_ioctl().
- */
-
-int vc4_get_tiling_ioctl(struct drm_device *dev, void *data,
-                        struct drm_file *file_priv)
-{
-       struct drm_vc4_get_tiling *args = data;
-       struct drm_gem_object *gem_obj;
-       struct vc4_bo *bo;
-
-       if (args->flags != 0 || args->modifier != 0)
-               return -EINVAL;
-
-       gem_obj = drm_gem_object_lookup(file_priv, args->handle);
-       if (!gem_obj) {
-               DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-               return -ENOENT;
-       }
-       bo = to_vc4_bo(gem_obj);
-
-       if (bo->t_format)
-               args->modifier = DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED;
-       else
-               args->modifier = DRM_FORMAT_MOD_NONE;
-
-       drm_gem_object_unreference_unlocked(gem_obj);
-
-       return 0;
-}
-
 void vc4_bo_cache_init(struct drm_device *dev)
 {
        struct vc4_dev *vc4 = to_vc4_dev(dev);
index f528edc4b389e2e3843cd8be2faccf62947cbda4..457e5e79ec8dc863fc66759662232c7160592f6e 100644 (file)
@@ -124,8 +124,6 @@ static const struct drm_ioctl_desc vc4_drm_ioctls[] = {
        DRM_IOCTL_DEF_DRV(VC4_GET_HANG_STATE, vc4_get_hang_state_ioctl,
                          DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(VC4_GET_PARAM, vc4_get_param_ioctl, DRM_RENDER_ALLOW),
-       DRM_IOCTL_DEF_DRV(VC4_SET_TILING, vc4_set_tiling_ioctl, DRM_RENDER_ALLOW),
-       DRM_IOCTL_DEF_DRV(VC4_GET_TILING, vc4_get_tiling_ioctl, DRM_RENDER_ALLOW),
 };
 
 static struct drm_driver vc4_drm_driver = {
index fcf1c45783736413c058a33f31e189ebaddb446e..9e50bc25b2be71079d52a861c25f3fe7c4db0830 100644 (file)
@@ -148,8 +148,6 @@ struct vc4_bo {
         */
        uint64_t write_seqno;
 
-       bool t_format;
-
        /* List entry for the BO's position in either
         * vc4_exec_info->unref_list or vc4_dev->bo_cache.time_list
         */
@@ -452,10 +450,6 @@ int vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data,
                               struct drm_file *file_priv);
 int vc4_mmap_bo_ioctl(struct drm_device *dev, void *data,
                      struct drm_file *file_priv);
-int vc4_set_tiling_ioctl(struct drm_device *dev, void *data,
-                        struct drm_file *file_priv);
-int vc4_get_tiling_ioctl(struct drm_device *dev, void *data,
-                        struct drm_file *file_priv);
 int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data,
                             struct drm_file *file_priv);
 int vc4_mmap(struct file *filp, struct vm_area_struct *vma);
index 78080c3e966cacf4756d58d34069c3fb0bafdd87..67af2af70af091bf4b13ac03eb1078f867bc6cea 100644 (file)
@@ -201,50 +201,11 @@ static int vc4_atomic_commit(struct drm_device *dev,
        return 0;
 }
 
-static struct drm_framebuffer *vc4_fb_create(struct drm_device *dev,
-                                            struct drm_file *file_priv,
-                                            const struct drm_mode_fb_cmd2 *mode_cmd)
-{
-       struct drm_mode_fb_cmd2 mode_cmd_local;
-
-       /* If the user didn't specify a modifier, use the
-        * vc4_set_tiling_ioctl() state for the BO.
-        */
-       if (!(mode_cmd->flags & DRM_MODE_FB_MODIFIERS)) {
-               struct drm_gem_object *gem_obj;
-               struct vc4_bo *bo;
-
-               gem_obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]);
-               if (!gem_obj) {
-                       DRM_ERROR("Failed to look up GEM BO %d\n",
-                                 mode_cmd->handles[0]);
-                       return ERR_PTR(-ENOENT);
-
-               }
-               bo = to_vc4_bo(gem_obj);
-
-               mode_cmd_local = *mode_cmd;
-
-               if (bo->t_format) {
-                       mode_cmd_local.modifier[0] =
-                               DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED;
-               } else {
-                       mode_cmd_local.modifier[0] = DRM_FORMAT_MOD_NONE;
-               }
-
-               drm_gem_object_unreference_unlocked(gem_obj);
-
-               mode_cmd = &mode_cmd_local;
-       }
-
-       return drm_fb_cma_create(dev, file_priv, mode_cmd);
-}
-
 static const struct drm_mode_config_funcs vc4_mode_funcs = {
        .output_poll_changed = vc4_output_poll_changed,
        .atomic_check = drm_atomic_helper_check,
        .atomic_commit = vc4_atomic_commit,
-       .fb_create = vc4_fb_create,
+       .fb_create = drm_fb_cma_create,
 };
 
 int vc4_kms_load(struct drm_device *dev)
index 6ac4c5c014cb9b98343f25721f74b727a88f2bb5..f07a090167261131076438960c1dec175d7d376e 100644 (file)
@@ -38,8 +38,6 @@ extern "C" {
 #define DRM_VC4_CREATE_SHADER_BO                  0x05
 #define DRM_VC4_GET_HANG_STATE                    0x06
 #define DRM_VC4_GET_PARAM                         0x07
-#define DRM_VC4_SET_TILING                        0x08
-#define DRM_VC4_GET_TILING                        0x09
 
 #define DRM_IOCTL_VC4_SUBMIT_CL           DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
 #define DRM_IOCTL_VC4_WAIT_SEQNO          DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)
@@ -49,8 +47,6 @@ extern "C" {
 #define DRM_IOCTL_VC4_CREATE_SHADER_BO    DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo)
 #define DRM_IOCTL_VC4_GET_HANG_STATE      DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state)
 #define DRM_IOCTL_VC4_GET_PARAM           DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param)
-#define DRM_IOCTL_VC4_SET_TILING          DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling)
-#define DRM_IOCTL_VC4_GET_TILING          DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling)
 
 struct drm_vc4_submit_rcl_surface {
        __u32 hindex; /* Handle index, or ~0 if not present. */
@@ -299,18 +295,6 @@ struct drm_vc4_get_param {
        __u64 value;
 };
 
-struct drm_vc4_get_tiling {
-       __u32 handle;
-       __u32 flags;
-       __u64 modifier;
-};
-
-struct drm_vc4_set_tiling {
-       __u32 handle;
-       __u32 flags;
-       __u64 modifier;
-};
-
 #if defined(__cplusplus)
 }
 #endif