RE: [PATCH] ASoC: da7219: remove SRM lock check retry

From: Adam Thomson
Date: Tue Dec 03 2019 - 05:57:55 EST


On 03 December 2019 10:33, Brent Lu wrote:

> > We can potentially reduce the timings here for something shorter although
> > I'd need to speak with the HW team as to what, if any reduction is feasible.
> > However this is not a real fix as there's potential for audible noises when you
> > don't enable WCLK first. As far as I can tell the Intel platforms are capable of
> > enabling clocks early, as can be seen in this board file with early SCLK enable:
> >
> > https://elixir.bootlin.com/linux/latest/source/sound/soc/intel/boards/kbl_rt
> > 5663_max98927.c#L99
> >
> > I think there's a need to find some method to enable the WCLK signal
> > otherwise there's the potential for audible artefacts when SRM finally locks
> > which is not going to be pleasant.
> >
>
> Hi Adam,
>
> Thanks for reply. This patch is not fixing any bug. It just shorten the audio latency
> on our boards. Basically we are idling there for 400ms then print a warning
> message
> about SRM not being locked. It seems to me that 400ms is too much even for
> those
> platforms which are able to provide WCLK before calling snd_soc_dai_set_pll()
> function but it relies on your HW team to provide the number.

But on platforms where they can enable the WCLK early they shouldn't be looping
around here for anything like 400ms. In an ideal world when that widget is
run SRM should hopefully be already locked but the code does allow for some
delay. Actually, having a long delay also helps show the user that something
isn't right here so I'm somewhat loathed to change this.

Even if you do reduce the retry timings what you're still not protecting
against is the possibility of audio artefacts when SRM finally locks. You want
this to lock before the any of the audio path is up so I think we need to find
a way to resolve that rather than relying on getting lucky with a smooth
power-up.

>
> On KBL platform we have interface to control MCLK and I2S clocks like the link
> you mentioned but WCLK seems not working on my board. I can try to ask if
> someone is working on it but since we are moving to SOF. The chance is slim for
> legacy firmware.
>
>
> Regards,
> Brent