[RFC PATCH v3 3/3] drm: remove allow_fb_modifiers

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Jan 23 22:44:52 UTC 2022


Hello Esaki-san,

Thank you for the patch.

On Fri, Jan 14, 2022 at 07:17:53PM +0900, Tomohito Esaki wrote:
> The allow_fb_modifiers flag is unnecessary since it has been replaced
> with cannot_support_modifiers flag.

The new flag is fb_modifiers_not_supported, not
cannot_support_modifiers.

> Signed-off-by: Tomohito Esaki <etom at igel.co.jp>
> ---
>  drivers/gpu/drm/drm_plane.c                      |  9 ---------
>  drivers/gpu/drm/selftests/test-drm_framebuffer.c |  1 -
>  include/drm/drm_mode_config.h                    | 16 ----------------
>  3 files changed, 26 deletions(-)
> 
> 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);
> -	}
> -

Shouldn't we keep a sanity check to ensure that drivers setting
fb_modifiers_not_supported do not pass modifiers ?

	drm_WARN_ON(dev, config->fb_modifiers_not_supported &&
		    format_modifier_count);

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

>  	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 da82f45351c7..5001bda9f9af 100644
> --- a/include/drm/drm_mode_config.h
> +++ b/include/drm/drm_mode_config.h
> @@ -917,22 +917,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:
>  	 *

-- 
Regards,

Laurent Pinchart


More information about the amd-gfx mailing list