aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2017-01-12 11:52:39 -0800
committerPat Tjin <pattjin@google.com>2017-01-19 05:52:31 +0000
commited17190caddeb4c42b192381e3d7eb70eed99872 (patch)
tree874d8b24c711e53007cc9a84518b2786070a0f61
parent01a0544b466fe92389749cc7c421047391b1ae70 (diff)
Revert "Revert "Revert "Fix backend connection to FE upon call disconnection"""android-7.1.1_r0.49
This reverts commit ebe4556a423deffa5f0f7b0ca81f69f466d99ca6. Bug: 34184743 Bug: 29316883
-rw-r--r--sound/soc/msm/apq8084.c161
1 files changed, 38 insertions, 123 deletions
diff --git a/sound/soc/msm/apq8084.c b/sound/soc/msm/apq8084.c
index 1fcb24e78092..8aa387dda908 100644
--- a/sound/soc/msm/apq8084.c
+++ b/sound/soc/msm/apq8084.c
@@ -1056,99 +1056,14 @@ static int msm_tfa9890_routing_put(struct snd_kcontrol *kcontrol,
/* platform controls to power up tfa9890 left and right IC's */
static const struct snd_kcontrol_new tfa9890_rx_left_mixer_controls[] = {
- SOC_SINGLE_EXT("left MM_DL1", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA1,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL2", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA2,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL3", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA3,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL4", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA4,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL5", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA5,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL6", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA6,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL7", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA7,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left MM_DL8", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA8,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VOIP_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOIP,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left CS-VOICE_DL1", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_CS_VOICE,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VOICE2_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOICE2,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VoLTE_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOLTE,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VOLTE_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOLTE_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VOICE_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOICE_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("left VOICE2_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_LEFT_RX,
- MSM_FRONTEND_DAI_VOICE2_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
+ SOC_SINGLE_EXT("left", 0,
+ 0, 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
};
static const struct snd_kcontrol_new tfa9890_rx_right_mixer_controls[] = {
- SOC_SINGLE_EXT("right MM_DL1", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA1,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL2", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA2,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL3", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA3,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL4", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA4,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL5", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA5,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL6", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA6,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL7", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA7,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right MM_DL8", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_MULTIMEDIA8,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VOIP_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOIP,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right CS-VOICE_DL1", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_CS_VOICE,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VOICE2_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOICE2,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VoLTE_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOLTE,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VOLTE_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOLTE_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VOICE_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOICE_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
- SOC_SINGLE_EXT("right VOICE2_STUB_DL", MSM_BACKEND_DAI_TFA9890_STUB_RIGHT_RX,
- MSM_FRONTEND_DAI_VOICE2_STUB,
- 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
+ SOC_SINGLE_EXT("right", 1,
+ 0, 1, 0, msm_tfa9890_routing_get, msm_tfa9890_routing_put),
+
};
static const char *const tfa9890_earpiece[] = {"Off", "On"};
@@ -1178,39 +1093,39 @@ static const struct snd_soc_dapm_widget apq8084_tfa9890_widgets[] = {
};
static const struct snd_soc_dapm_route tfa9890_routes[] = {
- {"BOOST_STUB Left Mixer", "left MM_DL1", "MM_DL1"},
- {"BOOST_STUB Left Mixer", "left MM_DL2", "MM_DL2"},
- {"BOOST_STUB Left Mixer", "left MM_DL3", "MM_DL3"},
- {"BOOST_STUB Left Mixer", "left MM_DL4", "MM_DL4"},
- {"BOOST_STUB Left Mixer", "left MM_DL5", "MM_DL5"},
- {"BOOST_STUB Left Mixer", "left MM_DL6", "MM_DL6"},
- {"BOOST_STUB Left Mixer", "left MM_DL7", "MM_DL7"},
- {"BOOST_STUB Left Mixer", "left MM_DL8", "MM_DL8"},
- {"BOOST_STUB Left Mixer", "left VOIP_DL", "VOIP_DL"},
- {"BOOST_STUB Left Mixer", "left CS-VOICE_DL1", "CS-VOICE_DL1"},
- {"BOOST_STUB Left Mixer", "left VOICE2_DL", "VOICE2_DL"},
- {"BOOST_STUB Left Mixer", "left VoLTE_DL", "VoLTE_DL"},
- {"BOOST_STUB Left Mixer", "left VOLTE_STUB_DL", "VOLTE_STUB_DL"},
- {"BOOST_STUB Left Mixer", "left VOICE_STUB_DL", "VOICE_STUB_DL"},
- {"BOOST_STUB Left Mixer", "left VOICE2_STUB_DL", "VOICE2_STUB_DL"},
- {"TFA9890_STUB_L", NULL, "BOOST_STUB Left Mixer"},
-
- {"BOOST_STUB Right Mixer", "right MM_DL1", "MM_DL1"},
- {"BOOST_STUB Right Mixer", "right MM_DL2", "MM_DL2"},
- {"BOOST_STUB Right Mixer", "right MM_DL3", "MM_DL3"},
- {"BOOST_STUB Right Mixer", "right MM_DL4", "MM_DL4"},
- {"BOOST_STUB Right Mixer", "right MM_DL5", "MM_DL5"},
- {"BOOST_STUB Right Mixer", "right MM_DL6", "MM_DL6"},
- {"BOOST_STUB Right Mixer", "right MM_DL7", "MM_DL7"},
- {"BOOST_STUB Right Mixer", "right MM_DL8", "MM_DL8"},
- {"BOOST_STUB Right Mixer", "right VOIP_DL", "VOIP_DL"},
- {"BOOST_STUB Right Mixer", "right CS-VOICE_DL1", "CS-VOICE_DL1"},
- {"BOOST_STUB Right Mixer", "right VOICE2_DL", "VOICE2_DL"},
- {"BOOST_STUB Right Mixer", "right VoLTE_DL", "VoLTE_DL"},
- {"BOOST_STUB Right Mixer", "right VOLTE_STUB_DL", "VOLTE_STUB_DL"},
- {"BOOST_STUB Right Mixer", "right VOICE_STUB_DL", "VOICE_STUB_DL"},
- {"BOOST_STUB Right Mixer", "right VOICE2_STUB_DL", "VOICE2_STUB_DL"},
- {"TFA9890_STUB_R", NULL, "BOOST_STUB Right Mixer"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL1"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL2"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL3"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL4"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL5"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL6"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL7"},
+ { "BOOST_STUB Left Mixer", "left", "MM_DL8"},
+ { "BOOST_STUB Left Mixer", "left", "VOIP_DL"},
+ { "BOOST_STUB Left Mixer", "left", "CS-VOICE_DL1"},
+ { "BOOST_STUB Left Mixer", "left", "VOICE2_DL"},
+ { "BOOST_STUB Left Mixer", "left", "VoLTE_DL"},
+ { "BOOST_STUB Left Mixer", "left", "VOLTE_STUB_DL"},
+ { "BOOST_STUB Left Mixer", "left", "VOICE_STUB_DL"},
+ { "BOOST_STUB Left Mixer", "left", "VOICE2_STUB_DL"},
+ { "TFA9890_STUB_L", NULL, "BOOST_STUB Left Mixer"},
+
+ { "BOOST_STUB Right Mixer", "right", "MM_DL1"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL2"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL3"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL4"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL5"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL6"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL7"},
+ { "BOOST_STUB Right Mixer", "right", "MM_DL8"},
+ { "BOOST_STUB Right Mixer", "right", "VOIP_DL"},
+ { "BOOST_STUB Right Mixer", "right", "CS-VOICE_DL1"},
+ { "BOOST_STUB Right Mixer", "right", "VOICE2_DL"},
+ { "BOOST_STUB Right Mixer", "right", "VoLTE_DL"},
+ { "BOOST_STUB Right Mixer", "right", "VOLTE_STUB_DL"},
+ { "BOOST_STUB Right Mixer", "right", "VOICE_STUB_DL"},
+ { "BOOST_STUB Right Mixer", "right", "VOICE2_STUB_DL"},
+ { "TFA9890_STUB_R", NULL, "BOOST_STUB Right Mixer"},
};
static int msm_tfa9890_stereo_init(struct snd_soc_pcm_runtime *rtd)