Thanks Liam for your answer! Some comments inside: On Tue, Nov 26, 2019 at 5:32 PM Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> wrote: > > On Mon, 2019-11-25 at 18:45 +0200, Daniel Baluta wrote: > > Hi all, > > > > I am trying how a non-BE link is converted to a BE link > > inside soc_check_tplg_fes. > > > > soc_check_tplg_fes > > => for all components that have ignore_machine setup to card name > > => dai_link->platforms->name = component->name; > > => dai_link->no_pcm = 1; > > > > But the thing is that the link is a true non-DPCM link, than fields > > like dpcm_playback/dpcm_capture are not set and playback/record > > substreams are no created. > > These fields should be being populated by topology since they are > runtime configuration on a non DPCM PCM device. Well looking at topology code (soc-topology.c) it looks like only newly created links (and only FE links) get dpcm_playback/dpcm_capture set. soc_tplg_fe_link_create => link->dynamic = 1; => link->dpcm_playback = le32_to_cpu(pcm->playback); So, for an existing BE link, dpcm_playback/dpcm_capture are not touched. > > > > > The question is: is this supposed to be working with non-DPCM links? > > Yes, it "should do" and did when I last tested - there were some non > DPCM Intel machine drivers that needed to work (grep -L no_pcm > sound/soc/intel/boards/*.c), but I am not as up to date as other on the > SOF driver core now. So if it's not working, it could be a regression > (as these non DPCM boards are not used now IIRC). Oh, I see. Thanks for confirming that this works. I will dig through the history to see what happen. Because I do think it is a regression. thanks, Daniel. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel