On 17/10/2023 18:09, Pierre-Louis Bossart wrote:
The existing SoundWire support misses a clear Controller/Manager hiearchical definition to deal with all variants across SOC vendors.
a) Intel platforms have one controller with 4 or more Managers. b) AMD platforms have two controllers with one Manager each, but due to BIOS issues use two different link_id values within the scope of a single controller. c) QCOM platforms have one or more controller with one Manager each.
This patch adds a 'controller_id' which can be set by higher levels. If assigned to -1, the controller_id will be set to the system-unique IDA-assigned bus->id.
The main change is that the bus->id is no longer used for any device name, which makes the definition completely predictable and not dependent on any enumeration order. The bus->id is only used to insert the Managers in the stream rt context.
Reviewed-by: Bard Liao yung-chuan.liao@linux.intel.com Reviewed-by: Vijendar Mukunda Vijendar.Mukunda@amd.com Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
Reviewed-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org Tested-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Best regards, Krzysztof