eDP implementation does not reuried to support hpd signal. Therefore it only has either ST_DISPLAY_OFF or ST_CONNECTED state during normal operation. This patch remove unnecessary dp_hpd_unplug_handle() for eDP but still keep dp_hpd_plug_handle() to support eDP to either booting up or resume from ST_DISCONNECTED state. Fixes: 391c96ff0555 ("drm/msm/dp: Support only IRQ_HPD and REPLUG interrupts for eDP") Signed-off-by: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx> --- drivers/gpu/drm/msm/dp/dp_display.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index da5c03a..ef9794e 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1666,7 +1666,7 @@ void dp_bridge_enable(struct drm_bridge *drm_bridge) return; } - if (dp->is_edp) + if (dp->is_edp && dp_display->hpd_state == ST_DISCONNECTED) dp_hpd_plug_handle(dp_display, 0); mutex_lock(&dp_display->event_mutex); @@ -1737,9 +1737,6 @@ void dp_bridge_post_disable(struct drm_bridge *drm_bridge) dp_display = container_of(dp, struct dp_display_private, dp_display); - if (dp->is_edp) - dp_hpd_unplug_handle(dp_display, 0); - mutex_lock(&dp_display->event_mutex); state = dp_display->hpd_state; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project