Alsa-Devel Archive on
 help / color / Atom feed
From: Daniel Baluta <>
To: Kuninori Morimoto <>
Cc: Linux-ALSA <>,
	"Sridharan, Ranjani" <>
Subject: [alsa-devel] Question about FE & BE DPCM
Date: Sat, 12 Oct 2019 00:05:03 +0300
Message-ID: <> (raw)

Hi Morimoto-san,

I'm really confused on what exactly is Front End and Back End.

Is FE a DAI or a DAI link or part of a DAI link?

In simple-card.c there is simple_dai_link_of_dpcm function:

struct snd_soc_dai_link_component *codecs = dai_link->codecs;

»       /* BE is dummy */
»       »       codecs->of_node»»       = NULL;
»       »       codecs->dai_name»       = "snd-soc-dummy-dai";
»       »       codecs->name»   »       = "snd-soc-dummy";

»       »       /* FE settings */
»       »       dai_link->dynamic»      »       = 1;
»       »       dai_link->dpcm_merged_format»   = 1;

So, from here it looks like BE/FE are components being part of the same link.

Another thing is:

asoc_simple_canonicalize_platform function where it does say:

»        * DPCM BE can be no platform.
»        * Alloced memory will be waste, but not leak.
»        */
»       if (!dai_link->platforms->of_node)
»       »       dai_link->num_platforms = 0;

But I do want to create a BE with a platform. So, should I try to
revert the following

commit 794fcee8da3c0c8a01b08ecad1c181cb0a622868
Author: Kuninori Morimoto <>
Date:   Wed Jul 10 17:01:12 2019 +0900

    ASoC: simple-card-utils: care no Platform for DPCM

    commit 34614739988ad ("ASoC: soc-core: support dai_link with
    platforms_num != 1") supports multi Platform, and
    commit 9f3eb91753451 ("ASoC: simple-card-utils: consider CPU-Platform
    possibility") removed no Platform from simple-card.

    Multi Platform is now checking both Platform name/of_node are NULL case.
    But in normal case, DPCM be doesn't have Platform.

Basically, what I want to do is: after the DAI link is created to call:
snd_soc_fixup_dai_links_platform_name function to set a proper name
for BE platform.

The problem is that above mentioned patch sets dai_link->num_platforms = 0;
so even the name is set the platform component is not probed.

Alsa-devel mailing list

             reply index

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11 21:05 Daniel Baluta [this message]
2019-10-11 21:56 ` Sridharan, Ranjani
2019-10-12  9:20   ` Daniel Baluta
2019-10-15  1:15 ` Kuninori Morimoto

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Alsa-Devel Archive on

Archives are clonable:
	git clone --mirror alsa-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 alsa-devel alsa-devel/ \
	public-inbox-index alsa-devel

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone public-inbox