From 44c3f4e1610ae57256d0df5923c575dcddf072f0 Mon Sep 17 00:00:00 2001 From: Sandor Yu Date: Wed, 4 Jul 2012 18:29:11 +0800 Subject: [PATCH] ENGR00215722 HDMI HCT: Pass TestID:7-33 interoperability with DVI Check HDMI VSDB block, only enable HDMI output when EDID with HDMI VSDB block, enable DVI output when EDID with no HDMI VSDB. Signed-off-by: Sandor Yu --- drivers/video/mxc_hdmi.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c index 362018ebdff0..4bc3f9ac1612 100644 --- a/drivers/video/mxc_hdmi.c +++ b/drivers/video/mxc_hdmi.c @@ -1892,7 +1892,12 @@ static void mxc_hdmi_setup(struct mxc_hdmi *hdmi, unsigned long event) hdmi->hdmi_data.video_mode.mDVI = true; } else { dev_dbg(&hdmi->pdev->dev, "CEA mode used vic=%d\n", hdmi->vic); - hdmi->hdmi_data.video_mode.mDVI = false; + if (hdmi->edid_cfg.hdmi_cap) + hdmi->hdmi_data.video_mode.mDVI = false; + else { + dev_dbg(&hdmi->pdev->dev, "CEA mode vic=%d work in DVI\n", hdmi->vic); + hdmi->hdmi_data.video_mode.mDVI = true; + } } if ((hdmi->vic == 6) || (hdmi->vic == 7) || @@ -1922,13 +1927,12 @@ static void mxc_hdmi_setup(struct mxc_hdmi *hdmi, unsigned long event) hdmi->hdmi_data.enc_out_format = RGB; /*DVI mode not support non-RGB */ - if (!hdmi->hdmi_data.video_mode.mDVI) - if (hdmi->edid_cfg.hdmi_cap) { - if (hdmi->edid_cfg.cea_ycbcr444) - hdmi->hdmi_data.enc_out_format = YCBCR444; - else if (hdmi->edid_cfg.cea_ycbcr422) - hdmi->hdmi_data.enc_out_format = YCBCR422_8BITS; - } + if (!hdmi->hdmi_data.video_mode.mDVI) { + if (hdmi->edid_cfg.cea_ycbcr444) + hdmi->hdmi_data.enc_out_format = YCBCR444; + else if (hdmi->edid_cfg.cea_ycbcr422) + hdmi->hdmi_data.enc_out_format = YCBCR422_8BITS; + } /* IPU not support depth color output */ hdmi->hdmi_data.enc_color_depth = 8; -- 2.39.5