From 27b6c75029dfa672a65e5f47f967b9aaa21226ef Mon Sep 17 00:00:00 2001 From: Xiaojun Sang Date: Thu, 16 Apr 2020 20:05:01 +0800 Subject: [PATCH] asoc: codecs: fix incorrect micbias value set at rouleur Micbias value set does not take effect on rouleur. Shift micbias value to correct bits. Change-Id: Ice083e3bc30f6e8e3fe7132c633a4043329ccfa5 Signed-off-by: Xiaojun Sang --- asoc/codecs/rouleur/rouleur.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/asoc/codecs/rouleur/rouleur.c b/asoc/codecs/rouleur/rouleur.c index 768b5e3455f2..36b5213d6464 100644 --- a/asoc/codecs/rouleur/rouleur.c +++ b/asoc/codecs/rouleur/rouleur.c @@ -1103,7 +1103,7 @@ int rouleur_mbhc_micb_adjust_voltage(struct snd_soc_component *component, */ cur_vout_ctl = (snd_soc_component_read32(component, ROULEUR_ANA_MICBIAS_LDO_1_SETTING)) & 0xF8; - + cur_vout_ctl = cur_vout_ctl >> 3; req_vout_ctl = rouleur_get_micb_vout_ctl_val(req_volt); if (req_vout_ctl < 0) { ret = -EINVAL; @@ -1123,7 +1123,7 @@ int rouleur_mbhc_micb_adjust_voltage(struct snd_soc_component *component, pullup_mask); snd_soc_component_update_bits(component, - ROULEUR_ANA_MICBIAS_LDO_1_SETTING, 0xF8, req_vout_ctl); + ROULEUR_ANA_MICBIAS_LDO_1_SETTING, 0xF8, req_vout_ctl << 3); if (micb_en == 0x1) { snd_soc_component_update_bits(component, micb_reg, @@ -1892,7 +1892,7 @@ static int rouleur_set_micbias_data(struct rouleur_priv *rouleur, goto done; } regmap_update_bits(rouleur->regmap, ROULEUR_ANA_MICBIAS_LDO_1_SETTING, - 0xF8, vout_ctl); + 0xF8, vout_ctl << 3); done: return rc; }