diff options
-rw-r--r-- | drivers/video/mxc/mxc_hdmi.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/video/mxc/mxc_hdmi.c b/drivers/video/mxc/mxc_hdmi.c index 75825092b731..53ffdcfc8fd0 100644 --- a/drivers/video/mxc/mxc_hdmi.c +++ b/drivers/video/mxc/mxc_hdmi.c @@ -84,6 +84,14 @@ static int only_cea; module_param(only_cea, bool, 0644); MODULE_PARM_DESC(only_cea, "Allow only CEA modes"); +#if 0 +/* rely solely on the HPD pin for hot plug detection */ +#undef HDMI_DVI_STAT +#define HDMI_DVI_STAT 2 + +#undef HDMI_DVI_IH_STAT +#define HDMI_DVI_IH_STAT 1 +#endif /* * We follow a flowchart which is in the "Synopsys DesignWare Courses * HDMI Transmitter Controller User Guide, 1.30a", section 3.1 @@ -948,7 +956,7 @@ static u8 hdmi_edid_i2c_read(struct mxc_hdmi *hdmi, static int keepalive=1; module_param(keepalive, int, 0644); -MODULE_PARM_DESC(keepalive, "Allow only CEA modes"); +MODULE_PARM_DESC(keepalive, "Keep HDMI alive (don't detect disconnect)"); /* "Power-down enable (active low)" * That mean that power up == 1! */ @@ -2017,7 +2025,7 @@ static void hotplug_worker(struct work_struct *work) mxc_hdmi_cec_handle(0x80); #endif if (keepalive) - hdmi_writeb(HDMI_DVI_STAT, HDMI_PHY_POL0); + hdmi_writeb(HDMI_DVI_STAT, HDMI_PHY_POL0); isalive=1; } else if (!keepalive) { /* Plugout event */ @@ -2038,7 +2046,7 @@ static void hotplug_worker(struct work_struct *work) * completed before next interrupt processed */ spin_lock_irqsave(&hdmi->irq_lock, flags); - if (!(keepalive || isalive)) { + if (!(keepalive && isalive)) { /* Re-enable HPD interrupts */ hdmi_phy_mask0 = hdmi_readb(HDMI_PHY_MASK0); hdmi_phy_mask0 &= ~HDMI_DVI_STAT; |