summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorSandor Yu <R01008@freescale.com>2012-07-04 18:29:11 +0800
committerTerry Lv <r65388@freescale.com>2012-07-25 13:11:03 +0800
commit5efaf07dc8e27842c638a65064569f88e96059d6 (patch)
tree361bb599fd22c9dcb01f04e48dd4d711cd6b0b40 /drivers/video
parentbb4f8439d51e4b94d184dbaf621aab0f5d6ff300 (diff)
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 <R01008@freescale.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/mxc_hdmi.c20
1 files 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;