On 05/10/23 18:08, Mukunda,Vijendar wrote:
On 05/10/23 17:54, Pierre-Louis Bossart wrote:
I think we keep circling on the differences between "Controller" and "link" (aka bus). A Controller can have one or more links. A system can have one or more controllers.
Intel platforms have one controller and 4 or more links. QCOM platforms have one or more controllers with one link each.
I am not sure how this IDA-generated bus_id helps deal with these two cases, since we can't really make any assumptions on how controllers/links will be started and probed.
What we are missing is a hierarchical controller/link definition, IOW a controller_id should be given to the master by a higher level instead of using an IDA.
Tentative patches to introduce a 'controller_id' that's not an IDA are here: https://github.com/thesofproject/linux/pull/4616
Initial results are positive for Intel devices. it *should* work for other devices but I can't test. If folks at Linaro/Qualcomm and AMD can give it a try, that would be much appreciated.
Will test on AMD platforms and let you know the result.
"soundwire: bus: introduce controller_id " patch needs to be modified and controller id should be set to zero for amd platforms as we are populating multiple links under same controller id.
Thanks.