asoc: sdm670: add/remove flag ignore_pmdown_time for RX/TX DAIs

- During PCM close, the AIF power down will be delayed if
ignore_pmdown_time flag is not set. Set this flag for ultrasound RX DAI
to avoid delay in PCM close which causes slimbus overflow.
- Flag ignore_pmdown_time is only required to be set for RX DAIs.
Add this flag for RX DAIs that don't have it and remove this
flag for TX DAIs that have it in sdm670 machine driver.

CRs-Fixed: 2166356
Change-Id: I794ee96fb96fe04091ce73f0b48f84ebf119256c
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
This commit is contained in:
Aditya Bavanari 2018-01-03 16:51:17 +05:30 committed by Gerrit - the friendly Code Review server
parent d61b84dec1
commit 140a80a114
2 changed files with 18 additions and 34 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -331,6 +331,7 @@ static struct snd_soc_dai_link msm_ext_tasha_fe_dai[] = {
.ignore_suspend = 1,
.dpcm_playback = 1,
.dpcm_capture = 1,
.ignore_pmdown_time = 1,
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ops = &msm_ext_slimbus_2_be_ops,
},
@ -358,7 +359,6 @@ static struct snd_soc_dai_link msm_ext_tasha_fe_dai[] = {
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.dpcm_capture = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "tasha_mad1",
.codec_name = "tasha_codec",
.ops = &msm_ext_cpe_ops,
@ -418,6 +418,7 @@ static struct snd_soc_dai_link msm_ext_tavil_fe_dai[] = {
.codec_name = "tavil_codec",
.codec_dai_name = "tavil_rx2",
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ops = &msm_ext_slimbus_2_be_ops,
},
@ -1003,7 +1004,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM1,
@ -1033,7 +1033,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
.dynamic = 1,
.dpcm_capture = 1,
.dpcm_playback = 1,
.dpcm_capture = 1,
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
SND_SOC_DPCM_TRIGGER_POST},
.codec_dai_name = "snd-soc-dummy-dai",
@ -1104,7 +1103,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM2,
@ -1120,7 +1118,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM3,
@ -1136,7 +1133,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM4,
@ -1152,7 +1148,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM5,
@ -1168,7 +1163,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM6
@ -1184,7 +1178,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM7,
@ -1200,7 +1193,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM8,
@ -1335,7 +1327,6 @@ static struct snd_soc_dai_link msm_ext_common_fe_dai[] = {
SND_SOC_DPCM_TRIGGER_POST},
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
},
@ -1444,6 +1435,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.id = MSM_BACKEND_DAI_VOICE_PLAYBACK_TX,
.be_hw_params_fixup = msm_ext_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
/* Incall Music 2 BACK END DAI Link */
{
@ -1458,6 +1450,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.id = MSM_BACKEND_DAI_VOICE2_PLAYBACK_TX,
.be_hw_params_fixup = msm_ext_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_USB_AUDIO_RX,
@ -1499,6 +1492,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_PRI_TDM_TX_0,
@ -1527,6 +1521,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_SEC_TDM_TX_0,
@ -1555,6 +1550,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_TERT_TDM_TX_0,
@ -1583,6 +1579,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_QUAT_TDM_TX_0,
@ -1611,6 +1608,7 @@ static struct snd_soc_dai_link msm_ext_common_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_QUIN_TDM_TX_0,
@ -1804,7 +1802,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.dpcm_capture = 1,
.id = MSM_BACKEND_DAI_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_pmdown_time = 1,
.ignore_suspend = 1,
.ops = &msm_aux_pcm_be_ops,
},
@ -1836,7 +1833,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_SEC_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Tertiary AUX PCM Backend DAI Links */
@ -1867,7 +1863,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_TERT_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Quaternary AUX PCM Backend DAI Links */
@ -1898,7 +1893,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_QUAT_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Quinary AUX PCM Backend DAI Links */
@ -1929,7 +1923,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_QUIN_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -1881,7 +1881,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST},
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
},
@ -1931,7 +1930,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM1,
@ -2030,7 +2028,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM2,
@ -2046,7 +2043,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM3,
@ -2062,7 +2058,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM4,
@ -2078,7 +2073,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM5,
@ -2094,7 +2088,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM6
@ -2110,7 +2103,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM7,
@ -2126,7 +2118,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST },
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
.id = MSM_FRONTEND_DAI_LSM8,
@ -2261,7 +2252,6 @@ static struct snd_soc_dai_link msm_int_dai[] = {
SND_SOC_DPCM_TRIGGER_POST},
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.codec_dai_name = "snd-soc-dummy-dai",
.codec_name = "snd-soc-dummy",
},
@ -2367,7 +2357,6 @@ static struct snd_soc_dai_link msm_int_wsa_dai[] = {
.no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
.ignore_suspend = 1,
.dpcm_capture = 1,
.ignore_pmdown_time = 1,
},
};
@ -2491,6 +2480,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.id = MSM_BACKEND_DAI_VOICE_PLAYBACK_TX,
.be_hw_params_fixup = msm_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
/* Incall Music 2 BACK END DAI Link */
{
@ -2505,6 +2495,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.id = MSM_BACKEND_DAI_VOICE2_PLAYBACK_TX,
.be_hw_params_fixup = msm_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_USB_AUDIO_RX,
@ -2546,6 +2537,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_PRI_TDM_TX_0,
@ -2574,6 +2566,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_SEC_TDM_TX_0,
@ -2602,6 +2595,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_TERT_TDM_TX_0,
@ -2630,6 +2624,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_QUAT_TDM_TX_0,
@ -2658,6 +2653,7 @@ static struct snd_soc_dai_link msm_int_be_dai[] = {
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ops = &msm_tdm_be_ops,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
},
{
.name = LPASS_BE_QUIN_TDM_TX_0,
@ -2851,7 +2847,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.dpcm_capture = 1,
.id = MSM_BACKEND_DAI_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_pmdown_time = 1,
.ignore_suspend = 1,
.ops = &msm_aux_pcm_be_ops,
},
@ -2883,7 +2878,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_SEC_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Tertiary AUX PCM Backend DAI Links */
@ -2914,7 +2908,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_TERT_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Quaternary AUX PCM Backend DAI Links */
@ -2945,7 +2938,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_QUAT_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
/* Quinary AUX PCM Backend DAI Links */
@ -2976,7 +2968,6 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = {
.id = MSM_BACKEND_DAI_QUIN_AUXPCM_TX,
.be_hw_params_fixup = msm_common_be_hw_params_fixup,
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.ops = &msm_aux_pcm_be_ops,
},
};