lkml.org 
[lkml]   [2017]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH RFC] ASoC: rt5663: use msleep() for uncritical delay
On Tue, Jan 17, 2017 at 07:33:02PM +0000, Mark Brown wrote:
> On Wed, Jan 11, 2017 at 04:03:51PM +0100, Nicholas Mc Guire wrote:
> > The delay here does not seem to be critical with respect to longer
> > delays than 10ms as this delay is to ensure that the write took
> > effect before the next soc_update_bits/write call only, thus a
> > high resolution timer makes little sense here - msleep() should do.
>
> No, that's not what the code is doing at all.
>
> > +++ b/sound/soc/codecs/rt5663.c
> > @@ -2764,7 +2764,7 @@ static int rt5663_set_bias_level(struct snd_soc_codec *codec,
> > RT5663_PWR_FV1_MASK | RT5663_PWR_FV2_MASK |
> > RT5663_PWR_MB_MASK, RT5663_PWR_VREF1 |
> > RT5663_PWR_VREF2 | RT5663_PWR_MB);
> > - usleep_range(10000, 10005);
> > + msleep(10);
>
> The write before is turning on a bunch of analogue power bits, the
> enabled supplies will then take time to ramp up to their operating
> state before we can proceed. That's not just "make sure the change took
> effect", there's a bit more to it than that, and power up sequences are
> generally very latency sensitive as they tend to happen in response to
> user input. People are generally picking the minimum value they can
> reliably get away with and a lot of effort goes into optimising the
> power up procedures.
>
> That doesn't mean that the change is bad but the analysis in the
> changelog is and could cause confusion.
ok - thanks for the explaination - you are right that I was not seeing
the actual intent of the delay here but simply took it as a I/O delay.

The change should stay valid as both msleep() and usleep_range() can
very significantly overrun their stated values and that should be safe here
(or the code has a deeper rooted problem) while the usage of the high-resolution
timers does not seem to bring any benefit here.

Will clean up the commit message and resend this as well.

thx!
hofrat

\
 
 \ /
  Last update: 2017-01-19 17:56    [W:0.045 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site