asoc: Add changes to support AFE loopback

Add port mixer controls corresponding to WSA_CDC_DMA_RX_0
and RX_CDC_DMA_RX_0 to support AFE loopback.

Change-Id: I6e0e19fe45bd6c6060c842d1ed5073de6f4f6ef5
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
This commit is contained in:
Aditya Bavanari
2018-08-21 16:06:57 +05:30
committed by Gerrit - the friendly Code Review server
parent 54ca7d1b91
commit 67ef04b0ba

View File

@@ -13287,6 +13287,24 @@ static const struct snd_kcontrol_new int4_mi2s_rx_port_mixer_controls[] = {
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new wsa_cdc_dma_rx_0_port_mixer_controls[] = {
SOC_DOUBLE_EXT("VA_CDC_DMA_TX_0", SND_SOC_NOPM,
MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0,
MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("TX_CDC_DMA_TX_3", SND_SOC_NOPM,
MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0,
MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new rx_cdc_dma_rx_0_port_mixer_controls[] = {
SOC_DOUBLE_EXT("TX_CDC_DMA_TX_3", SND_SOC_NOPM,
MSM_BACKEND_DAI_RX_CDC_DMA_RX_0,
MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new sbus_0_rx_port_mixer_controls[] = {
SOC_DOUBLE_EXT("INTERNAL_FM_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_0_RX,
@@ -16247,7 +16265,12 @@ static const struct snd_kcontrol_new slim4_fm_switch_mixer_controls =
0, 1, 0, msm_routing_get_switch_mixer,
msm_routing_put_switch_mixer);
static const struct snd_kcontrol_new cdc_dma_fm_switch_mixer_controls =
static const struct snd_kcontrol_new cdc_dma_wsa_switch_mixer_controls =
SOC_SINGLE_EXT("Switch", SND_SOC_NOPM,
0, 1, 0, msm_routing_get_switch_mixer,
msm_routing_put_switch_mixer);
static const struct snd_kcontrol_new cdc_dma_rx_switch_mixer_controls =
SOC_SINGLE_EXT("Switch", SND_SOC_NOPM,
0, 1, 0, msm_routing_get_switch_mixer,
msm_routing_put_switch_mixer);
@@ -18275,9 +18298,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_SWITCH("A2DP_SLIM7_UL_HL", SND_SOC_NOPM, 0, 0,
&a2dp_slim7_switch_mixer_controls),
SND_SOC_DAPM_SWITCH("WSA_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0,
&cdc_dma_fm_switch_mixer_controls),
&cdc_dma_wsa_switch_mixer_controls),
SND_SOC_DAPM_SWITCH("RX_CDC_DMA_RX_0_DL_HL", SND_SOC_NOPM, 0, 0,
&cdc_dma_fm_switch_mixer_controls),
&cdc_dma_rx_switch_mixer_controls),
/* Mixer definitions */
SND_SOC_DAPM_MIXER("PRI_RX Audio Mixer", SND_SOC_NOPM, 0, 0,
@@ -18757,6 +18780,12 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_MIXER("INT4_MI2S_RX Port Mixer", SND_SOC_NOPM, 0, 0,
int4_mi2s_rx_port_mixer_controls,
ARRAY_SIZE(int4_mi2s_rx_port_mixer_controls)),
SND_SOC_DAPM_MIXER("WSA_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0,
wsa_cdc_dma_rx_0_port_mixer_controls,
ARRAY_SIZE(wsa_cdc_dma_rx_0_port_mixer_controls)),
SND_SOC_DAPM_MIXER("RX_CDC_DMA_RX_0 Port Mixer", SND_SOC_NOPM, 0, 0,
rx_cdc_dma_rx_0_port_mixer_controls,
ARRAY_SIZE(rx_cdc_dma_rx_0_port_mixer_controls)),
SND_SOC_DAPM_MIXER("QCHAT_Tx Mixer",
SND_SOC_NOPM, 0, 0, tx_qchat_mixer_controls,
ARRAY_SIZE(tx_qchat_mixer_controls)),
@@ -21723,6 +21752,10 @@ static const struct snd_soc_dapm_route intercon[] = {
{"INT4_MI2S_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"},
{"INT4_MI2S_RX", NULL, "INT4_MI2S_RX Port Mixer"},
{"WSA_CDC_DMA_RX_0 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"},
{"WSA_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"},
{"RX_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"},
{"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"},
{"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"SLIMBUS_0_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"},