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