diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-24 22:50:23 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 18:49:04 +0000 |
commit | 1a2c7d568f624307c5821f31e54727a4b374855c (patch) | |
tree | d7cb9c4fa68a8a7dd2f3ffb37d9adc3f488e020d /sound/soc/codecs/arizona.c | |
parent | 49bc389ec2318b75e86a3c3239a495d7a8311046 (diff) | |
download | blackbird-op-linux-1a2c7d568f624307c5821f31e54727a4b374855c.tar.gz blackbird-op-linux-1a2c7d568f624307c5821f31e54727a4b374855c.zip |
ASoC: arizona: Add delay after powering up line level outputs
Ensure that the outputs are fully enabled before we begin passing audio
through them.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/arizona.c')
-rw-r--r-- | sound/soc/codecs/arizona.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index abdd019c5b6e..389f23253831 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c @@ -579,6 +579,24 @@ int arizona_out_ev(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { + switch (event) { + case SND_SOC_DAPM_POST_PMU: + switch (w->shift) { + case ARIZONA_OUT1L_ENA_SHIFT: + case ARIZONA_OUT1R_ENA_SHIFT: + case ARIZONA_OUT2L_ENA_SHIFT: + case ARIZONA_OUT2R_ENA_SHIFT: + case ARIZONA_OUT3L_ENA_SHIFT: + case ARIZONA_OUT3R_ENA_SHIFT: + msleep(17); + break; + + default: + break; + } + break; + } + return 0; } EXPORT_SYMBOL_GPL(arizona_out_ev); |