aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/hdmi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 87d48ece233..05144ef758f 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -1106,6 +1106,16 @@ bool omapdss_hdmi_is_detected(struct omap_dss_device *dssdev, bool force)
r = hdmi_read_reg(HDMI_CORE_SYS_SYS_STAT);
+ /* Some annoying LG monitors will report that's disconnected
+ * right after reporting it's connected, so try again if probe
+ * failed and force is enabled */
+ if (!(r & 0x2) && (force)) {
+ DSSDBG("Fail to detect the connector and force is enabled, "
+ "trying at least one more time\n");
+ msleep(2000);
+ r = hdmi_read_reg(HDMI_CORE_SYS_SYS_STAT);
+ }
+
return !!(r & 0x2);
}