Loading sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c +22 −0 Original line number Diff line number Diff line Loading @@ -1596,6 +1596,7 @@ static int msm_dai_q6_hw_params(struct snd_pcm_substream *substream, break; case INT_BT_SCO_RX: case INT_BT_SCO_TX: case INT_BT_A2DP_RX: case INT_FM_RX: case INT_FM_TX: rc = msm_dai_q6_bt_fm_hw_params(params, dai, substream->stream); Loading Loading @@ -2038,6 +2039,23 @@ static struct snd_soc_dai_driver msm_dai_q6_bt_sco_rx_dai = { .remove = msm_dai_q6_dai_remove, }; static struct snd_soc_dai_driver msm_dai_q6_bt_a2dp_rx_dai = { .playback = { .stream_name = "Internal BT-A2DP Playback", .aif_name = "INT_BT_A2DP_RX", .rates = SNDRV_PCM_RATE_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_max = 48000, .rate_min = 48000, }, .ops = &msm_dai_q6_ops, .id = INT_BT_A2DP_RX, .probe = msm_dai_q6_dai_probe, .remove = msm_dai_q6_dai_remove, }; static struct snd_soc_dai_driver msm_dai_q6_bt_sco_tx_dai = { .capture = { .stream_name = "Internal BT-SCO Capture", Loading Loading @@ -3713,6 +3731,10 @@ register_slim_capture: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_bt_sco_tx_dai, 1); break; case INT_BT_A2DP_RX: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_bt_a2dp_rx_dai, 1); break; case INT_FM_RX: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_fm_rx_dai, 1); Loading sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +77 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,7 @@ struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = { LPASS_BE_QUAT_TDM_RX_7}, { AFE_PORT_ID_QUATERNARY_TDM_TX_7, 0, 0, 0, 0, 0, 0, 0, LPASS_BE_QUAT_TDM_TX_7}, { INT_BT_A2DP_RX, 0, 0, 0, 0, 0, 0, 0, LPASS_BE_INT_BT_A2DP_RX}, }; /* Track ASM playback & capture sessions of DAI */ Loading Loading @@ -2731,6 +2732,57 @@ static const struct snd_kcontrol_new int_bt_sco_rx_mixer_controls[] = { msm_routing_put_audio_mixer), }; static const struct snd_kcontrol_new int_bt_a2dp_rx_mixer_controls[] = { SOC_SINGLE_EXT("MultiMedia1", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia2", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia3", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia4", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia5", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia6", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia7", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia8", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia9", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia10", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia11", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia12", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia13", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia14", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia15", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia16", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), }; static const struct snd_kcontrol_new int_fm_rx_mixer_controls[] = { SOC_SINGLE_EXT("MultiMedia1", MSM_BACKEND_DAI_INT_FM_RX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, Loading Loading @@ -6493,6 +6545,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0 , 0), SND_SOC_DAPM_AIF_IN("INT_BT_SCO_TX", "Internal BT-SCO Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("INT_BT_A2DP_RX", "Internal BT-A2DP Playback", 0, 0, 0 , 0), SND_SOC_DAPM_AIF_OUT("INT_FM_RX", "Internal FM Playback", 0, 0, 0 , 0), SND_SOC_DAPM_AIF_IN("INT_FM_TX", "Internal FM Capture", Loading Loading @@ -6871,6 +6925,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { ARRAY_SIZE(tx_voicemmode2_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_bt_sco_rx_mixer_controls, ARRAY_SIZE(int_bt_sco_rx_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_A2DP_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_bt_a2dp_rx_mixer_controls, ARRAY_SIZE(int_bt_a2dp_rx_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_FM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_fm_rx_mixer_controls, ARRAY_SIZE(int_fm_rx_mixer_controls)), SND_SOC_DAPM_MIXER("AFE_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, Loading Loading @@ -7492,6 +7549,25 @@ static const struct snd_soc_dapm_route intercon[] = { {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Audio Mixer"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, {"INT_BT_A2DP_RX", NULL, "INTERNAL_A2DP_RX Audio Mixer"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, Loading Loading @@ -8329,6 +8405,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"BE_OUT", NULL, "SEC_MI2S_RX_SD1"}, {"BE_OUT", NULL, "PRI_MI2S_RX"}, {"BE_OUT", NULL, "INT_BT_SCO_RX"}, {"BE_OUT", NULL, "INT_BT_A2DP_RX"}, {"BE_OUT", NULL, "INT_FM_RX"}, {"BE_OUT", NULL, "PCM_RX"}, {"BE_OUT", NULL, "SLIMBUS_3_RX"}, Loading sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, 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 Loading @@ -20,6 +20,7 @@ #define LPASS_BE_HDMI "HDMI" #define LPASS_BE_INT_BT_SCO_RX "INT_BT_SCO_RX" #define LPASS_BE_INT_BT_SCO_TX "INT_BT_SCO_TX" #define LPASS_BE_INT_BT_A2DP_RX "INT_BT_A2DP_RX" #define LPASS_BE_INT_FM_RX "INT_FM_RX" #define LPASS_BE_INT_FM_TX "INT_FM_TX" #define LPASS_BE_AFE_PCM_RX "RT_PROXY_DAI_001_RX" Loading Loading @@ -294,6 +295,7 @@ enum { MSM_BACKEND_DAI_QUAT_TDM_TX_6, MSM_BACKEND_DAI_QUAT_TDM_RX_7, MSM_BACKEND_DAI_QUAT_TDM_TX_7, MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_BACKEND_DAI_MAX, }; Loading sound/soc/msm/qdsp6v2/q6afe.c +1 −0 Original line number Diff line number Diff line Loading @@ -2706,6 +2706,7 @@ int afe_port_start(u16 port_id, union afe_port_config *afe_config, cfg_type = AFE_PARAM_ID_RT_PROXY_CONFIG; break; case INT_BT_SCO_RX: case INT_BT_A2DP_RX: case INT_BT_SCO_TX: case INT_FM_RX: case INT_FM_TX: Loading Loading
sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c +22 −0 Original line number Diff line number Diff line Loading @@ -1596,6 +1596,7 @@ static int msm_dai_q6_hw_params(struct snd_pcm_substream *substream, break; case INT_BT_SCO_RX: case INT_BT_SCO_TX: case INT_BT_A2DP_RX: case INT_FM_RX: case INT_FM_TX: rc = msm_dai_q6_bt_fm_hw_params(params, dai, substream->stream); Loading Loading @@ -2038,6 +2039,23 @@ static struct snd_soc_dai_driver msm_dai_q6_bt_sco_rx_dai = { .remove = msm_dai_q6_dai_remove, }; static struct snd_soc_dai_driver msm_dai_q6_bt_a2dp_rx_dai = { .playback = { .stream_name = "Internal BT-A2DP Playback", .aif_name = "INT_BT_A2DP_RX", .rates = SNDRV_PCM_RATE_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_max = 48000, .rate_min = 48000, }, .ops = &msm_dai_q6_ops, .id = INT_BT_A2DP_RX, .probe = msm_dai_q6_dai_probe, .remove = msm_dai_q6_dai_remove, }; static struct snd_soc_dai_driver msm_dai_q6_bt_sco_tx_dai = { .capture = { .stream_name = "Internal BT-SCO Capture", Loading Loading @@ -3713,6 +3731,10 @@ register_slim_capture: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_bt_sco_tx_dai, 1); break; case INT_BT_A2DP_RX: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_bt_a2dp_rx_dai, 1); break; case INT_FM_RX: rc = snd_soc_register_component(&pdev->dev, &msm_dai_q6_component, &msm_dai_q6_fm_rx_dai, 1); Loading
sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +77 −0 Original line number Diff line number Diff line Loading @@ -422,6 +422,7 @@ struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = { LPASS_BE_QUAT_TDM_RX_7}, { AFE_PORT_ID_QUATERNARY_TDM_TX_7, 0, 0, 0, 0, 0, 0, 0, LPASS_BE_QUAT_TDM_TX_7}, { INT_BT_A2DP_RX, 0, 0, 0, 0, 0, 0, 0, LPASS_BE_INT_BT_A2DP_RX}, }; /* Track ASM playback & capture sessions of DAI */ Loading Loading @@ -2731,6 +2732,57 @@ static const struct snd_kcontrol_new int_bt_sco_rx_mixer_controls[] = { msm_routing_put_audio_mixer), }; static const struct snd_kcontrol_new int_bt_a2dp_rx_mixer_controls[] = { SOC_SINGLE_EXT("MultiMedia1", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia2", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia3", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia4", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia5", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia6", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia7", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia8", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia9", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia10", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia11", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia12", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia13", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia14", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia15", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), SOC_SINGLE_EXT("MultiMedia16", MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer, msm_routing_put_audio_mixer), }; static const struct snd_kcontrol_new int_fm_rx_mixer_controls[] = { SOC_SINGLE_EXT("MultiMedia1", MSM_BACKEND_DAI_INT_FM_RX, MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer, Loading Loading @@ -6493,6 +6545,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0 , 0), SND_SOC_DAPM_AIF_IN("INT_BT_SCO_TX", "Internal BT-SCO Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("INT_BT_A2DP_RX", "Internal BT-A2DP Playback", 0, 0, 0 , 0), SND_SOC_DAPM_AIF_OUT("INT_FM_RX", "Internal FM Playback", 0, 0, 0 , 0), SND_SOC_DAPM_AIF_IN("INT_FM_TX", "Internal FM Capture", Loading Loading @@ -6871,6 +6925,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { ARRAY_SIZE(tx_voicemmode2_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_BT_SCO_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_bt_sco_rx_mixer_controls, ARRAY_SIZE(int_bt_sco_rx_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_A2DP_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_bt_a2dp_rx_mixer_controls, ARRAY_SIZE(int_bt_a2dp_rx_mixer_controls)), SND_SOC_DAPM_MIXER("INTERNAL_FM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, int_fm_rx_mixer_controls, ARRAY_SIZE(int_fm_rx_mixer_controls)), SND_SOC_DAPM_MIXER("AFE_PCM_RX Audio Mixer", SND_SOC_NOPM, 0, 0, Loading Loading @@ -7492,6 +7549,25 @@ static const struct snd_soc_dapm_route intercon[] = { {"INTERNAL_BT_SCO_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, {"INT_BT_SCO_RX", NULL, "INTERNAL_BT_SCO_RX Audio Mixer"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia4", "MM_DL4"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia5", "MM_DL5"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_DL6"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia7", "MM_DL7"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia8", "MM_DL8"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia9", "MM_DL9"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia10", "MM_DL10"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia11", "MM_DL11"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia12", "MM_DL12"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia13", "MM_DL13"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia14", "MM_DL14"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia15", "MM_DL15"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia16", "MM_DL16"}, {"INTERNAL_A2DP_RX Audio Mixer", "MultiMedia6", "MM_UL6"}, {"INT_BT_A2DP_RX", NULL, "INTERNAL_A2DP_RX Audio Mixer"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia1", "MM_DL1"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia2", "MM_DL2"}, {"INTERNAL_FM_RX Audio Mixer", "MultiMedia3", "MM_DL3"}, Loading Loading @@ -8329,6 +8405,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"BE_OUT", NULL, "SEC_MI2S_RX_SD1"}, {"BE_OUT", NULL, "PRI_MI2S_RX"}, {"BE_OUT", NULL, "INT_BT_SCO_RX"}, {"BE_OUT", NULL, "INT_BT_A2DP_RX"}, {"BE_OUT", NULL, "INT_FM_RX"}, {"BE_OUT", NULL, "PCM_RX"}, {"BE_OUT", NULL, "SLIMBUS_3_RX"}, Loading
sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, 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 Loading @@ -20,6 +20,7 @@ #define LPASS_BE_HDMI "HDMI" #define LPASS_BE_INT_BT_SCO_RX "INT_BT_SCO_RX" #define LPASS_BE_INT_BT_SCO_TX "INT_BT_SCO_TX" #define LPASS_BE_INT_BT_A2DP_RX "INT_BT_A2DP_RX" #define LPASS_BE_INT_FM_RX "INT_FM_RX" #define LPASS_BE_INT_FM_TX "INT_FM_TX" #define LPASS_BE_AFE_PCM_RX "RT_PROXY_DAI_001_RX" Loading Loading @@ -294,6 +295,7 @@ enum { MSM_BACKEND_DAI_QUAT_TDM_TX_6, MSM_BACKEND_DAI_QUAT_TDM_RX_7, MSM_BACKEND_DAI_QUAT_TDM_TX_7, MSM_BACKEND_DAI_INT_BT_A2DP_RX, MSM_BACKEND_DAI_MAX, }; Loading
sound/soc/msm/qdsp6v2/q6afe.c +1 −0 Original line number Diff line number Diff line Loading @@ -2706,6 +2706,7 @@ int afe_port_start(u16 port_id, union afe_port_config *afe_config, cfg_type = AFE_PARAM_ID_RT_PROXY_CONFIG; break; case INT_BT_SCO_RX: case INT_BT_A2DP_RX: case INT_BT_SCO_TX: case INT_FM_RX: case INT_FM_TX: Loading