Hi Lars, Mark and Liam,
Sorry for the delay. Here is the fourth version of the multicodec series.
I had to split it in smaller chunks since the previous patch was exceeding the size limit of the ML :-(
I think (and hope) I did address all the v3 comments from Lars.
I did not address the codec to codec link in multicodec case as suggested by Lars.
There is still an open point about enforcing the number of channels for the CPU dai in case the TDM slots are set for the CODEC dais. I guess this point could be addressed later.
Please note that I have a very simple setup based on BBB to check if the series is working, so it will be good to test it on various platforms to ensure this is not generating any regression.
The series is based on asoc/for-next (v3.16-rc1).
Test and comments are welcome.
Thanks, Benoit
v1: http://comments.gmane.org/gmane.linux.alsa.devel/120532
v2: http://comments.gmane.org/gmane.linux.alsa.devel/121024 - Split the first version in several patches. - Remove the TDM fixup
v3: - Fixed all the places that were not iterating over all the codecs. - Change the structure and split it.
v4: - Improve the TDM management - Split the orginal patch in smaller chunks - Ignore the CODEC to CODEC link case for the moment - Add iteration for multicodecs everywhere
Benoit Cousson (8): ASoC: core: Change soc_link_dai_widgets signature for multiple codecs ASoC: pcm: Refactor soc_pcm_apply_msb for multicodecs ASoC: core: Add initial support for DAI multicodec ASoC: pcm: Add support for DAI multicodec ASoC: dapm: Add support for DAI multicodec ASoC: compress: Add support for DAI multicodec ASoC: pcm: Add soc_dai_hw_params helper ASoC: core: Add a warning for link_dai_widget in the multicodec case
include/sound/soc-dai.h | 4 + include/sound/soc.h | 17 ++ sound/soc/soc-compress.c | 94 +++++--- sound/soc/soc-core.c | 348 +++++++++++++++++++---------- sound/soc/soc-dapm.c | 93 ++++---- sound/soc/soc-pcm.c | 563 ++++++++++++++++++++++++++++++++--------------- 6 files changed, 751 insertions(+), 368 deletions(-)