[PATCH v2] drm/msm/dp: signal audio plugged change at dp_pm_resume
Stephen Boyd
swboyd at chromium.org
Mon Jul 26 22:26:15 UTC 2021
Quoting Kuogee Hsieh (2021-07-23 09:55:39)
> There is a scenario that dp cable is unplugged from DUT during system
> suspended will cause audio option state does not match real connection
> state. Fix this problem by Signaling audio plugged change with realtime
> connection status at dp_pm_resume() so that audio option will be in
> correct state after system resumed.
>
> Changes in V2:
> -- correct Fixes tag commit id.
>
> Fixes: f591dbb5fb8c ("drm/msm/dp: power off DP phy at suspend")
> Signed-off-by: Kuogee Hsieh <khsieh at codeaurora.org>
> Reviewed-by: Stephen Boyd <swboyd at chromium.org>
> ---
> drivers/gpu/drm/msm/dp/dp_display.c | 4 ++++
> 1 file changed, 4 insertions(+)
I noticed that with or without this patch I still have a problem with an
apple dongle where if I leave the dongle connected but unplug the HDMI
cable during suspend the audio device is still there when I resume. The
display looks to be connected in that case too, according to modetest. I
don't know if you want to roll that into this patch or make another
follow-up patch to fix it, but it seems like the sink count isn't
updated on resume? Did commit f591dbb5fb8c break a bunch of logic in
here because now the link is powered down properly and so sink_count
isn't updated properly?
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
> index 78c5301..2b660e9 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -1339,6 +1339,10 @@ static int dp_pm_resume(struct device *dev)
> else
> dp->dp_display.is_connected = false;
>
> + dp_display_handle_plugged_change(g_dp_display,
> + dp->dp_display.is_connected);
> +
> +
There's also a double newline here that we should probably remove.
> mutex_unlock(&dp->event_mutex);
>
> return 0;
More information about the dri-devel
mailing list