From 9159680c506782e5acd73a9db6deda8ce073cb1e Mon Sep 17 00:00:00 2001 From: Wyon bi Date: Wed, 26 Jan 2022 18:52:47 +0800 Subject: [PATCH] drm/bridge: analogix_dp: Fix YCbCr Coefficients Signed-off-by: Wyon bi Change-Id: If560fd514a2c946abcca35a5bbc18edf051cea5b --- .../drm/bridge/analogix/analogix_dp_core.c | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8c11cb113e69..be7e6b2cf699 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1382,16 +1382,12 @@ static void analogix_dp_bridge_mode_set(struct drm_bridge *bridge, /* Input video dynamic_range & colorimetry */ vic = drm_match_cea_mode(mode); if ((vic == 6) || (vic == 7) || (vic == 21) || (vic == 22) || - (vic == 2) || (vic == 3) || (vic == 17) || (vic == 18)) { + (vic == 2) || (vic == 3) || (vic == 17) || (vic == 18)) video->dynamic_range = CEA; - video->ycbcr_coeff = COLOR_YCBCR601; - } else if (vic) { + else if (vic) video->dynamic_range = CEA; - video->ycbcr_coeff = COLOR_YCBCR709; - } else { + else video->dynamic_range = VESA; - video->ycbcr_coeff = COLOR_YCBCR709; - } /* Input vide bpc and color_formats */ switch (display_info->bpc) { @@ -1411,14 +1407,16 @@ static void analogix_dp_bridge_mode_set(struct drm_bridge *bridge, video->color_depth = COLOR_8; break; } - if (display_info->color_formats & DRM_COLOR_FORMAT_YCRCB444) + if (display_info->color_formats & DRM_COLOR_FORMAT_YCRCB444) { video->color_space = COLOR_YCBCR444; - else if (display_info->color_formats & DRM_COLOR_FORMAT_YCRCB422) + video->ycbcr_coeff = COLOR_YCBCR709; + } else if (display_info->color_formats & DRM_COLOR_FORMAT_YCRCB422) { video->color_space = COLOR_YCBCR422; - else if (display_info->color_formats & DRM_COLOR_FORMAT_RGB444) - video->color_space = COLOR_RGB; - else + video->ycbcr_coeff = COLOR_YCBCR709; + } else { video->color_space = COLOR_RGB; + video->ycbcr_coeff = COLOR_YCBCR601; + } /* * NOTE: those property parsing code is used for providing backward