From: Zheng Yang Date: Thu, 16 Aug 2012 09:45:11 +0000 (+0800) Subject: rk30 hdmi: X-Git-Tag: firefly_0821_release~8922^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ab49eaa2e0f709eb6cbee3e9deee351f49901f01;p=firefly-linux-kernel-4.4.55.git rk30 hdmi: 1. Need not take tmds_clk pull up to 3.3V as a hdmi connection condition. 2. When parse unkown edid extensions, return false and set it as a hdmi sink. --- diff --git a/drivers/video/rockchip/hdmi/rk30_hdmi_edid.c b/drivers/video/rockchip/hdmi/rk30_hdmi_edid.c index 9fec195fea3c..7a25775493e1 100755 --- a/drivers/video/rockchip/hdmi/rk30_hdmi_edid.c +++ b/drivers/video/rockchip/hdmi/rk30_hdmi_edid.c @@ -345,8 +345,8 @@ static int hdmi_edid_parse_extensions(unsigned char *buf, struct hdmi_edid *pedi hdmi_edid_debug("[EDID-EXTEND] It is a Digital Packet Video Link Extension.\n"); break; default: - hdmi_edid_debug("[EDID-EXTEND] Unkowned extension.\n"); - break; + hdmi_edid_error("[EDID-EXTEND] Unkowned extension.\n"); + return E_HDMI_EDID_UNKOWNDATA; } return E_HDMI_EDID_SUCCESS; diff --git a/drivers/video/rockchip/hdmi/rk30_hdmi_hw.c b/drivers/video/rockchip/hdmi/rk30_hdmi_hw.c index 8cb76ebfb14d..90bade5ae1bb 100755 --- a/drivers/video/rockchip/hdmi/rk30_hdmi_hw.c +++ b/drivers/video/rockchip/hdmi/rk30_hdmi_hw.c @@ -61,6 +61,8 @@ int rk30_hdmi_detect_hotplug(void) int value = HDMIRdReg(HPD_MENS_STA); hdmi_dbg(hdmi->dev, "[%s] value %02x\n", __FUNCTION__, value); + #if 0 + // When HPD and TMDS_CLK was high, HDMI is actived. value &= m_HOTPLUG_STATUS | m_MSEN_STATUS; if(value == (m_HOTPLUG_STATUS | m_MSEN_STATUS) ) return HDMI_HPD_ACTIVED; @@ -68,6 +70,15 @@ int rk30_hdmi_detect_hotplug(void) return HDMI_HPD_INSERT; else return HDMI_HPD_REMOVED; + #else + // When HPD was high, HDMI is actived. + if(value & m_HOTPLUG_STATUS) + return HDMI_HPD_ACTIVED; + else if(value & m_MSEN_STATUS) + return HDMI_HPD_INSERT; + else + return HDMI_HPD_REMOVED; + #endif } #define HDMI_EDID_DDC_CLK 90000