ASoC: codecs: qualcomm move gain to S8_TLV
Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>: Move all the digital and IIR 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 Tested on DB410c with Headset playback
This commit is contained in:
commit
c5d41ca7b2
@ -328,8 +328,8 @@ static const struct snd_kcontrol_new rx1_mix2_inp1_mux = SOC_DAPM_ENUM(
|
||||
static const struct snd_kcontrol_new rx2_mix2_inp1_mux = SOC_DAPM_ENUM(
|
||||
"RX2 MIX2 INP1 Mux", rx2_mix2_inp1_chain_enum);
|
||||
|
||||
/* Digital Gain control -38.4 dB to +38.4 dB in 0.3 dB steps */
|
||||
static const DECLARE_TLV_DB_SCALE(digital_gain, -3840, 30, 0);
|
||||
/* Digital Gain control -84 dB to +40 dB in 1 dB steps */
|
||||
static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400);
|
||||
|
||||
/* Cutoff Freq for High Pass Filter at -3dB */
|
||||
static const char * const hpf_cutoff_text[] = {
|
||||
@ -510,15 +510,15 @@ static int wcd_iir_filter_info(struct snd_kcontrol *kcontrol,
|
||||
|
||||
static const struct snd_kcontrol_new msm8916_wcd_digital_snd_controls[] = {
|
||||
SOC_SINGLE_S8_TLV("RX1 Digital Volume", LPASS_CDC_RX1_VOL_CTL_B2_CTL,
|
||||
-128, 127, digital_gain),
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX2 Digital Volume", LPASS_CDC_RX2_VOL_CTL_B2_CTL,
|
||||
-128, 127, digital_gain),
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX3 Digital Volume", LPASS_CDC_RX3_VOL_CTL_B2_CTL,
|
||||
-128, 127, digital_gain),
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("TX1 Digital Volume", LPASS_CDC_TX1_VOL_CTL_GAIN,
|
||||
-128, 127, digital_gain),
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("TX2 Digital Volume", LPASS_CDC_TX2_VOL_CTL_GAIN,
|
||||
-128, 127, digital_gain),
|
||||
-84, 40, digital_gain),
|
||||
SOC_ENUM("TX1 HPF Cutoff", tx1_hpf_cutoff_enum),
|
||||
SOC_ENUM("TX2 HPF Cutoff", tx2_hpf_cutoff_enum),
|
||||
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[] = {
|
||||
WCD_IIR_FILTER_CTL("IIR2 Band3", IIR2, BAND3),
|
||||
WCD_IIR_FILTER_CTL("IIR2 Band4", IIR2, BAND4),
|
||||
WCD_IIR_FILTER_CTL("IIR2 Band5", IIR2, BAND5),
|
||||
SOC_SINGLE_SX_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL,
|
||||
-84, 40, digital_gain),
|
||||
|
||||
};
|
||||
|
||||
|
@ -2253,51 +2253,42 @@ static int wcd9335_rx_hph_mode_put(struct snd_kcontrol *kc,
|
||||
|
||||
static const struct snd_kcontrol_new wcd9335_snd_controls[] = {
|
||||
/* -84dB min - 40dB max */
|
||||
SOC_SINGLE_SX_TLV("RX0 Digital Volume", WCD9335_CDC_RX0_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX1 Digital Volume", WCD9335_CDC_RX1_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX2 Digital Volume", WCD9335_CDC_RX2_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX3 Digital Volume", WCD9335_CDC_RX3_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX4 Digital Volume", WCD9335_CDC_RX4_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX5 Digital Volume", WCD9335_CDC_RX5_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX6 Digital Volume", WCD9335_CDC_RX6_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX7 Digital Volume", WCD9335_CDC_RX7_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX8 Digital Volume", WCD9335_CDC_RX8_RX_VOL_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX0 Mix Digital Volume",
|
||||
WCD9335_CDC_RX0_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX1 Mix Digital Volume",
|
||||
WCD9335_CDC_RX1_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX2 Mix Digital Volume",
|
||||
WCD9335_CDC_RX2_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX3 Mix Digital Volume",
|
||||
WCD9335_CDC_RX3_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX4 Mix Digital Volume",
|
||||
WCD9335_CDC_RX4_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX5 Mix Digital Volume",
|
||||
WCD9335_CDC_RX5_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX6 Mix Digital Volume",
|
||||
WCD9335_CDC_RX6_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX7 Mix Digital Volume",
|
||||
WCD9335_CDC_RX7_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_SX_TLV("RX8 Mix Digital Volume",
|
||||
WCD9335_CDC_RX8_RX_VOL_MIX_CTL,
|
||||
0, -84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX0 Digital Volume", WCD9335_CDC_RX0_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX1 Digital Volume", WCD9335_CDC_RX1_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX2 Digital Volume", WCD9335_CDC_RX2_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX3 Digital Volume", WCD9335_CDC_RX3_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX4 Digital Volume", WCD9335_CDC_RX4_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX5 Digital Volume", WCD9335_CDC_RX5_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX6 Digital Volume", WCD9335_CDC_RX6_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX7 Digital Volume", WCD9335_CDC_RX7_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX8 Digital Volume", WCD9335_CDC_RX8_RX_VOL_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX0 Mix Digital Volume", WCD9335_CDC_RX0_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX1 Mix Digital Volume", WCD9335_CDC_RX1_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX2 Mix Digital Volume", WCD9335_CDC_RX2_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX3 Mix Digital Volume", WCD9335_CDC_RX3_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX4 Mix Digital Volume", WCD9335_CDC_RX4_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX5 Mix Digital Volume", WCD9335_CDC_RX5_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX6 Mix Digital Volume", WCD9335_CDC_RX6_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX7 Mix Digital Volume", WCD9335_CDC_RX7_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_SINGLE_S8_TLV("RX8 Mix Digital Volume", WCD9335_CDC_RX8_RX_VOL_MIX_CTL,
|
||||
-84, 40, digital_gain),
|
||||
SOC_ENUM("RX INT0_1 HPF cut off", cf_int0_1_enum),
|
||||
SOC_ENUM("RX INT0_2 HPF cut off", cf_int0_2_enum),
|
||||
SOC_ENUM("RX INT1_1 HPF cut off", cf_int1_1_enum),
|
||||
|
Loading…
Reference in New Issue
Block a user