Loading asoc/msm-dai-q6-v2.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4697,7 +4697,7 @@ static struct snd_soc_dai_driver msm_dai_q6_afe_rx_dai[] = { .formats = SNDRV_PCM_FMTBIT_S16_LE | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_min = 1, .channels_max = 2, .channels_max = 10, .rate_min = 8000, .rate_min = 8000, .rate_max = 48000, .rate_max = 48000, }, }, Loading asoc/msm-pcm-afe-v2.c +2 −2 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. */ */ Loading Loading @@ -50,7 +50,7 @@ static struct snd_pcm_hardware msm_afe_hardware_playback = { .rate_min = 8000, .rate_min = 8000, .rate_max = 48000, .rate_max = 48000, .channels_min = 1, .channels_min = 1, .channels_max = 6, .channels_max = 10, .buffer_bytes_max = MAX_PLAYBACK_PERIOD_SIZE * .buffer_bytes_max = MAX_PLAYBACK_PERIOD_SIZE * MAX_PLAYBACK_NUM_PERIODS, MAX_PLAYBACK_NUM_PERIODS, .period_bytes_min = MIN_PLAYBACK_PERIOD_SIZE, .period_bytes_min = MIN_PLAYBACK_PERIOD_SIZE, Loading asoc/msm-pcm-routing-v2.c +61 −3 Original line number Original line Diff line number Diff line Loading @@ -134,6 +134,7 @@ enum { #define TX_CDC_DMA_TX_3_TEXT "TX_CDC_DMA_TX_3" #define TX_CDC_DMA_TX_3_TEXT "TX_CDC_DMA_TX_3" #define QUIN_TDM_TX_TEXT "QUIN_TDM_TX_0" #define QUIN_TDM_TX_TEXT "QUIN_TDM_TX_0" #define TERT_TDM_TX_TEXT "TERT_TDM_TX_0" #define TERT_TDM_TX_TEXT "TERT_TDM_TX_0" #define AFE_PCM_TX_TEXT "AFE_PCM_TX" #define LSM_FUNCTION_TEXT "LSM Function" #define LSM_FUNCTION_TEXT "LSM Function" static const char * const lsm_port_text[] = { static const char * const lsm_port_text[] = { Loading @@ -143,7 +144,7 @@ static const char * const lsm_port_text[] = { TERT_MI2S_TX_TEXT, QUAT_MI2S_TX_TEXT, ADM_LSM_TX_TEXT, TERT_MI2S_TX_TEXT, QUAT_MI2S_TX_TEXT, ADM_LSM_TX_TEXT, INT3_MI2S_TX_TEXT, VA_CDC_DMA_TX_0_TEXT, VA_CDC_DMA_TX_1_TEXT, INT3_MI2S_TX_TEXT, VA_CDC_DMA_TX_0_TEXT, VA_CDC_DMA_TX_1_TEXT, VA_CDC_DMA_TX_2_TEXT, TX_CDC_DMA_TX_3_TEXT, QUIN_TDM_TX_TEXT, VA_CDC_DMA_TX_2_TEXT, TX_CDC_DMA_TX_3_TEXT, QUIN_TDM_TX_TEXT, TERT_TDM_TX_TEXT TERT_TDM_TX_TEXT, AFE_PCM_TX_TEXT }; }; struct msm_pcm_route_bdai_pp_params { struct msm_pcm_route_bdai_pp_params { Loading Loading @@ -2016,7 +2017,6 @@ int msm_pcm_routing_reg_phy_compr_stream(int fe_id, int perf_mode, 352800) && be_bit_width == 32) 352800) && be_bit_width == 32) bit_width = msm_routing_get_bit_width( bit_width = msm_routing_get_bit_width( SNDRV_PCM_FORMAT_S32_LE); SNDRV_PCM_FORMAT_S32_LE); copp_idx = copp_idx = adm_open(port_id, path_type, sample_rate, adm_open(port_id, path_type, sample_rate, channels, topology, perf_mode, channels, topology, perf_mode, Loading Loading @@ -3601,6 +3601,9 @@ static int msm_routing_lsm_port_put(struct snd_kcontrol *kcontrol, case 16: case 16: lsm_port = AFE_PORT_ID_TERTIARY_TDM_TX; lsm_port = AFE_PORT_ID_TERTIARY_TDM_TX; break; break; case 17: lsm_port = RT_PROXY_PORT_001_TX; break; default: default: pr_err("Default lsm port"); pr_err("Default lsm port"); break; break; Loading Loading @@ -3662,6 +3665,10 @@ static int msm_routing_lsm_func_get(struct snd_kcontrol *kcontrol, strlen(lsm_port_text[16]))) strlen(lsm_port_text[16]))) port_id = AFE_PORT_ID_TERTIARY_TDM_TX; port_id = AFE_PORT_ID_TERTIARY_TDM_TX; if (strnstr(kcontrol->id.name, lsm_port_text[17], strlen(lsm_port_text[17]))) port_id = RT_PROXY_PORT_001_TX; mad_type = afe_port_get_mad_type(port_id); mad_type = afe_port_get_mad_type(port_id); pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, mad_type); mad_type); Loading Loading @@ -3754,6 +3761,10 @@ static int msm_routing_lsm_func_put(struct snd_kcontrol *kcontrol, strlen(lsm_port_text[16]))) strlen(lsm_port_text[16]))) port_id = AFE_PORT_ID_TERTIARY_TDM_TX; port_id = AFE_PORT_ID_TERTIARY_TDM_TX; if (strnstr(kcontrol->id.name, lsm_port_text[17], strlen(lsm_port_text[17]))) port_id = RT_PROXY_PORT_001_TX; pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, mad_type); mad_type); return afe_port_set_mad_type(port_id, mad_type); return afe_port_set_mad_type(port_id, mad_type); Loading Loading @@ -6089,6 +6100,10 @@ static int get_ec_ref_port_id(int value, int *index) *index = 43; *index = 43; port_id = AFE_PORT_ID_QUINARY_MI2S_RX; port_id = AFE_PORT_ID_QUINARY_MI2S_RX; break; break; case 44: *index = 44; port_id = RT_PROXY_PORT_001_TX; break; default: default: *index = 0; /* NONE */ *index = 0; /* NONE */ pr_err("%s: Invalid value %d\n", __func__, value); pr_err("%s: Invalid value %d\n", __func__, value); Loading Loading @@ -6147,7 +6162,7 @@ static const char *const ec_ref_rx[] = { "None", "SLIM_RX", "I2S_RX", "SLIM_7_RX", "RX_CDC_DMA_RX_0", "RX_CDC_DMA_RX_1", "RX_CDC_DMA_RX_2", "SLIM_7_RX", "RX_CDC_DMA_RX_0", "RX_CDC_DMA_RX_1", "RX_CDC_DMA_RX_2", "RX_CDC_DMA_RX_3", "TX_CDC_DMA_TX_0", "TERT_TDM_RX_2", "SEC_TDM_TX_0", "RX_CDC_DMA_RX_3", "TX_CDC_DMA_TX_0", "TERT_TDM_RX_2", "SEC_TDM_TX_0", "DISPLAY_PORT1", "SEN_MI2S_RX", "QUIN_TDM_TX_0", "SENARY_MI2S_TX", "DISPLAY_PORT1", "SEN_MI2S_RX", "QUIN_TDM_TX_0", "SENARY_MI2S_TX", "PRI_TDM_RX_0", "PRI_TDM_TX_0", "QUIN_MI2S_RX", "PRI_TDM_RX_0", "PRI_TDM_TX_0", "QUIN_MI2S_RX", "AFE_PCM_TX", }; }; static const struct soc_enum msm_route_ec_ref_rx_enum[] = { static const struct soc_enum msm_route_ec_ref_rx_enum[] = { Loading Loading @@ -25064,6 +25079,10 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm2_mixer_controls[] = { static const struct snd_kcontrol_new lsm2_mixer_controls[] = { Loading Loading @@ -25128,6 +25147,10 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm3_mixer_controls[] = { static const struct snd_kcontrol_new lsm3_mixer_controls[] = { Loading Loading @@ -25191,6 +25214,10 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm4_mixer_controls[] = { static const struct snd_kcontrol_new lsm4_mixer_controls[] = { Loading Loading @@ -25254,6 +25281,10 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm5_mixer_controls[] = { static const struct snd_kcontrol_new lsm5_mixer_controls[] = { Loading Loading @@ -25317,6 +25348,10 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm6_mixer_controls[] = { static const struct snd_kcontrol_new lsm6_mixer_controls[] = { Loading Loading @@ -25380,6 +25415,10 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm7_mixer_controls[] = { static const struct snd_kcontrol_new lsm7_mixer_controls[] = { Loading Loading @@ -25443,6 +25482,10 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm8_mixer_controls[] = { static const struct snd_kcontrol_new lsm8_mixer_controls[] = { Loading Loading @@ -25506,6 +25549,10 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = Loading Loading @@ -25623,6 +25670,8 @@ static const struct snd_kcontrol_new lsm_controls[] = { msm_routing_lsm_func_get, msm_routing_lsm_func_put), msm_routing_lsm_func_get, msm_routing_lsm_func_put), SOC_ENUM_EXT(TERT_TDM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, SOC_ENUM_EXT(TERT_TDM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, msm_routing_lsm_func_get, msm_routing_lsm_func_put), msm_routing_lsm_func_get, msm_routing_lsm_func_put), SOC_ENUM_EXT(AFE_PCM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, msm_routing_lsm_func_get, msm_routing_lsm_func_put), /* kcontrol of lsm_port */ /* kcontrol of lsm_port */ SOC_ENUM_EXT("LSM1 Port", lsm_port_enum, SOC_ENUM_EXT("LSM1 Port", lsm_port_enum, msm_routing_lsm_port_get, msm_routing_lsm_port_get, Loading Loading @@ -33022,6 +33071,15 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"LSM1 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM2 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM3 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM4 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM5 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM6 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM7 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM8 Mixer", "AFE_PCM_TX", "PCM_TX"}, /* Backend Enablement */ /* Backend Enablement */ {"BE_OUT", NULL, "PRI_TDM_RX_0"}, {"BE_OUT", NULL, "PRI_TDM_RX_0"}, {"BE_OUT", NULL, "PRI_TDM_RX_1"}, {"BE_OUT", NULL, "PRI_TDM_RX_1"}, Loading
asoc/msm-dai-q6-v2.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -4697,7 +4697,7 @@ static struct snd_soc_dai_driver msm_dai_q6_afe_rx_dai[] = { .formats = SNDRV_PCM_FMTBIT_S16_LE | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, SNDRV_PCM_FMTBIT_S24_LE, .channels_min = 1, .channels_min = 1, .channels_max = 2, .channels_max = 10, .rate_min = 8000, .rate_min = 8000, .rate_max = 48000, .rate_max = 48000, }, }, Loading
asoc/msm-pcm-afe-v2.c +2 −2 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. */ */ Loading Loading @@ -50,7 +50,7 @@ static struct snd_pcm_hardware msm_afe_hardware_playback = { .rate_min = 8000, .rate_min = 8000, .rate_max = 48000, .rate_max = 48000, .channels_min = 1, .channels_min = 1, .channels_max = 6, .channels_max = 10, .buffer_bytes_max = MAX_PLAYBACK_PERIOD_SIZE * .buffer_bytes_max = MAX_PLAYBACK_PERIOD_SIZE * MAX_PLAYBACK_NUM_PERIODS, MAX_PLAYBACK_NUM_PERIODS, .period_bytes_min = MIN_PLAYBACK_PERIOD_SIZE, .period_bytes_min = MIN_PLAYBACK_PERIOD_SIZE, Loading
asoc/msm-pcm-routing-v2.c +61 −3 Original line number Original line Diff line number Diff line Loading @@ -134,6 +134,7 @@ enum { #define TX_CDC_DMA_TX_3_TEXT "TX_CDC_DMA_TX_3" #define TX_CDC_DMA_TX_3_TEXT "TX_CDC_DMA_TX_3" #define QUIN_TDM_TX_TEXT "QUIN_TDM_TX_0" #define QUIN_TDM_TX_TEXT "QUIN_TDM_TX_0" #define TERT_TDM_TX_TEXT "TERT_TDM_TX_0" #define TERT_TDM_TX_TEXT "TERT_TDM_TX_0" #define AFE_PCM_TX_TEXT "AFE_PCM_TX" #define LSM_FUNCTION_TEXT "LSM Function" #define LSM_FUNCTION_TEXT "LSM Function" static const char * const lsm_port_text[] = { static const char * const lsm_port_text[] = { Loading @@ -143,7 +144,7 @@ static const char * const lsm_port_text[] = { TERT_MI2S_TX_TEXT, QUAT_MI2S_TX_TEXT, ADM_LSM_TX_TEXT, TERT_MI2S_TX_TEXT, QUAT_MI2S_TX_TEXT, ADM_LSM_TX_TEXT, INT3_MI2S_TX_TEXT, VA_CDC_DMA_TX_0_TEXT, VA_CDC_DMA_TX_1_TEXT, INT3_MI2S_TX_TEXT, VA_CDC_DMA_TX_0_TEXT, VA_CDC_DMA_TX_1_TEXT, VA_CDC_DMA_TX_2_TEXT, TX_CDC_DMA_TX_3_TEXT, QUIN_TDM_TX_TEXT, VA_CDC_DMA_TX_2_TEXT, TX_CDC_DMA_TX_3_TEXT, QUIN_TDM_TX_TEXT, TERT_TDM_TX_TEXT TERT_TDM_TX_TEXT, AFE_PCM_TX_TEXT }; }; struct msm_pcm_route_bdai_pp_params { struct msm_pcm_route_bdai_pp_params { Loading Loading @@ -2016,7 +2017,6 @@ int msm_pcm_routing_reg_phy_compr_stream(int fe_id, int perf_mode, 352800) && be_bit_width == 32) 352800) && be_bit_width == 32) bit_width = msm_routing_get_bit_width( bit_width = msm_routing_get_bit_width( SNDRV_PCM_FORMAT_S32_LE); SNDRV_PCM_FORMAT_S32_LE); copp_idx = copp_idx = adm_open(port_id, path_type, sample_rate, adm_open(port_id, path_type, sample_rate, channels, topology, perf_mode, channels, topology, perf_mode, Loading Loading @@ -3601,6 +3601,9 @@ static int msm_routing_lsm_port_put(struct snd_kcontrol *kcontrol, case 16: case 16: lsm_port = AFE_PORT_ID_TERTIARY_TDM_TX; lsm_port = AFE_PORT_ID_TERTIARY_TDM_TX; break; break; case 17: lsm_port = RT_PROXY_PORT_001_TX; break; default: default: pr_err("Default lsm port"); pr_err("Default lsm port"); break; break; Loading Loading @@ -3662,6 +3665,10 @@ static int msm_routing_lsm_func_get(struct snd_kcontrol *kcontrol, strlen(lsm_port_text[16]))) strlen(lsm_port_text[16]))) port_id = AFE_PORT_ID_TERTIARY_TDM_TX; port_id = AFE_PORT_ID_TERTIARY_TDM_TX; if (strnstr(kcontrol->id.name, lsm_port_text[17], strlen(lsm_port_text[17]))) port_id = RT_PROXY_PORT_001_TX; mad_type = afe_port_get_mad_type(port_id); mad_type = afe_port_get_mad_type(port_id); pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, mad_type); mad_type); Loading Loading @@ -3754,6 +3761,10 @@ static int msm_routing_lsm_func_put(struct snd_kcontrol *kcontrol, strlen(lsm_port_text[16]))) strlen(lsm_port_text[16]))) port_id = AFE_PORT_ID_TERTIARY_TDM_TX; port_id = AFE_PORT_ID_TERTIARY_TDM_TX; if (strnstr(kcontrol->id.name, lsm_port_text[17], strlen(lsm_port_text[17]))) port_id = RT_PROXY_PORT_001_TX; pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, pr_debug("%s: port_id 0x%x, mad_type %d\n", __func__, port_id, mad_type); mad_type); return afe_port_set_mad_type(port_id, mad_type); return afe_port_set_mad_type(port_id, mad_type); Loading Loading @@ -6089,6 +6100,10 @@ static int get_ec_ref_port_id(int value, int *index) *index = 43; *index = 43; port_id = AFE_PORT_ID_QUINARY_MI2S_RX; port_id = AFE_PORT_ID_QUINARY_MI2S_RX; break; break; case 44: *index = 44; port_id = RT_PROXY_PORT_001_TX; break; default: default: *index = 0; /* NONE */ *index = 0; /* NONE */ pr_err("%s: Invalid value %d\n", __func__, value); pr_err("%s: Invalid value %d\n", __func__, value); Loading Loading @@ -6147,7 +6162,7 @@ static const char *const ec_ref_rx[] = { "None", "SLIM_RX", "I2S_RX", "SLIM_7_RX", "RX_CDC_DMA_RX_0", "RX_CDC_DMA_RX_1", "RX_CDC_DMA_RX_2", "SLIM_7_RX", "RX_CDC_DMA_RX_0", "RX_CDC_DMA_RX_1", "RX_CDC_DMA_RX_2", "RX_CDC_DMA_RX_3", "TX_CDC_DMA_TX_0", "TERT_TDM_RX_2", "SEC_TDM_TX_0", "RX_CDC_DMA_RX_3", "TX_CDC_DMA_TX_0", "TERT_TDM_RX_2", "SEC_TDM_TX_0", "DISPLAY_PORT1", "SEN_MI2S_RX", "QUIN_TDM_TX_0", "SENARY_MI2S_TX", "DISPLAY_PORT1", "SEN_MI2S_RX", "QUIN_TDM_TX_0", "SENARY_MI2S_TX", "PRI_TDM_RX_0", "PRI_TDM_TX_0", "QUIN_MI2S_RX", "PRI_TDM_RX_0", "PRI_TDM_TX_0", "QUIN_MI2S_RX", "AFE_PCM_TX", }; }; static const struct soc_enum msm_route_ec_ref_rx_enum[] = { static const struct soc_enum msm_route_ec_ref_rx_enum[] = { Loading Loading @@ -25064,6 +25079,10 @@ static const struct snd_kcontrol_new lsm1_mixer_controls[] = { MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM1, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm2_mixer_controls[] = { static const struct snd_kcontrol_new lsm2_mixer_controls[] = { Loading Loading @@ -25128,6 +25147,10 @@ static const struct snd_kcontrol_new lsm2_mixer_controls[] = { MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM2, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm3_mixer_controls[] = { static const struct snd_kcontrol_new lsm3_mixer_controls[] = { Loading Loading @@ -25191,6 +25214,10 @@ static const struct snd_kcontrol_new lsm3_mixer_controls[] = { MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM3, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm4_mixer_controls[] = { static const struct snd_kcontrol_new lsm4_mixer_controls[] = { Loading Loading @@ -25254,6 +25281,10 @@ static const struct snd_kcontrol_new lsm4_mixer_controls[] = { MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM4, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm5_mixer_controls[] = { static const struct snd_kcontrol_new lsm5_mixer_controls[] = { Loading Loading @@ -25317,6 +25348,10 @@ static const struct snd_kcontrol_new lsm5_mixer_controls[] = { MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM5, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm6_mixer_controls[] = { static const struct snd_kcontrol_new lsm6_mixer_controls[] = { Loading Loading @@ -25380,6 +25415,10 @@ static const struct snd_kcontrol_new lsm6_mixer_controls[] = { MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM6, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm7_mixer_controls[] = { static const struct snd_kcontrol_new lsm7_mixer_controls[] = { Loading Loading @@ -25443,6 +25482,10 @@ static const struct snd_kcontrol_new lsm7_mixer_controls[] = { MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM7, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new lsm8_mixer_controls[] = { static const struct snd_kcontrol_new lsm8_mixer_controls[] = { Loading Loading @@ -25506,6 +25549,10 @@ static const struct snd_kcontrol_new lsm8_mixer_controls[] = { MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), msm_routing_put_listen_mixer), #endif #endif SOC_DOUBLE_EXT("AFE_PCM_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_AFE_PCM_TX, MSM_FRONTEND_DAI_LSM8, 1, 0, msm_routing_get_listen_mixer, msm_routing_put_listen_mixer), }; }; static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = Loading Loading @@ -25623,6 +25670,8 @@ static const struct snd_kcontrol_new lsm_controls[] = { msm_routing_lsm_func_get, msm_routing_lsm_func_put), msm_routing_lsm_func_get, msm_routing_lsm_func_put), SOC_ENUM_EXT(TERT_TDM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, SOC_ENUM_EXT(TERT_TDM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, msm_routing_lsm_func_get, msm_routing_lsm_func_put), msm_routing_lsm_func_get, msm_routing_lsm_func_put), SOC_ENUM_EXT(AFE_PCM_TX_TEXT" "LSM_FUNCTION_TEXT, lsm_func_enum, msm_routing_lsm_func_get, msm_routing_lsm_func_put), /* kcontrol of lsm_port */ /* kcontrol of lsm_port */ SOC_ENUM_EXT("LSM1 Port", lsm_port_enum, SOC_ENUM_EXT("LSM1 Port", lsm_port_enum, msm_routing_lsm_port_get, msm_routing_lsm_port_get, Loading Loading @@ -33022,6 +33071,15 @@ static const struct snd_soc_dapm_route intercon_tdm[] = { {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"LSM8 Mixer", "QUIN_TDM_TX_0", "QUIN_TDM_TX_0"}, {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"LSM8 Mixer", "TERT_TDM_TX_0", "TERT_TDM_TX_0"}, {"LSM1 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM2 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM3 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM4 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM5 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM6 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM7 Mixer", "AFE_PCM_TX", "PCM_TX"}, {"LSM8 Mixer", "AFE_PCM_TX", "PCM_TX"}, /* Backend Enablement */ /* Backend Enablement */ {"BE_OUT", NULL, "PRI_TDM_RX_0"}, {"BE_OUT", NULL, "PRI_TDM_RX_0"}, {"BE_OUT", NULL, "PRI_TDM_RX_1"}, {"BE_OUT", NULL, "PRI_TDM_RX_1"},