On Wed, 07 Oct 2015 11:48:37 +0200, Lin, Mengdong wrote:
-----Original Message----- From: Mark Brown [mailto:broonie@kernel.org] Sent: Wednesday, October 07, 2015 1:37 AM To: Lars-Peter Clausen Cc: Koul, Vinod; alsa-devel@alsa-project.org; tiwai@suse.de; Lin, Mengdong; liam.r.girdwood@linux.intel.com; Kp, Jeeja; Prusty, Subhransu S; Patel, Vedang Subject: Re: [alsa-devel] [PATCH v2 4/8] ASoC: topology: ABI - Add name element to snd_soc_tplg_stream
On Tue, Oct 06, 2015 at 06:35:28PM +0200, Lars-Peter Clausen wrote:
On 10/06/2015 06:25 PM, Mark Brown wrote:
The problem isn't detecting the error, the point is that if someone upgrades their kernel and someone changed the DAI link name then their existing userspace will break. We don't want that error to be there to be detected in the first place.
Another thing to consider is that the topology firmware might be developed against a non-upstream driver. And in order for the driver to go upstream it needs changes that breaks the ABI interface to the firmware which is already shipped and the vendor might not provide support for updating the firmware file. Having these kind of tightly coupled interdependencies between driver and firmware is quite risky
business.
Yeah, I think we're kind of stuck with some degree of fairly tight coupling at some point though - at some point we're going to need to work out which link in the driver corresponds to which link in the firmware file.
There is a 'version' field in struct snd_soc_tplg_hdr, which is a vendor-specific version number. The driver can check this field of a firmware topology and decide whether to support this firmware or not.
Is this okay?
Well, you can't assure that the third vendor would set that field always right. I won't bet it, as the odds are too bad :)
How about to allow leaving this name empty as default? Or better to ask: what's the exact merit of having strict binding to DAI link?
thanks,
Takashi