summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/rt5677.c
diff options
context:
space:
mode:
authorOder Chiou <oder_chiou@realtek.com>2014-06-10 14:35:26 +0800
committerMark Brown <broonie@linaro.org>2014-06-21 11:34:05 +0100
commitf58c3b915287af02d192cc8fb64ae8689107ec5f (patch)
tree9a1d42bb18b0aa7b8a4ee2c66ea79fb5fb604525 /sound/soc/codecs/rt5677.c
parent80220f29d6b7f4c30aaccbe81058bdc4a83a727a (diff)
downloadlinux-stable-f58c3b915287af02d192cc8fb64ae8689107ec5f.tar.gz
linux-stable-f58c3b915287af02d192cc8fb64ae8689107ec5f.tar.bz2
linux-stable-f58c3b915287af02d192cc8fb64ae8689107ec5f.zip
ASoC: rt5677: Add a PMD case to MICBIAS1 event
The patch adds a PMD case to MICBIAS1 event. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/rt5677.c')
-rw-r--r--sound/soc/codecs/rt5677.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index f81909004fdc..8ecfb323b1b2 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -1657,6 +1657,13 @@ static int rt5677_set_micbias1_event(struct snd_soc_dapm_widget *w,
RT5677_PWR_CLK_MB, RT5677_PWR_CLK_MB1 |
RT5677_PWR_PP_MB1 | RT5677_PWR_CLK_MB);
break;
+
+ case SND_SOC_DAPM_PRE_PMD:
+ regmap_update_bits(rt5677->regmap, RT5677_PWR_ANLG2,
+ RT5677_PWR_CLK_MB1 | RT5677_PWR_PP_MB1 |
+ RT5677_PWR_CLK_MB, 0);
+ break;
+
default:
return 0;
}
@@ -1673,7 +1680,8 @@ static const struct snd_soc_dapm_widget rt5677_dapm_widgets[] = {
/* Input Side */
/* micbias */
SND_SOC_DAPM_SUPPLY("MICBIAS1", RT5677_PWR_ANLG2, RT5677_PWR_MB1_BIT,
- 0, rt5677_set_micbias1_event, SND_SOC_DAPM_POST_PMU),
+ 0, rt5677_set_micbias1_event, SND_SOC_DAPM_PRE_PMD |
+ SND_SOC_DAPM_POST_PMU),
/* Input Lines */
SND_SOC_DAPM_INPUT("DMIC L1"),