On Tue, Apr 23, 2024 at 04:59:56PM +0100, Srinivas Kandagatla wrote:
On 23/04/2024 15:58, Johan Hovold wrote:
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.
This is not simple as you say. We have to fit these into a proper DPCM. Either we have a dummy Backend connected for each of these pcm sub-devices when DP port is not connected and then switch back to DP when its connected.
I don't know how best to implement it, but we shouldn't necessarily let that determine the user experience.
Or somehow find a way to not let the pipewire talk to devices which are not connected.
Yes, perhaps it requires a change in user space.
But it seems the kernel should be able to fake whatever probing user space currently does to determine if the there is a DP jack (even when there is nothing connected).
Johan