Re: [PATCH v2 0/4] ASoC: qcom: display port changes

From: Johan Hovold
Date: Tue Apr 23 2024 - 10:58:38 EST


On Tue, Apr 23, 2024 at 01:38:18PM +0100, Srinivas Kandagatla wrote:
> On 23/04/2024 12:59, Johan Hovold wrote:

> > It looks like your UCM changes are still muxing the speaker and *each*
> > displayport output so that you can only use one device at a time (i.e.
> > only Speaker or DP1 or DP2 can be used).

> that is true.
>
> What is the use-case to use more than one audio sink devices at the same
> time for a laptops?

I can imagine streaming audio and video to a TV (or audio to a soundbar)
over DP while playing systems sounds and doing video conferencing using
the internal speakers (or the other DP port).

> How do you test it? I never tested anything like that on a full desktop
> setup.

You can select the sink per application in pavucontrol. Just verified
that playing audio over the 3.5 mm jack while playing system sounds
using the internal speakers works just fine.

> > As we discussed off list last week, this seems unnecessarily limited and
> > as far as I understood is mostly needed to work around some
> > implementation details (not sure why DP1 and DP2 can't be used in
> > parallel either).
>
> It is absolutely possible to run all the streams in parallel from the
> Audio hardware and DSP point of view.
>
> One thing to note is, On Qualcomm DP IP, we can not read/write registers
> if the DP port is not connected, which means that we can not send data
> in such cases.
>
> This makes it challenging to work with sound-servers like pipewire or
> pulseaudio as they tend to send silence data at very early stages in the
> full system boot up, ignoring state of the Jack events.

This bit sounds like it can and should be worked around by the driver to
avoid hard-coding policy which would prevent use cases such as the ones
mentioned above.

> > Can you please describe the problem here so that we can discuss this
> > before merging an unnecessarily restricted solution which may later be
> > harder to change (e.g. as kernel, topology and ucm may again need to be
> > updated in lock step).
> >
> > From what I could tell after a quick look, this series does not
> > necessarily depend on muxing things this way, but please confirm that
> > too.
>
> These patches have nothing to do with how we model the muxing in UCM or
> in tplg.
>
> so these can go as it is irrespective of how we want to model the DP
> sinks in the UCM or tplg.

Thanks for confirming.

Johan