]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: max98090: remove msleep in PLL unlocked workaround
authorTzung-Bi Shih <tzungbi@google.com>
Fri, 22 Nov 2019 07:31:12 +0000 (15:31 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 27 Nov 2019 12:55:20 +0000 (12:55 +0000)
commit6ac9f717e6f98c58ac442f14912a459c0ef13fcf
treec948e9df9646d03a0b8094befa4580c9a704ceeb
parent2f82898f4786521e875e1e67573f7984609f42d3
ASoC: max98090: remove msleep in PLL unlocked workaround

It was observed Baytrail-based chromebooks could cause continuous PLL
unlocked when using playback stream and capture stream simultaneously.
Specifically, starting a capture stream after started a playback stream.
As a result, the audio data could corrupt or turn completely silent.

As the datasheet suggested, the maximum PLL lock time should be 7 msec.
The workaround resets the codec softly by toggling SHDN off and on if
PLL failed to lock for 10 msec.  Notably, there is no suggested hold
time for SHDN off.

On Baytrail-based chromebooks, it would easily happen continuous PLL
unlocked if there is a 10 msec delay between SHDN off and on.  Removes
the msleep().

Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20191122073114.219945-2-tzungbi@google.com
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98090.c