On 7/31/19 8:23 AM, Liam Girdwood wrote:
+ 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).
more precisely, the topology file exposes stream numbers and control
names, and if the UCM file is not aligned with topology changes then
users will get errors thrown at them. It really makes sense to release
topology and UCM files concurrently. We'll also need to work with
distributions to make sure the files are updated in the right places.
Currently topology files are in /lib/firmware/intel/sof-tplg and UCM in
/usr/share/alsa/ucm.
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).
We'll need to figure out the license for all this, the topologies and
UCM files created for SOF are all BSD 3-clause but I am not clear on
older UCM files stored in alsa-lib, I don't think there was any
agreement that the LGPL license applied to them.
The "make" rule would compile topologies, whilst the "make install"
rule would install the UCM's and binary topologies in the correct
places ?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel