[PATCH 42/45] drm/msm/dp: mark ST_DISCONNECTED only if all streams are disabled

From: Abhinav Kumar
Date: Thu Dec 05 2024 - 23:42:00 EST


HPD state machine assumes only one active stream. Fix it to account
for both while marking the state of the hpd as disconnected.

Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
---
drivers/gpu/drm/msm/dp/dp_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index caac0cd3ec94e7be1389d8129fbd506998cf77da..528cda1453a85f5f8dd37bb0d2366548016c88e4 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1890,7 +1890,7 @@ void msm_dp_display_atomic_post_disable_helper(struct msm_dp *dp, struct msm_dp_
msm_dp_display_disable(msm_dp_display, msm_dp_panel);

state = msm_dp_display->hpd_state;
- if (state == ST_DISCONNECT_PENDING) {
+ if (state == ST_DISCONNECT_PENDING && !msm_dp_display->active_stream_cnt) {
/* completed disconnection */
msm_dp_display->hpd_state = ST_DISCONNECTED;
}

--
2.34.1