Skip to content

Commit 9463b64

Browse files
Kuogee Hsiehrobclark
authored andcommitted
drm/msm/dp: only signal audio when disconnected detected at dp_pm_resume
Currently there is audio not working problem after system resume from suspend if hdmi monitor stay plugged in at DUT. However this problem does not happen at normal operation but at a particular test case. The root cause is DP driver signal audio with connected state at resume which trigger audio trying to setup audio data path through DP main link but failed due to display port is not setup and enabled by upper layer framework yet. This patch only have DP driver signal audio only when DP is in disconnected state so that audio option shows correct state after system resume. DP driver will not signal audio with connected state until display enabled executed by upper layer framework where display port is setup completed and main link is running. Changes in V2: -- add details commit text Fixes: afc9b8b ("drm/msm/dp: signal audio plugged change at dp_pm_resume") Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/1632932224-25102-1-git-send-email-khsieh@codeaurora.org Signed-off-by: Rob Clark <robdclark@chromium.org>
1 parent 95c5829 commit 9463b64

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

drivers/gpu/drm/msm/dp/dp_display.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,14 +1309,14 @@ static int dp_pm_resume(struct device *dev)
13091309
* can not declared display is connected unless
13101310
* HDMI cable is plugged in and sink_count of
13111311
* dongle become 1
1312+
* also only signal audio when disconnected
13121313
*/
1313-
if (dp->link->sink_count)
1314+
if (dp->link->sink_count) {
13141315
dp->dp_display.is_connected = true;
1315-
else
1316+
} else {
13161317
dp->dp_display.is_connected = false;
1317-
1318-
dp_display_handle_plugged_change(g_dp_display,
1319-
dp->dp_display.is_connected);
1318+
dp_display_handle_plugged_change(g_dp_display, false);
1319+
}
13201320

13211321
DRM_DEBUG_DP("After, sink_count=%d is_connected=%d core_inited=%d power_on=%d\n",
13221322
dp->link->sink_count, dp->dp_display.is_connected,

0 commit comments

Comments
 (0)