diff options
author | Jilai Wang <jilaiw@codeaurora.org> | 2014-12-01 15:12:23 -0500 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2014-12-18 14:32:15 -0500 |
commit | ff2f974e5c9d6b67444364605c758a9707edf1ca (patch) | |
tree | 8e4f791fe76fefac13e50351e3796f5b84fb8f95 /drivers/gpu/drm/msm/hdmi | |
parent | e6d7a16f5ff7d048fbf4b4791825f5b91ebe21ab (diff) | |
download | lwn-ff2f974e5c9d6b67444364605c758a9707edf1ca.tar.gz lwn-ff2f974e5c9d6b67444364605c758a9707edf1ca.zip |
drm/msm/hdmi: rework HDMI IRQ handler
Disable the HPD interrupt when acking it, to avoid spurious
interrupt.
Signed-off-by: Jilai Wang <jilaiw@codeaurora.org>
Diffstat (limited to 'drivers/gpu/drm/msm/hdmi')
-rw-r--r-- | drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c index 08eaee37a37f..b4e70e0e3cfa 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c @@ -251,11 +251,11 @@ void hdmi_connector_irq(struct drm_connector *connector) (hpd_int_status & HDMI_HPD_INT_STATUS_INT)) { bool detected = !!(hpd_int_status & HDMI_HPD_INT_STATUS_CABLE_DETECTED); - DBG("status=%04x, ctrl=%04x", hpd_int_status, hpd_int_ctrl); - - /* ack the irq: */ + /* ack & disable (temporarily) HPD events: */ hdmi_write(hdmi, REG_HDMI_HPD_INT_CTRL, - hpd_int_ctrl | HDMI_HPD_INT_CTRL_INT_ACK); + HDMI_HPD_INT_CTRL_INT_ACK); + + DBG("status=%04x, ctrl=%04x", hpd_int_status, hpd_int_ctrl); /* detect disconnect if we are connected or visa versa: */ hpd_int_ctrl = HDMI_HPD_INT_CTRL_INT_EN; |