[Freedreno] [PATCH] drm/msm/dp: do not notify audio subsystem if sink doesn't support audio
abhinavk at codeaurora.org
abhinavk at codeaurora.org
Mon Nov 2 22:43:33 UTC 2020
Hi Stephen
Thanks for the review.
On 2020-11-02 13:19, Stephen Boyd wrote:
> 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?
This is an unhandled corner case ( VGA dongle ) for DP audio and will
make
sure we do not switch audio output from primary to external when
connected to
a sink which does not support audio.
I thought of adding a fixes tag pointing to
https://patchwork.freedesktop.org/patch/390236/.
But at the same time, thought this can go in as a standlone patch as
well.
If you think its required, I will add the fixes tag pointing to the base
audio 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?
g_dp_display is the global dp_display pointer in the dp_display.c file.
It does 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.
Ok, will do ...
>
>> + }
>> }
>>
>> static int dp_hpd_unplug_handle(struct dp_display_private *dp, u32
>> data)
> _______________________________________________
> Freedreno mailing list
> Freedreno at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/freedreno
More information about the Freedreno
mailing list