mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 22:53:55 +08:00
drm: bridge: dw-hdmi: Avoid resetting force in the detect function
It has been observed that resetting force in the detect function can
result in the PHY being powered down in response to hot-plug detect
being asserted, even when the HDMI connector is forced on.
Enabling debug messages and adding a call to dump_stack() in
dw_hdmi_phy_power_off() shows the following in dmesg:
[ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin
[ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations
Call trace:
dw_hdmi_phy_power_off
dw_hdmi_phy_disable
dw_hdmi_update_power
dw_hdmi_detect
dw_hdmi_connector_detect
drm_helper_probe_detect_ctx
drm_helper_hpd_irq_event
dw_hdmi_irq
irq_thread_fn
irq_thread
kthread
ret_from_fork
Fixes: 381f05a7a8
("drm: bridge/dw_hdmi: add connector mode forcing")
Signed-off-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20201031081747.372599-1-net147@gmail.com
This commit is contained in:
parent
a6c40b8032
commit
bc551d776b
@ -2327,12 +2327,6 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi)
|
|||||||
{
|
{
|
||||||
enum drm_connector_status result;
|
enum drm_connector_status result;
|
||||||
|
|
||||||
mutex_lock(&hdmi->mutex);
|
|
||||||
hdmi->force = DRM_FORCE_UNSPECIFIED;
|
|
||||||
dw_hdmi_update_power(hdmi);
|
|
||||||
dw_hdmi_update_phy_mask(hdmi);
|
|
||||||
mutex_unlock(&hdmi->mutex);
|
|
||||||
|
|
||||||
result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
|
result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
|
||||||
|
|
||||||
mutex_lock(&hdmi->mutex);
|
mutex_lock(&hdmi->mutex);
|
||||||
|
Loading…
Reference in New Issue
Block a user