Hi Sameer Cc Mark
Thank you for your feedback
Current audio-graph-card driver has DPCM support, but it is limited (= Mix/Mux/TDM-split/rate-convert/channel-convert). It was expanded forcibly expanded.
Yes it appears to be so. Right now it does not seem to be supporting 'demux' kind of use case.
I'm not sure how to do demux. By DPCM ? by multi-Codec ? I'm happy to consider it if there was sample code.
Please note that asoc_simple_init_dai_link_params() makes the link codec-to-codec if any component involved has 'non_legacy_dai_naming' flag enabled. It is used by both audio-graph and simple-card. So it is a combination of three (DPCM, normal and codec-to-codec). To avoid all this complication, I am treating all links as DPCM in the series [0] I sent.
Ahh, we want to consider codec-to-codec.. And I noticed multi-CPU / multi-Codec case too (= for normal connection). Do we have sample code ? > Mark
If we encode use case information in DT, it would become regid and is not flexible when the HW is giving us the all flexibility (at least in my case). Thus may lead to complications. If there is a way to configure PCM parameters from the user space it would help to simplify things. Then DT can just describe the HW links.
What kind of PCM parameters you want to get from user-space ?
Mark, this is question from me. In my understanding, CPU - Codec are merging each parameter automatically at runtime, for example rates / channels / formats (= snd_soc_runtime_calc_hw()). And system-clock / TDM-slot / DAI-format are specified via Sound Card.
I can understand that system-clock is specified via Sound Card, but TDM-slot / DAI-format can be adjusted from CPU / Codec driver automatically same as rates / channels / formats ? I'm not sure it is possible, or not, but I've been wondering for a long time.
Thank you for your help !!
Best regards --- Kuninori Morimoto