[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y/it8z/w2c+gS/85@sirena.org.uk>
Date: Fri, 24 Feb 2023 12:30:43 +0000
From: Mark Brown <broonie@...nel.org>
To: Chancel Liu <chancel.liu@....com>
Cc: "lgirdwood@...il.com" <lgirdwood@...il.com>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"krzysztof.kozlowski+dt@...aro.org"
<krzysztof.kozlowski+dt@...aro.org>,
"perex@...ex.cz" <perex@...ex.cz>,
"tiwai@...e.com" <tiwai@...e.com>,
"ckeepax@...nsource.cirrus.com" <ckeepax@...nsource.cirrus.com>,
"patches@...nsource.cirrus.com" <patches@...nsource.cirrus.com>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: Re: Re: [PATCH 4/4] ASoC: wm8524: Delay some time to follow power up
sequency
On Fri, Feb 24, 2023 at 10:54:59AM +0000, Chancel Liu wrote:
> > On Wed, Feb 22, 2023 at 07:39:45PM +0800, Chancel Liu wrote:
> > Doing a 100ms busy wait in atomic context does not seem like a great
> > idea, never mind a 1.5s one. This shouldn't be done in trigger, it
> > needs to be done later - digital_mute() might be a better time to hook
> > in, though longer delays like this are really quite bad.
> Yes, such long time delay in driver is very bad. But this device requires
> waiting some time before able to output audio. We have to wait otherwise the
> beginning data may be lost.
It's not just that it's doing this in the driver, it's doing it in the
trigger() function which runs in atomic context. That's unreasonable.
> The power up to audio out timing occurs after MCLK, BCLK and MUTE=1 are ready.
> I added the delay in trigger() because some CPU DAI drivers enable BCLK in
> trigger(). You suggested moving the delay to digital_mute(). It seems
> digital_mute() is called before cpu_dai->trigger. Please correct me if I'm
> wrong.
Hrm, right - in any case, it needs to be somewhere that isn't atomic
context.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists