Since almost drivers support fb modifiers, allow_fb_modifiers is
replaced with fb_modifiers_not_supported and removed.

Signed-off-by: Tomohito Esaki <e...@igel.co.jp>
---
 drivers/gpu/drm/drm_framebuffer.c                |  6 +++---
 drivers/gpu/drm/drm_ioctl.c                      |  2 +-
 drivers/gpu/drm/drm_plane.c                      |  9 ---------
 drivers/gpu/drm/selftests/test-drm_framebuffer.c |  1 -
 include/drm/drm_mode_config.h                    | 16 ----------------
 5 files changed, 4 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/drm_framebuffer.c 
b/drivers/gpu/drm/drm_framebuffer.c
index 07f5abc875e9..4562a8b86579 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -309,7 +309,7 @@ drm_internal_framebuffer_create(struct drm_device *dev,
        }
 
        if (r->flags & DRM_MODE_FB_MODIFIERS &&
-           !dev->mode_config.allow_fb_modifiers) {
+           dev->mode_config.fb_modifiers_not_supported) {
                DRM_DEBUG_KMS("driver does not support fb modifiers\n");
                return ERR_PTR(-EINVAL);
        }
@@ -594,7 +594,7 @@ int drm_mode_getfb2_ioctl(struct drm_device *dev,
        r->pixel_format = fb->format->format;
 
        r->flags = 0;
-       if (dev->mode_config.allow_fb_modifiers)
+       if (!dev->mode_config.fb_modifiers_not_supported)
                r->flags |= DRM_MODE_FB_MODIFIERS;
 
        for (i = 0; i < ARRAY_SIZE(r->handles); i++) {
@@ -607,7 +607,7 @@ int drm_mode_getfb2_ioctl(struct drm_device *dev,
        for (i = 0; i < fb->format->num_planes; i++) {
                r->pitches[i] = fb->pitches[i];
                r->offsets[i] = fb->offsets[i];
-               if (dev->mode_config.allow_fb_modifiers)
+               if (!dev->mode_config.fb_modifiers_not_supported)
                        r->modifier[i] = fb->modifier;
        }
 
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 8b8744dcf691..51fcf1298023 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -297,7 +297,7 @@ static int drm_getcap(struct drm_device *dev, void *data, 
struct drm_file *file_
                        req->value = 64;
                break;
        case DRM_CAP_ADDFB2_MODIFIERS:
-               req->value = dev->mode_config.allow_fb_modifiers;
+               req->value = !dev->mode_config.fb_modifiers_not_supported;
                break;
        case DRM_CAP_CRTC_IN_VBLANK_EVENT:
                req->value = 1;
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 5aa7e241971e..89a3d044ab59 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -288,15 +288,6 @@ static int __drm_universal_plane_init(struct drm_device 
*dev,
                }
        }
 
-       /* autoset the cap and check for consistency across all planes */
-       if (format_modifier_count) {
-               drm_WARN_ON(dev, !config->allow_fb_modifiers &&
-                           !list_empty(&config->plane_list));
-               config->allow_fb_modifiers = true;
-       } else {
-               drm_WARN_ON(dev, config->allow_fb_modifiers);
-       }
-
        plane->modifier_count = format_modifier_count;
        plane->modifiers = kmalloc_array(format_modifier_count,
                                         sizeof(format_modifiers[0]),
diff --git a/drivers/gpu/drm/selftests/test-drm_framebuffer.c 
b/drivers/gpu/drm/selftests/test-drm_framebuffer.c
index 61b44d3a6a61..f6d66285c5fc 100644
--- a/drivers/gpu/drm/selftests/test-drm_framebuffer.c
+++ b/drivers/gpu/drm/selftests/test-drm_framebuffer.c
@@ -323,7 +323,6 @@ static struct drm_device mock_drm_device = {
                .max_width = MAX_WIDTH,
                .min_height = MIN_HEIGHT,
                .max_height = MAX_HEIGHT,
-               .allow_fb_modifiers = true,
                .funcs = &mock_config_funcs,
        },
 };
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index c56f298c55bd..6fd13d6510f1 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -904,22 +904,6 @@ struct drm_mode_config {
         */
        bool async_page_flip;
 
-       /**
-        * @allow_fb_modifiers:
-        *
-        * Whether the driver supports fb modifiers in the ADDFB2.1 ioctl call.
-        * Note that drivers should not set this directly, it is automatically
-        * set in drm_universal_plane_init().
-        *
-        * IMPORTANT:
-        *
-        * If this is set the driver must fill out the full implicit modifier
-        * information in their &drm_mode_config_funcs.fb_create hook for legacy
-        * userspace which does not set modifiers. Otherwise the GETFB2 ioctl is
-        * broken for modifier aware userspace.
-        */
-       bool allow_fb_modifiers;
-
        /**
         * @fb_modifiers_not_supported:
         *
-- 
2.25.1

Reply via email to