summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-13 15:45:38 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-13 15:45:38 -0700
commitaa958278d16faccd0cc79650b94ea6aa18d4131d (patch)
tree036dd98f2925c99a212b9da49f92309ec8e56897 /sound
parent559ef8a42882b5e6ad9daa3f561dd1e734a7550e (diff)
parent71866e7918d8af2f01d78869000c98671512dd27 (diff)
Merge "ASoC: wcd9335: Update decimator filter cutoff frequency"
Diffstat (limited to 'sound')
-rwxr-xr-xsound/soc/codecs/wcd9335.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sound/soc/codecs/wcd9335.c b/sound/soc/codecs/wcd9335.c
index d8787ed249db..439a474ce183 100755
--- a/sound/soc/codecs/wcd9335.c
+++ b/sound/soc/codecs/wcd9335.c
@@ -5719,9 +5719,20 @@ static int tasha_codec_enable_dec(struct snd_soc_dapm_widget *w,
msecs_to_jiffies(300));
break;
case SND_SOC_DAPM_PRE_PMD:
+ hpf_cut_off_freq =
+ tasha->tx_hpf_work[decimator].hpf_cut_off_freq;
snd_soc_update_bits(codec, tx_vol_ctl_reg, 0x10, 0x10);
snd_soc_update_bits(codec, dec_cfg_reg, 0x08, 0x00);
- cancel_delayed_work_sync(&tasha->tx_hpf_work[decimator].dwork);
+ if (cancel_delayed_work_sync(
+ &tasha->tx_hpf_work[decimator].dwork)) {
+ if (hpf_cut_off_freq != CF_MIN_3DB_150HZ) {
+ tasha_codec_vote_max_bw(codec, true);
+ snd_soc_update_bits(codec, dec_cfg_reg,
+ TX_HPF_CUT_OFF_FREQ_MASK,
+ hpf_cut_off_freq << 5);
+ tasha_codec_vote_max_bw(codec, false);
+ }
+ }
cancel_delayed_work_sync(
&tasha->tx_mute_dwork[decimator].dwork);
break;