[PATCH 11/16] drm/omap: change supported_modes to an array

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed May 24 10:44:51 UTC 2017


Hi Tomi,

Thank you for the patch.

On Thursday 04 May 2017 13:23:27 Tomi Valkeinen wrote:
> enum omap_color_mode is a bitmask, so at the moment we present the
> supported color modes as mask. To be able to move to fourccs, we need to
> use an array to present the supported color modes.
> 
> As a first step towards fourccs, this patch changes the code to use an
> array to store the enums.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/dispc.c        |   2 +-
>  drivers/gpu/drm/omapdrm/dss/dss_features.c | 153 +++++++++++++++----------
>  drivers/gpu/drm/omapdrm/dss/dss_features.h |   2 +-
>  drivers/gpu/drm/omapdrm/dss/omapdss.h      |   2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.h         |   2 +-
>  drivers/gpu/drm/omapdrm/omap_fb.c          |  14 ++-
>  6 files changed, 103 insertions(+), 72 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c
> b/drivers/gpu/drm/omapdrm/dss/dispc.c index 9dfef8fdff67..dcd83efda3af
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
> @@ -1140,7 +1140,7 @@ static u32 dispc_ovl_get_burst_size(enum omap_plane_id
> plane) return unit * 8;
>  }
> 
> -static enum omap_color_mode dispc_ovl_get_color_modes(enum omap_plane_id
> plane) +static const enum omap_color_mode *dispc_ovl_get_color_modes(enum
> omap_plane_id plane) {
>  	return dss_feat_get_supported_color_modes(plane);
>  }
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss_features.c
> b/drivers/gpu/drm/omapdrm/dss/dss_features.c index
> bdac1d645ef0..f9b0324cc263 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss_features.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss_features.c

[snip]

> @@ -229,90 +229,104 @@ static const enum omap_dss_output_id
> omap5_dss_supported_outputs[] = { OMAP_DSS_OUTPUT_DSI2,
>  };
> 
> -static const enum omap_color_mode omap2_dss_supported_color_modes[] = {
> +#define COLOR_ARRAY(arr...) (const enum omap_color_mode[]) { arr, 0 }

I don't like this macro much, but I don't think I have a much better proposal 
beside just typing the cast out :-/, so

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

> +static const enum omap_color_mode *omap2_dss_supported_color_modes[] = {
> +
>  	/* OMAP_DSS_GFX */
> -	OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_RGB16 |
> -	OMAP_DSS_COLOR_RGB24U | OMAP_DSS_COLOR_RGB24P,
> +	COLOR_ARRAY(
> +	OMAP_DSS_COLOR_RGB12U, OMAP_DSS_COLOR_RGB16,
> +	OMAP_DSS_COLOR_RGB24U, OMAP_DSS_COLOR_RGB24P),
> 
>  	/* OMAP_DSS_VIDEO1 */
> -	OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
> -	OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_YUV2 |
> -	OMAP_DSS_COLOR_UYVY,
> +	COLOR_ARRAY(
> +	OMAP_DSS_COLOR_RGB16, OMAP_DSS_COLOR_RGB24U,
> +	OMAP_DSS_COLOR_RGB24P, OMAP_DSS_COLOR_YUV2,
> +	OMAP_DSS_COLOR_UYVY),
> 
>  	/* OMAP_DSS_VIDEO2 */
> -	OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
> -	OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_YUV2 |
> -	OMAP_DSS_COLOR_UYVY,
> +	COLOR_ARRAY(
> +	OMAP_DSS_COLOR_RGB16, OMAP_DSS_COLOR_RGB24U,
> +	OMAP_DSS_COLOR_RGB24P, OMAP_DSS_COLOR_YUV2,
> +	OMAP_DSS_COLOR_UYVY),
>  };

[snip]

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list