[PATCH] drm/msm/dp: no dp_hpd_unplug_handle() required for eDP

From: Kuogee Hsieh
Date: Thu Jun 23 2022 - 19:34:32 EST


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