[PATCH 6/9] drm: move drm_mode_legacy_fb_format to drm_fourcc.c

Archit Taneja architt at codeaurora.org
Thu Aug 25 12:25:32 UTC 2016



On 08/18/2016 02:26 AM, Daniel Vetter wrote:
> It's part of the drm fourcc handling code, mapping the old depth/bpp
> values to new fourcc codes.

Reviewed-by: Archit Taneja <architt at codeaurora.org>
>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>   drivers/gpu/drm/drm_crtc.c   | 43 -------------------------------------------
>   drivers/gpu/drm/drm_fourcc.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>   include/drm/drm_crtc.h       |  2 --
>   include/drm/drm_fourcc.h     |  1 +
>   4 files changed, 44 insertions(+), 45 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index d7f68ec049d1..27b49ad0989b 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -1666,49 +1666,6 @@ int drm_mode_cursor2_ioctl(struct drm_device *dev,
>   	return drm_mode_cursor_common(dev, req, file_priv);
>   }
>
> -/**
> - * drm_mode_legacy_fb_format - compute drm fourcc code from legacy description
> - * @bpp: bits per pixels
> - * @depth: bit depth per pixel
> - *
> - * Computes a drm fourcc pixel format code for the given @bpp/@depth values.
> - * Useful in fbdev emulation code, since that deals in those values.
> - */
> -uint32_t drm_mode_legacy_fb_format(uint32_t bpp, uint32_t depth)
> -{
> -	uint32_t fmt;
> -
> -	switch (bpp) {
> -	case 8:
> -		fmt = DRM_FORMAT_C8;
> -		break;
> -	case 16:
> -		if (depth == 15)
> -			fmt = DRM_FORMAT_XRGB1555;
> -		else
> -			fmt = DRM_FORMAT_RGB565;
> -		break;
> -	case 24:
> -		fmt = DRM_FORMAT_RGB888;
> -		break;
> -	case 32:
> -		if (depth == 24)
> -			fmt = DRM_FORMAT_XRGB8888;
> -		else if (depth == 30)
> -			fmt = DRM_FORMAT_XRGB2101010;
> -		else
> -			fmt = DRM_FORMAT_ARGB8888;
> -		break;
> -	default:
> -		DRM_ERROR("bad bpp, assuming x8r8g8b8 pixel format\n");
> -		fmt = DRM_FORMAT_XRGB8888;
> -		break;
> -	}
> -
> -	return fmt;
> -}
> -EXPORT_SYMBOL(drm_mode_legacy_fb_format);
> -
>   static bool drm_property_type_valid(struct drm_property *property)
>   {
>   	if (property->flags & DRM_MODE_PROP_EXTENDED_TYPE)
> diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c
> index c81546c15c93..29c56b4331e0 100644
> --- a/drivers/gpu/drm/drm_fourcc.c
> +++ b/drivers/gpu/drm/drm_fourcc.c
> @@ -36,6 +36,49 @@ static char printable_char(int c)
>   }
>
>   /**
> + * drm_mode_legacy_fb_format - compute drm fourcc code from legacy description
> + * @bpp: bits per pixels
> + * @depth: bit depth per pixel
> + *
> + * Computes a drm fourcc pixel format code for the given @bpp/@depth values.
> + * Useful in fbdev emulation code, since that deals in those values.
> + */
> +uint32_t drm_mode_legacy_fb_format(uint32_t bpp, uint32_t depth)
> +{
> +	uint32_t fmt;
> +
> +	switch (bpp) {
> +	case 8:
> +		fmt = DRM_FORMAT_C8;
> +		break;
> +	case 16:
> +		if (depth == 15)
> +			fmt = DRM_FORMAT_XRGB1555;
> +		else
> +			fmt = DRM_FORMAT_RGB565;
> +		break;
> +	case 24:
> +		fmt = DRM_FORMAT_RGB888;
> +		break;
> +	case 32:
> +		if (depth == 24)
> +			fmt = DRM_FORMAT_XRGB8888;
> +		else if (depth == 30)
> +			fmt = DRM_FORMAT_XRGB2101010;
> +		else
> +			fmt = DRM_FORMAT_ARGB8888;
> +		break;
> +	default:
> +		DRM_ERROR("bad bpp, assuming x8r8g8b8 pixel format\n");
> +		fmt = DRM_FORMAT_XRGB8888;
> +		break;
> +	}
> +
> +	return fmt;
> +}
> +EXPORT_SYMBOL(drm_mode_legacy_fb_format);
> +
> +/**
>    * drm_get_format_name - return a string for drm fourcc format
>    * @format: format to compute name of
>    *
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 1abcc182e92b..f5e51e5e9724 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -2135,8 +2135,6 @@ extern int drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
>
>   extern int drm_mode_set_config_internal(struct drm_mode_set *set);
>
> -extern uint32_t drm_mode_legacy_fb_format(uint32_t bpp, uint32_t depth);
> -
>   extern struct drm_tile_group *drm_mode_create_tile_group(struct drm_device *dev,
>   							 char topology[8]);
>   extern struct drm_tile_group *drm_mode_get_tile_group(struct drm_device *dev,
> diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h
> index b106337de1bf..30c30fa87ee8 100644
> --- a/include/drm/drm_fourcc.h
> +++ b/include/drm/drm_fourcc.h
> @@ -25,6 +25,7 @@
>   #include <linux/types.h>
>   #include <uapi/drm/drm_fourcc.h>
>
> +uint32_t drm_mode_legacy_fb_format(uint32_t bpp, uint32_t depth);
>   void drm_fb_get_bpp_depth(uint32_t format, unsigned int *depth, int *bpp);
>   int drm_format_num_planes(uint32_t format);
>   int drm_format_plane_cpp(uint32_t format, int plane);
>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the dri-devel mailing list