From d0d10afbd1366e240e69f9486c4dca4224a49c65 Mon Sep 17 00:00:00 2001 From: Alex Bee Date: Mon, 25 Oct 2021 20:04:20 +0200 Subject: [PATCH] Rockchip: linux: rework CEC-fix --- .../patches/linux/default/linux-1000-drm-rockchip.patch | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch b/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch index 6510c147ce..27fa7fbfb7 100644 --- a/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch +++ b/projects/Rockchip/patches/linux/default/linux-1000-drm-rockchip.patch @@ -3674,7 +3674,7 @@ depending on sink's implementation. Signed-off-by: Alex Bee --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index d798846579f5..184a4a47558e 100644 @@ -3700,13 +3700,14 @@ index d798846579f5..184a4a47558e 100644 if (intr_stat & HDMI_IH_PHY_STAT0_HPD) { enum drm_connector_status status = phy_int_pol & HDMI_PHY_HPD ? connector_status_connected -@@ -3077,6 +3070,13 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) +@@ -3077,6 +3070,14 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) drm_helper_hpd_irq_event(hdmi->bridge.dev); drm_bridge_hpd_notify(&hdmi->bridge, status); } + + if (status == connector_status_disconnected && -+ (phy_stat & HDMI_PHY_RX_SENSE)) { ++ (phy_stat & HDMI_PHY_RX_SENSE) && ++ (phy_int_pol & HDMI_PHY_RX_SENSE)) { + mutex_lock(&hdmi->cec_notifier_mutex); + cec_notifier_phys_addr_invalidate(hdmi->cec_notifier); + mutex_unlock(&hdmi->cec_notifier_mutex);