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