|
Thomas Zimmermann |
a04af7 |
From bc551d776b691022f49b5bb5379bd58f7c4eb76a Mon Sep 17 00:00:00 2001
|
|
Thomas Zimmermann |
a04af7 |
From: Jonathan Liu <net147@gmail.com>
|
|
Thomas Zimmermann |
a04af7 |
Date: Sat, 31 Oct 2020 19:17:47 +1100
|
|
Thomas Zimmermann |
a04af7 |
Subject: drm: bridge: dw-hdmi: Avoid resetting force in the detect function
|
|
Thomas Zimmermann |
a04af7 |
Git-commit: bc551d776b691022f49b5bb5379bd58f7c4eb76a
|
|
Thomas Zimmermann |
a04af7 |
Patch-mainline: v5.10-rc5
|
|
Thomas Zimmermann |
a04af7 |
References: bsc#1129770
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
It has been observed that resetting force in the detect function can
|
|
Thomas Zimmermann |
a04af7 |
result in the PHY being powered down in response to hot-plug detect
|
|
Thomas Zimmermann |
a04af7 |
being asserted, even when the HDMI connector is forced on.
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
Enabling debug messages and adding a call to dump_stack() in
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_phy_power_off() shows the following in dmesg:
|
|
Thomas Zimmermann |
a04af7 |
[ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin
|
|
Thomas Zimmermann |
a04af7 |
[ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
Call trace:
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_phy_power_off
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_phy_disable
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_update_power
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_detect
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_connector_detect
|
|
Thomas Zimmermann |
a04af7 |
drm_helper_probe_detect_ctx
|
|
Thomas Zimmermann |
a04af7 |
drm_helper_hpd_irq_event
|
|
Thomas Zimmermann |
a04af7 |
dw_hdmi_irq
|
|
Thomas Zimmermann |
a04af7 |
irq_thread_fn
|
|
Thomas Zimmermann |
a04af7 |
irq_thread
|
|
Thomas Zimmermann |
a04af7 |
kthread
|
|
Thomas Zimmermann |
a04af7 |
ret_from_fork
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing")
|
|
Thomas Zimmermann |
a04af7 |
Signed-off-by: Jonathan Liu <net147@gmail.com>
|
|
Thomas Zimmermann |
a04af7 |
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
|
|
Thomas Zimmermann |
a04af7 |
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
|
|
Thomas Zimmermann |
a04af7 |
Link: https://patchwork.freedesktop.org/patch/msgid/20201031081747.372599-1-net147@gmail.com
|
|
Thomas Zimmermann |
a04af7 |
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Thomas Zimmermann |
a04af7 |
---
|
|
Thomas Zimmermann |
a04af7 |
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ------
|
|
Thomas Zimmermann |
a04af7 |
1 file changed, 6 deletions(-)
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
|
|
Thomas Zimmermann |
a04af7 |
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
|
|
Thomas Zimmermann |
a04af7 |
@@ -1906,12 +1906,6 @@ dw_hdmi_connector_detect(struct drm_conn
|
|
Thomas Zimmermann |
a04af7 |
struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
|
|
Thomas Zimmermann |
a04af7 |
connector);
|
|
Thomas Zimmermann |
a04af7 |
|
|
Thomas Zimmermann |
a04af7 |
- mutex_lock(&hdmi->mutex);
|
|
Thomas Zimmermann |
a04af7 |
- hdmi->force = DRM_FORCE_UNSPECIFIED;
|
|
Thomas Zimmermann |
a04af7 |
- dw_hdmi_update_power(hdmi);
|
|
Thomas Zimmermann |
a04af7 |
- dw_hdmi_update_phy_mask(hdmi);
|
|
Thomas Zimmermann |
a04af7 |
- mutex_unlock(&hdmi->mutex);
|
|
Thomas Zimmermann |
a04af7 |
-
|
|
Thomas Zimmermann |
a04af7 |
return hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
|
|
Thomas Zimmermann |
a04af7 |
}
|
|
Thomas Zimmermann |
a04af7 |
|