diff options
author | Mark Brown <broonie@kernel.org> | 2017-10-26 03:45:33 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-10-26 03:45:33 -0400 |
commit | cc0b8139d87b6d9efa3ae24cdb8d92e48da0143f (patch) | |
tree | 850ad1743c8feb001542cc316222471907286b38 | |
parent | 613733f0bd096fb74e39d1c150decb20da187167 (diff) | |
parent | 664611e7e02f76fbc5470ef545b2657ed25c292b (diff) |
Merge remote-tracking branch 'asoc/fix/msm8916' into asoc-linus
-rw-r--r-- | sound/soc/codecs/msm8916-wcd-analog.c | 7 | ||||
-rw-r--r-- | sound/soc/codecs/msm8916-wcd-digital.c | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/sound/soc/codecs/msm8916-wcd-analog.c b/sound/soc/codecs/msm8916-wcd-analog.c index 549c269acc7d..a42f8ebb9670 100644 --- a/sound/soc/codecs/msm8916-wcd-analog.c +++ b/sound/soc/codecs/msm8916-wcd-analog.c | |||
@@ -104,7 +104,7 @@ | |||
104 | #define CDC_A_MICB_1_VAL (0xf141) | 104 | #define CDC_A_MICB_1_VAL (0xf141) |
105 | #define MICB_MIN_VAL 1600 | 105 | #define MICB_MIN_VAL 1600 |
106 | #define MICB_STEP_SIZE 50 | 106 | #define MICB_STEP_SIZE 50 |
107 | #define MICB_VOLTAGE_REGVAL(v) ((v - MICB_MIN_VAL)/MICB_STEP_SIZE) | 107 | #define MICB_VOLTAGE_REGVAL(v) (((v - MICB_MIN_VAL)/MICB_STEP_SIZE) << 3) |
108 | #define MICB_1_VAL_MICB_OUT_VAL_MASK GENMASK(7, 3) | 108 | #define MICB_1_VAL_MICB_OUT_VAL_MASK GENMASK(7, 3) |
109 | #define MICB_1_VAL_MICB_OUT_VAL_V2P70V ((0x16) << 3) | 109 | #define MICB_1_VAL_MICB_OUT_VAL_V2P70V ((0x16) << 3) |
110 | #define MICB_1_VAL_MICB_OUT_VAL_V1P80V ((0x4) << 3) | 110 | #define MICB_1_VAL_MICB_OUT_VAL_V1P80V ((0x4) << 3) |
@@ -349,8 +349,9 @@ static void pm8916_wcd_analog_micbias_enable(struct snd_soc_codec *codec) | |||
349 | | MICB_1_CTL_EXT_PRECHARG_EN_ENABLE); | 349 | | MICB_1_CTL_EXT_PRECHARG_EN_ENABLE); |
350 | 350 | ||
351 | if (wcd->micbias_mv) { | 351 | if (wcd->micbias_mv) { |
352 | snd_soc_write(codec, CDC_A_MICB_1_VAL, | 352 | snd_soc_update_bits(codec, CDC_A_MICB_1_VAL, |
353 | MICB_VOLTAGE_REGVAL(wcd->micbias_mv)); | 353 | MICB_1_VAL_MICB_OUT_VAL_MASK, |
354 | MICB_VOLTAGE_REGVAL(wcd->micbias_mv)); | ||
354 | /* | 355 | /* |
355 | * Special headset needs MICBIAS as 2.7V so wait for | 356 | * Special headset needs MICBIAS as 2.7V so wait for |
356 | * 50 msec for the MICBIAS to reach 2.7 volts. | 357 | * 50 msec for the MICBIAS to reach 2.7 volts. |
diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index 66df8f810f0d..a10a724eb448 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c | |||
@@ -238,7 +238,7 @@ static const struct soc_enum rx_mix2_inp1_chain_enum = SOC_ENUM_SINGLE( | |||
238 | static const struct soc_enum rx2_mix1_inp_enum[] = { | 238 | static const struct soc_enum rx2_mix1_inp_enum[] = { |
239 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B1_CTL, 0, 6, rx_mix1_text), | 239 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B1_CTL, 0, 6, rx_mix1_text), |
240 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B1_CTL, 3, 6, rx_mix1_text), | 240 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B1_CTL, 3, 6, rx_mix1_text), |
241 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B1_CTL, 0, 6, rx_mix1_text), | 241 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX2_B2_CTL, 0, 6, rx_mix1_text), |
242 | }; | 242 | }; |
243 | 243 | ||
244 | /* RX2 MIX2 */ | 244 | /* RX2 MIX2 */ |
@@ -249,7 +249,7 @@ static const struct soc_enum rx2_mix2_inp1_chain_enum = SOC_ENUM_SINGLE( | |||
249 | static const struct soc_enum rx3_mix1_inp_enum[] = { | 249 | static const struct soc_enum rx3_mix1_inp_enum[] = { |
250 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B1_CTL, 0, 6, rx_mix1_text), | 250 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B1_CTL, 0, 6, rx_mix1_text), |
251 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B1_CTL, 3, 6, rx_mix1_text), | 251 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B1_CTL, 3, 6, rx_mix1_text), |
252 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B1_CTL, 0, 6, rx_mix1_text), | 252 | SOC_ENUM_SINGLE(LPASS_CDC_CONN_RX3_B2_CTL, 0, 6, rx_mix1_text), |
253 | }; | 253 | }; |
254 | 254 | ||
255 | /* DEC */ | 255 | /* DEC */ |