[PATCH 03/11] drm: parse ycbcr 420 vdb block

Ville Syrjälä ville.syrjala at linux.intel.com
Mon May 8 16:24:35 UTC 2017


On Fri, Apr 07, 2017 at 07:39:20PM +0300, Shashank Sharma wrote:
> From: Jose Abreu <jose.abreu at synopsys.com>
> 
> HDMI 2.0 spec adds support for ycbcr420 subsampled output.
> CEA-861-F adds two new blocks in EDID, to provide information about
> sink's support for ycbcr420 output.
> 
> These new blocks are:
> - ycbcr420 video data (vdb) block: video modes which can be supported
>   only in ycbcr420 output mode.
> - ycbcr420 video capability data (vcb) block: video modes which can be
>   support in ycbcr420 output mode also (along with RGB, YCBCR 444/422 etc)
> 
> This patch adds parsing and handling of ycbcr420-vdb in the DRM
> layer.
> 
> This patch is a modified version of Jose's RFC patch:
> https://patchwork.kernel.org/patch/9492327/
> so the authorship is maintained.
> 
> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> Signed-off-by: Jose Abreu <joabreu at synopsys.com>
> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
> ---
>  drivers/gpu/drm/drm_edid.c  | 54 +++++++++++++++++++++++++++++++++++++++++++--
>  drivers/gpu/drm/drm_modes.c | 10 +++++++--
>  include/drm/drm_connector.h |  1 +
>  include/uapi/drm/drm_mode.h |  6 +++++
>  4 files changed, 67 insertions(+), 4 deletions(-)
<snip>
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 4eeda12..cef76b2 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -199,6 +199,7 @@ struct drm_display_info {
>  #define DRM_COLOR_FORMAT_RGB444		(1<<0)
>  #define DRM_COLOR_FORMAT_YCRCB444	(1<<1)
>  #define DRM_COLOR_FORMAT_YCRCB422	(1<<2)
> +#define DRM_COLOR_FORMAT_YCRCB420	(1<<2)
>  
>  	/**
>  	 * @color_formats: HDMI Color formats, selects between RGB and YCrCb
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 8c67fc0..1e74d8e 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -84,6 +84,12 @@ extern "C" {
>  #define  DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH	(6<<14)
>  #define  DRM_MODE_FLAG_3D_TOP_AND_BOTTOM	(7<<14)
>  #define  DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF	(8<<14)
> +/*
> + * HDMI 2.0
> + */
> +#define DRM_MODE_FLAG_420_MASK			(0x03<<23)
> +#define  DRM_MODE_FLAG_420			(1<<23)
> +#define  DRM_MODE_FLAG_420_ONLY			(1<<24)

Adding those would again break the uabi. We can't add new mode flags
without some kind of client cap. But I think we agreed that new user
space visible mode flags aren't needed, and instad we can keep it all
internal?

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list