drm/bridge: analogix_dp: Fix YCbCr Coefficients

Signed-off-by: Wyon bi <bivvy.bi@rock-chips.com>
Change-Id: If560fd514a2c946abcca35a5bbc18edf051cea5b
This commit is contained in:
Wyon bi
2022-01-26 18:52:47 +08:00
committed by Wyon Bi
parent eb1afc1397
commit 9159680c50

View File

@@ -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