From 01c37928eb37f00d11d1bca4e0f7da6fbcbe1ee1 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Fri, 15 Feb 2019 09:49:16 +0800 Subject: [PATCH] drm: rockchip: dw-hdmi: fix rk3288 hdmi check YCbCr420 error For platforms that do not support YCbCr420 output, it is not enough to check only the pixel clock. Change-Id: I0113ffb18aa4667384c621c4e80de2b68e4e8469 Signed-off-by: Zheng Yang --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index 5d6f50779fd6..a13e30fe9e2a 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -488,11 +488,13 @@ dw_hdmi_rockchip_mode_valid(struct drm_connector *connector, return MODE_BAD; /* * If sink max TMDS clock < 340MHz, we should check the mode pixel - * clock > 340MHz is YCbCr420 or not. + * clock > 340MHz is YCbCr420 or not and whether the platform supports + * YCbCr420. */ if (mode->clock > 340000 && connector->display_info.max_tmds_clock < 340000 && - !drm_mode_is_420(&connector->display_info, mode)) + (!drm_mode_is_420(&connector->display_info, mode) || + !connector->ycbcr_420_allowed)) return MODE_BAD; if (!encoder) {