Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85a57fb9 authored by Sudheer Papothi's avatar Sudheer Papothi
Browse files

ASoC: dapm: Avoid static route b/w cpu and codec dai



Currently ASoC core creates a static route b/w
playback/capture widgets of cpu and codec dai
if they are part of the same dai-link. However
this will cause codec path to get powered up
followed by the backend dai start during device
switch use-case where the front-end is not closed,
leading to audio playback failure if either bit-width
or sample rate is different.

Change-Id: Icd17677a73fdc4bd30e0918fcaa7e7f394245685
Signed-off-by: default avatarSudheer Papothi <spapothi@codeaurora.org>
parent 580b80dd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -992,6 +992,9 @@ struct snd_soc_dai_link {
	/* This DAI link can route to other DAI links at runtime (Frontend)*/
	unsigned int dynamic:1;

	/* This DAI link can be reconfigured at runtime (Backend) */
	unsigned int dynamic_be:1;

	/*
	 * This DAI can support no host IO (no pcm data is
	 * copied to from host)
+2 −1
Original line number Diff line number Diff line
@@ -4232,7 +4232,8 @@ void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card)
		 * dynamic FE links have no fixed DAI mapping.
		 * CODEC<->CODEC links have no direct connection.
		 */
		if (rtd->dai_link->dynamic || rtd->dai_link->params)
		if (rtd->dai_link->dynamic || rtd->dai_link->params ||
		    rtd->dai_link->dynamic_be)
			continue;

		dapm_connect_dai_link_widgets(card, rtd);