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

Commit 8d21f18f authored by Kamalakar Yalasiri's avatar Kamalakar Yalasiri
Browse files

ASoC: SDM660: Avoid static route between 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 first
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. Set the dynamic bit of
backend dai dailink to update the backend parameters
before codec path setup.

Change-Id: I4a3dd8d9a7bc668101914bd5d3e64a24f7279549
parent 57430e5d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -293,6 +293,7 @@ static struct snd_soc_dai_link msm_ext_tasha_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tasha_codec",
		.codec_dai_name = "tasha_tx1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_0_TX,
@@ -324,6 +325,7 @@ static struct snd_soc_dai_link msm_ext_tasha_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tasha_codec",
		.codec_dai_name = "tasha_tx3",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_1_TX,
@@ -355,6 +357,7 @@ static struct snd_soc_dai_link msm_ext_tasha_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tasha_codec",
		.codec_dai_name = "tasha_tx1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.dpcm_playback = 1,
@@ -405,6 +408,7 @@ static struct snd_soc_dai_link msm_ext_tasha_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tasha_codec",
		.codec_dai_name = "tasha_mad1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_5_TX,
@@ -457,6 +461,7 @@ static struct snd_soc_dai_link msm_ext_tavil_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tavil_codec",
		.codec_dai_name = "tavil_tx1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_0_TX,
@@ -488,6 +493,7 @@ static struct snd_soc_dai_link msm_ext_tavil_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tavil_codec",
		.codec_dai_name = "tavil_tx3",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_1_TX,
@@ -535,6 +541,7 @@ static struct snd_soc_dai_link msm_ext_tavil_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tavil_codec",
		.codec_dai_name = "tavil_tx1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_3_TX,
@@ -584,6 +591,7 @@ static struct snd_soc_dai_link msm_ext_tavil_be_dai[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "tavil_codec",
		.codec_dai_name = "tavil_mad1",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_5_TX,
@@ -1827,6 +1835,7 @@ static struct snd_soc_dai_link msm_wcn_be_dai_links[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "btfmslim_slave",
		.codec_dai_name = "btfm_bt_sco_slim_tx",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_7_TX,
@@ -1841,6 +1850,7 @@ static struct snd_soc_dai_link msm_wcn_be_dai_links[] = {
		.platform_name = "msm-pcm-routing",
		.codec_name = "btfmslim_slave",
		.codec_dai_name = "btfm_fm_slim_tx",
		.dynamic_be = 1,
		.no_pcm = 1,
		.dpcm_capture = 1,
		.id = MSM_BACKEND_DAI_SLIMBUS_8_TX,