On 25/10/2023 17:12, Pierre-Louis Bossart wrote: > > > On 10/25/23 09:45, Krzysztof Kozlowski wrote: >> Qualcomm Soundwire controller drivers do not support multi-link setups, >> so DAI .set_stream() callback will not be used. What's more, if called >> it will overwrite the sdw_stream_runtime runtime set in DAI .startup >> (qcom_swrm_startup()) causing issues (unsupported multi-link error) when >> two Soundwire controllers are passed as codec DAIs. > > This last sentence is confusing at best. > > A controller can have one or more managers, each of whom can have one or > more peripherals. > > only peripherals should expose codec DAIs, managers should expose CPU DAIs. > > Put differently, the controller is the host part while the peripheral is > the codec part. "controllers passed as codec DAIs" is not really > possible, or this was a typo? No, it wasn't a typo. Take a look here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts#n1023 The <&swr0 0> is the controller, although probably I should call it manager, but in case of Qualcomm I think they are 1-to-1. Best regards, Krzysztof