Skip to content

Commit cc4d15f

Browse files
Srinivas-Kandagatlagregkh
authored andcommitted
ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
[ Upstream commit 5babb01 ] move all the digital gains form using SX_TLV to S8_TLV, these gains are actually 8 bit gains with 7th signed bit and ranges from -84dB to +40dB rest of the Qualcomm wcd codecs uses these properly. Fixes: ef8a475 ("ASoC: msm8916-wcd-digital: Add sidetone support") Fixes: 150db8c ("ASoC: codecs: Add msm8916-wcd digital codec") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220609111901.318047-2-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 7d050b2 commit cc4d15f

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

sound/soc/codecs/msm8916-wcd-digital.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,8 @@ static const struct snd_kcontrol_new rx1_mix2_inp1_mux = SOC_DAPM_ENUM(
328328
static const struct snd_kcontrol_new rx2_mix2_inp1_mux = SOC_DAPM_ENUM(
329329
"RX2 MIX2 INP1 Mux", rx2_mix2_inp1_chain_enum);
330330

331-
/* Digital Gain control -38.4 dB to +38.4 dB in 0.3 dB steps */
332-
static const DECLARE_TLV_DB_SCALE(digital_gain, -3840, 30, 0);
331+
/* Digital Gain control -84 dB to +40 dB in 1 dB steps */
332+
static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400);
333333

334334
/* Cutoff Freq for High Pass Filter at -3dB */
335335
static const char * const hpf_cutoff_text[] = {
@@ -510,15 +510,15 @@ static int wcd_iir_filter_info(struct snd_kcontrol *kcontrol,
510510

511511
static const struct snd_kcontrol_new msm8916_wcd_digital_snd_controls[] = {
512512
SOC_SINGLE_S8_TLV("RX1 Digital Volume", LPASS_CDC_RX1_VOL_CTL_B2_CTL,
513-
-128, 127, digital_gain),
513+
-84, 40, digital_gain),
514514
SOC_SINGLE_S8_TLV("RX2 Digital Volume", LPASS_CDC_RX2_VOL_CTL_B2_CTL,
515-
-128, 127, digital_gain),
515+
-84, 40, digital_gain),
516516
SOC_SINGLE_S8_TLV("RX3 Digital Volume", LPASS_CDC_RX3_VOL_CTL_B2_CTL,
517-
-128, 127, digital_gain),
517+
-84, 40, digital_gain),
518518
SOC_SINGLE_S8_TLV("TX1 Digital Volume", LPASS_CDC_TX1_VOL_CTL_GAIN,
519-
-128, 127, digital_gain),
519+
-84, 40, digital_gain),
520520
SOC_SINGLE_S8_TLV("TX2 Digital Volume", LPASS_CDC_TX2_VOL_CTL_GAIN,
521-
-128, 127, digital_gain),
521+
-84, 40, digital_gain),
522522
SOC_ENUM("TX1 HPF Cutoff", tx1_hpf_cutoff_enum),
523523
SOC_ENUM("TX2 HPF Cutoff", tx2_hpf_cutoff_enum),
524524
SOC_SINGLE("TX1 HPF Switch", LPASS_CDC_TX1_MUX_CTL, 3, 1, 0),
@@ -553,22 +553,22 @@ static const struct snd_kcontrol_new msm8916_wcd_digital_snd_controls[] = {
553553
WCD_IIR_FILTER_CTL("IIR2 Band3", IIR2, BAND3),
554554
WCD_IIR_FILTER_CTL("IIR2 Band4", IIR2, BAND4),
555555
WCD_IIR_FILTER_CTL("IIR2 Band5", IIR2, BAND5),
556-
SOC_SINGLE_SX_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL,
557-
0, -84, 40, digital_gain),
558-
SOC_SINGLE_SX_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL,
559-
0, -84, 40, digital_gain),
560-
SOC_SINGLE_SX_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL,
561-
0, -84, 40, digital_gain),
562-
SOC_SINGLE_SX_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL,
563-
0, -84, 40, digital_gain),
564-
SOC_SINGLE_SX_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL,
565-
0, -84, 40, digital_gain),
566-
SOC_SINGLE_SX_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL,
567-
0, -84, 40, digital_gain),
568-
SOC_SINGLE_SX_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL,
569-
0, -84, 40, digital_gain),
570-
SOC_SINGLE_SX_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL,
571-
0, -84, 40, digital_gain),
556+
SOC_SINGLE_S8_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL,
557+
-84, 40, digital_gain),
558+
SOC_SINGLE_S8_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL,
559+
-84, 40, digital_gain),
560+
SOC_SINGLE_S8_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL,
561+
-84, 40, digital_gain),
562+
SOC_SINGLE_S8_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL,
563+
-84, 40, digital_gain),
564+
SOC_SINGLE_S8_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL,
565+
-84, 40, digital_gain),
566+
SOC_SINGLE_S8_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL,
567+
-84, 40, digital_gain),
568+
SOC_SINGLE_S8_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL,
569+
-84, 40, digital_gain),
570+
SOC_SINGLE_S8_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL,
571+
-84, 40, digital_gain),
572572

573573
};
574574

0 commit comments

Comments
 (0)