Commit c82dbcbe authored by Bicycle Tsai's avatar Bicycle Tsai Committed by Bicycle Tsai
Browse files

BACKPORT: ASoC: soc-pcm: Get all BEs along DAPM path



dpcm_end_walk_at_be() stops the graph walk when first BE is found for
the given FE component. In a component model we may want to connect
multiple DAIs from different components. A new flag is introduced in
'snd_soc_card', which when set allows DAI/component chaining. Later
PCM operations can be called for all these listed components for a
valid DAPM path.

Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
Link:
https://lore.kernel.org/r/1604329814-24779-3-git-send-email-spujar@nvidia.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>

Bug: 198732156
(cherry picked from commit aa293777)

[ refactored to avoid breaking KMI ]
ALSA machine driver can setup component_chaining like below code slice.

static int my_board_late_probe(struct snd_soc_card *card)
{
	struct snd_soc_card_ext *card_ext =
		container_of(card, struct snd_soc_card_ext, card);

	card_ext->component_chaining = 1;

	return 0;
}

static struct snd_soc_card my_board_card = {
	.name = MY_BOARD_NAME,
	.owner = THIS_MODULE,
	.dai_link = my_board_dai_links,
	.num_links = ARRAY_SIZE(my_board_dai_links),
	.late_probe = my_board_late_probe,
};

Change-Id: Icc9e9b120e721a620f7c9f49515342422f80edb7
Signed-off-by: default avatarBicycle Tsai <bicycle.tsai@mediatek.com>
parent de7ca5e7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment