+ Mengdong
On Wed, 2019-07-24 at 18:23 +0200, Jaroslav Kysela wrote:
Yeah, been thinking about this atm. It may be better to package the binaries (firmware and topologies) as part of Linux firmware repo (since the driver expects to load them all from lib/firmware) and package the sources (firmware and topology) via sof tarball ?
It looks good in my eyes, because topology files are another pieces of the driver from the user space perspective. The unanswered question is the UCM configuration which is linked to the topology configuration (if I understand this correctly). I proposed to place an unique identifier/version to the topology file and propagate this identifier to the user space, so the alsa-lib can pick the right UCM configuration when topology changes. The component string (snd_component_add function / struct snd_ctl_card_info -> components) can be used for this identification.
Apologizes for the delay, Pierre and I have been discussing this internally as we have to synchronise the deployment of the topologies and UCMs alongside the FW.
Current thinking has changed from shipping FW + tplg via linux-firmware repo to only shipping FW binaries in the FW repo and using alsa-ucm- conf.git for UCMs + topologies (since the coupling between UCM and topology is tighter than the FW coupling).
Any objections to using this repo for topologies too ? I know we haven't yet used it for UCMs but now is probably a good point to move (including moving the older UCMs over too). The "make" rule would compile topologies, whilst the "make install" rule would install the UCM's and binary topologies in the correct places ?
Thanks
Liam