It seems you are in a different solution-space, where the codec driver needs to notify the master of which ports it needs to use?
Correct! As Codec is the place where we have mixer controls ant it can clearly tell which master ports should be used for that particular configuration.
And that should come from firmware (DT etc) and driver should pass on this info
Are you okay with the patch as it is, provided this information is populated from DT?
I am fine with the direction at a high-level. The premise for SoundWire is that the bus is simple enough that it can be used in different contexts and architectures, so if Qualcomm need something that differs from what is needed for Intel we are really not in a position to object.
That said, I could use more explanations on how the mapping is defined: I don't think we have the same definition of 'static port mapping'. For SDCA integration, we plan to have a static mapping in some sort of ACPI table that will describe which port on the Manager side is connected to which ports on Peripheral XYZ. That's static as in set in stone in platform firmware. I understand the reference to DT settings as the same idea.
But if the mapping depends on the value of mixer controls as you describe it, then it's not static and defined by DT settings, but run-time defined.
Also maybe we'd want to have a more opaque way of passing the information, maybe with a stream private data or a callback, instead of hard-coding fields that are only used by Qualcomm.