Loading sound/soc/msm/msm8952-slimbus.c +36 −1 Original line number Diff line number Diff line Loading @@ -1091,6 +1091,33 @@ static int msm_btsco_rate_put(struct snd_kcontrol *kcontrol, return 0; } static int msm_auxpcm_rate_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { pr_debug("%s: msm_auxpcm_rate = %d", __func__, msm8952_auxpcm_rate); ucontrol->value.integer.value[0] = msm8952_auxpcm_rate; return 0; } static int msm_auxpcm_rate_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { switch (ucontrol->value.integer.value[0]) { case RATE_8KHZ_ID: msm8952_auxpcm_rate = SAMPLING_RATE_8KHZ; break; case RATE_16KHZ_ID: msm8952_auxpcm_rate = SAMPLING_RATE_16KHZ; break; default: msm8952_auxpcm_rate = SAMPLING_RATE_8KHZ; break; } pr_debug("%s: msm_auxpcm_rate = %d\n", __func__, msm8952_auxpcm_rate); return 0; } static int msm_proxy_rx_ch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { Loading Loading @@ -1560,6 +1587,12 @@ static const struct soc_enum msm_btsco_enum[] = { SOC_ENUM_SINGLE_EXT(2, btsco_rate_text), }; static const char *const auxpcm_rate_text[] = {"SAMPLING_RATE_8KHZ", "SAMPLING_RATE_16KHZ"}; static const struct soc_enum msm_auxpcm_enum[] = { SOC_ENUM_SINGLE_EXT(2, auxpcm_rate_text), }; static const struct snd_kcontrol_new msm_snd_controls[] = { SOC_ENUM_EXT("Speaker Function", msm_snd_enum[0], msm8952_get_spk, msm8952_set_spk), Loading Loading @@ -1595,6 +1628,8 @@ static const struct snd_kcontrol_new msm_snd_controls[] = { slim0_tx_bit_format_get, slim0_tx_bit_format_put), SOC_ENUM_EXT("Internal BTSCO SampleRate", msm_btsco_enum[0], msm_btsco_rate_get, msm_btsco_rate_put), SOC_ENUM_EXT("AUXPCM SampleRate", msm_auxpcm_enum[0], msm_auxpcm_rate_get, msm_auxpcm_rate_put), SOC_ENUM_EXT("PROXY_RX Channels", msm_snd_enum[9], msm_proxy_rx_ch_get, msm_proxy_rx_ch_put), SOC_ENUM_EXT("PRI_TDM_RX_0 Channels", msm_snd_enum[13], Loading Loading
sound/soc/msm/msm8952-slimbus.c +36 −1 Original line number Diff line number Diff line Loading @@ -1091,6 +1091,33 @@ static int msm_btsco_rate_put(struct snd_kcontrol *kcontrol, return 0; } static int msm_auxpcm_rate_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { pr_debug("%s: msm_auxpcm_rate = %d", __func__, msm8952_auxpcm_rate); ucontrol->value.integer.value[0] = msm8952_auxpcm_rate; return 0; } static int msm_auxpcm_rate_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { switch (ucontrol->value.integer.value[0]) { case RATE_8KHZ_ID: msm8952_auxpcm_rate = SAMPLING_RATE_8KHZ; break; case RATE_16KHZ_ID: msm8952_auxpcm_rate = SAMPLING_RATE_16KHZ; break; default: msm8952_auxpcm_rate = SAMPLING_RATE_8KHZ; break; } pr_debug("%s: msm_auxpcm_rate = %d\n", __func__, msm8952_auxpcm_rate); return 0; } static int msm_proxy_rx_ch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { Loading Loading @@ -1560,6 +1587,12 @@ static const struct soc_enum msm_btsco_enum[] = { SOC_ENUM_SINGLE_EXT(2, btsco_rate_text), }; static const char *const auxpcm_rate_text[] = {"SAMPLING_RATE_8KHZ", "SAMPLING_RATE_16KHZ"}; static const struct soc_enum msm_auxpcm_enum[] = { SOC_ENUM_SINGLE_EXT(2, auxpcm_rate_text), }; static const struct snd_kcontrol_new msm_snd_controls[] = { SOC_ENUM_EXT("Speaker Function", msm_snd_enum[0], msm8952_get_spk, msm8952_set_spk), Loading Loading @@ -1595,6 +1628,8 @@ static const struct snd_kcontrol_new msm_snd_controls[] = { slim0_tx_bit_format_get, slim0_tx_bit_format_put), SOC_ENUM_EXT("Internal BTSCO SampleRate", msm_btsco_enum[0], msm_btsco_rate_get, msm_btsco_rate_put), SOC_ENUM_EXT("AUXPCM SampleRate", msm_auxpcm_enum[0], msm_auxpcm_rate_get, msm_auxpcm_rate_put), SOC_ENUM_EXT("PROXY_RX Channels", msm_snd_enum[9], msm_proxy_rx_ch_get, msm_proxy_rx_ch_put), SOC_ENUM_EXT("PRI_TDM_RX_0 Channels", msm_snd_enum[13], Loading