drm: bridge/dw_hdmi: check is_hdmi2 in hdmi_config_AVI
authorZheng Yang <zhengyang@rock-chips.com>
Mon, 27 Mar 2017 03:32:45 +0000 (11:32 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 29 Mar 2017 02:50:04 +0000 (10:50 +0800)
If a display support HDMI2.0, it must support SCDC or YCbCr420.
So we check the connector->scdc_present and mode->flags to
check the connected display is HDMI 2.0.

Change-Id: I3b868d43791089fcdef77f99ec90396553008b9a
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
drivers/gpu/drm/bridge/dw-hdmi.c

index 334bb28630672c6653e22824aa9a449dee488671..d8593bce4e15e95d644a57a6044e85276e14e446 100644 (file)
@@ -1274,9 +1274,13 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
 {
        struct hdmi_avi_infoframe frame;
        u8 val;
+       bool is_hdmi2 = false;
 
+       if ((mode->flags & DRM_MODE_FLAG_420_MASK) ||
+           hdmi->connector.scdc_present)
+               is_hdmi2 = true;
        /* Initialise info frame from DRM mode */
-       drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false);
+       drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, is_hdmi2);
 
        if (hdmi->hdmi_data.enc_out_format == YCBCR444)
                frame.colorspace = HDMI_COLORSPACE_YUV444;