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
This commit is contained in:
Kamalakar Yalasiri committed 2021-05-03 21:16:32 +05:30
1 parent 57430e5d3b
commit 8d21f18fc8
1 file changed
+10
+10
View File
@@ -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,