[PATCH] drm/msm/dp: do not notify audio subsystem if sink doesn't support audio

Stephen Boyd swboyd at chromium.org
Mon Nov 2 21:19:54 UTC 2020


Quoting Abhinav Kumar (2020-10-29 13:55:09)
> For sinks that do not support audio, there is no need to notify
> audio subsystem of the connection event.
> 
> This will make sure that audio routes only to the primary display
> when connected to such sinks.
> 

Does this need a Fixes tag? Or it's just an optimization patch?

> Signed-off-by: Abhinav Kumar <abhinavk at codeaurora.org>
> ---
>  drivers/gpu/drm/msm/dp/dp_display.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
> index 4a5735564be2..d970980b0ca5 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -555,8 +555,16 @@ static int dp_connect_pending_timeout(struct dp_display_private *dp, u32 data)
>  static void dp_display_handle_plugged_change(struct msm_dp *dp_display,
>                 bool plugged)
>  {
> -       if (dp_display->plugged_cb && dp_display->codec_dev)
> -               dp_display->plugged_cb(dp_display->codec_dev, plugged);
> +       struct dp_display_private *dp;
> +
> +       dp = container_of(g_dp_display,

What is g_dp_display? I guess this doesn't compile?

> +                       struct dp_display_private, dp_display);
> +
> +       if (dp_display->plugged_cb && dp_display->codec_dev) {
> +               /* notify audio subsystem only if sink supports audio */
> +               if (dp->audio_supported)

Can we combine this into the above if statement?

> +                       dp_display->plugged_cb(dp_display->codec_dev, plugged);

Then this isn't as nested.

> +       }
>  }
>  
>  static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32 data)


More information about the dri-devel mailing list