On Tue, Feb 23, 2016 at 03:40:29PM +0000, Tim Sheridan wrote:
Hi Pierre-Louis,
I am not too sure I understand what you refer to as synchronization or multi- device synchronization mechanisms. Since you mentioned you only need an initial time, I wonder if this is conceptually related to the start_at() functionality discussed last year for PCM?
Yup, it is related to the start_at() functionality. Before start_at() playback can happen, the AXD DSP must be switched into the start_at mode.
If you have a set of implementation-defined mechanisms related to algorithms, why not use an ALSA binary control where you define you own syntax and content and use the alsa control layer as a 'dumb' pipe between user and kernel. That's what everyone does for DSP control.
Ah, thanks very much for that advice. This looks like a good option (looking how it's being done for filter parameters in sound/soc/intel/atom).
Also please note that we can now avoid hard coding these in kernel. You can define a topology graph for DSP and use alsa topology to create a topology binary which is loaded by driver and passed to ASoC topology core which creates these elements as well as DAPM graph
This way you can change graphs and customize them very easily!
Thanks