On Fri, Feb 23, 2024 at 10:12:49AM +0000, Ding, Shenghao wrote:
Hi Pierre-Louis
In the SoundWire spec, the unique_id is *LINK SPECIFIC*, and only used at the bus level within the context of a link to help avoid enumeration conflicts
If you are using the unique_id as a SYSTEM-UNIQUE value to lookup EFI data, this is a TI-specific requirement that needs to be documented. That also means you need to double-check for errors so make sure there are no board configurations where the same unique_id is used in multiple links, or by devices other than tas2783.
This code only covers the tas2783s sitting in the same bus link. As to cases of the different SWD links, customer will be required to have the secondary development on current code. I'm sure my customers have much knowledge to handle this.
As Pierre says I think we really should have some sort of defensive programming here, even if you're going to leave multi-link systems to future work people will still have older versions in distributions or whtaever. While I'm not sure the consequences of getting things wrong are likely to be that bad (I'm expecting bad quality audio) it's also going to be kind of hard to figure out if we just silently pick the wrong calibration, especially if it's actually a valid calibration for another device in the system. Other vendors (eg, Cirrus) seem to have figured out a scheme here?