Re: [PATCH 3/3] ASoC: tlv320aic32x4: Enable fast charge

From: Alexandre Belloni
Date: Tue Sep 15 2020 - 20:43:22 EST


On 15/09/2020 12:50:34+0100, Mark Brown wrote:
> On Tue, Sep 15, 2020 at 10:26:02AM +0200, Alexandre Belloni wrote:
> > On 11/09/2020 19:31:40+0200, Miquel Raynal wrote:
>
> > > + /*
> > > + * Enable the fast charging feature and ensure the needed 40ms ellapsed
> > > + * before using the analog circuits.
> > > + */
> > > + snd_soc_component_write(component, AIC32X4_REFPOWERUP,
> > > + AIC32X4_REFPOWERUP_40MS);
> > > + msleep(40);
> > > +
>
> > Maybe the actual REFPOWERUP value could be exposed as a control so
> > userspace has a way to set the policy?
>
> We very rarely do this, there's not usially anything
>

Could you suggest something then? This mainly changes the power
codec power consumption. I guess people will want to trade latency
for less consumption.

> > I'm not sure it make sense to have the delay in probe because it is not
> > enable the analog part of the codec. The delay should probable be after
> > the clocks have been set up because the datasheet says that it is mdac
> > and madc that is starting the analog circuitry.
>
> Deferring the delay to a workqueue is the usual thing where there's
> concerns about slowing down boot.

Well, that was not my concern. I didn't realize Miquel actually used the
Force power-up values and though the actual power up happened after
configuring the clocks (as is the case for the dafule values). In this
case, the delay is at the proper location.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com