summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c16
-rw-r--r--drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c4
-rw-r--r--include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h1
3 files changed, 18 insertions, 3 deletions
diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c
index c2a2fd6..bdc0d6b 100644
--- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c
+++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c
@@ -646,6 +646,8 @@ static irqreturn_t intr_handler(int irq, void *dev)
}
/* HPD rising */
if (data32 & (1 << 1)) {
+ queue_delayed_work(hdev->hdmi_wq,
+ &hdev->work_aud_hpd_plug, HZ / 2);
hdev->hdmitx_event |= HDMI_TX_HPD_PLUGIN;
hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT;
queue_delayed_work(hdev->hdmi_wq,
@@ -653,6 +655,8 @@ static irqreturn_t intr_handler(int irq, void *dev)
}
/* HPD falling */
if (data32 & (1 << 2)) {
+ queue_delayed_work(hdev->hdmi_wq,
+ &hdev->work_aud_hpd_plug, 2 * HZ);
hdev->hdmitx_event |= HDMI_TX_HPD_PLUGOUT;
hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGIN;
queue_delayed_work(hdev->hdmi_wq,