diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-10-26 01:10:39 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-10-26 01:10:39 -0700 |
| commit | 3319e8c1d7997643a9f5ca4a89934b75bbd16d49 (patch) | |
| tree | 0290b9aaddb6fc4367d6cbdb56bf85d9cafb2fd8 | |
| parent | 49cc9d17a4d7f15f62c79cba6bfc9ae6448f1e35 (diff) | |
| parent | ece0ce10f6417fe53a7438ac98eec1d41771255b (diff) | |
Merge "ASoC: wcd934X: Update TX gain correctly after decimator enable"
| -rw-r--r-- | sound/soc/codecs/wcd934x/wcd934x.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/codecs/wcd934x/wcd934x.c b/sound/soc/codecs/wcd934x/wcd934x.c index b8dcd264b5d2..2f117159402e 100644 --- a/sound/soc/codecs/wcd934x/wcd934x.c +++ b/sound/soc/codecs/wcd934x/wcd934x.c @@ -3667,6 +3667,7 @@ static int tavil_codec_enable_dec(struct snd_soc_dapm_widget *w, char *wname; int ret = 0, amic_n; u16 tx_vol_ctl_reg, pwr_level_reg = 0, dec_cfg_reg, hpf_gate_reg; + u16 tx_gain_ctl_reg; char *dec; u8 hpf_cut_off_freq; @@ -3708,6 +3709,7 @@ static int tavil_codec_enable_dec(struct snd_soc_dapm_widget *w, tx_vol_ctl_reg = WCD934X_CDC_TX0_TX_PATH_CTL + 16 * decimator; hpf_gate_reg = WCD934X_CDC_TX0_TX_PATH_SEC2 + 16 * decimator; dec_cfg_reg = WCD934X_CDC_TX0_TX_PATH_CFG0 + 16 * decimator; + tx_gain_ctl_reg = WCD934X_CDC_TX0_TX_VOL_CTL + 16 * decimator; switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -3768,7 +3770,9 @@ static int tavil_codec_enable_dec(struct snd_soc_dapm_widget *w, schedule_delayed_work( &tavil->tx_hpf_work[decimator].dwork, msecs_to_jiffies(300)); - + /* apply gain after decimator is enabled */ + snd_soc_write(codec, tx_gain_ctl_reg, + snd_soc_read(codec, tx_gain_ctl_reg)); break; case SND_SOC_DAPM_PRE_PMD: hpf_cut_off_freq = |
