On Thu, Nov 26, 2015 at 02:03:20PM +0000, Charles Keepax wrote: > When switching between two clock sources using the FLL freerun to smooth > the transition we should wait 32uS after putting the FLL into freerun > before we proceed. In practice we appear to be getting enough delay from > the surrounding code, but better to make it explicit. You'll almost certainly get 32us from just setting up the I/O and also... > +++ b/sound/soc/codecs/arizona.c > @@ -2215,6 +2215,7 @@ static int arizona_enable_fll(struct arizona_fll *fll) > regmap_update_bits_async(fll->arizona->regmap, fll->base + 1, > ARIZONA_FLL1_FREERUN, > ARIZONA_FLL1_FREERUN); > + udelay(32); ...this won't do what you say it will - the I/O is asynchronous so what this will do is add a delay immediately after scheduling the I/O while the I/O is at best in progress and most likely before it is ever begun. You'd need to make the I/O synchronous to actually introduce the delay.
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel