public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Georgii Staroselskii <georgii.staroselskii@emlid.com>
To: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: alsa-devel@alsa-project.org, dannym@scratchpost.org,
	tiwai@suse.com, lgirdwood@gmail.com, wens@csie.org,
	broonie@kernel.org, perex@perex.cz,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] ASoC: sun4i-codec: fix first delay on Speaker
Date: Wed, 15 May 2019 18:27:49 +0300	[thread overview]
Message-ID: <20190515152749.GA2241@softcrasher> (raw)
In-Reply-To: <20190515135813.5y72f2h526yjkncy@flea>

On Wed, May 15, 2019 at 03:58:13PM +0200, Maxime Ripard wrote:
Hi!

> Hi,
> 
> On Wed, May 15, 2019 at 03:58:40PM +0300, Georgii Staroselskii wrote:
> > This commit fixes the same issue as bf14da7 but for another codepath.
> > The issue can be triggered by having Speaker in codec audio routing.
> 
> Mentionning what "the issue" is in the commit log would be great.
> 

Sure, will do.

> > &codec {
> >         allwinner,pa-gpios = <&r_pio 0 11 GPIO_ACTIVE_HIGH>; /* PL11 */
> >         allwinner,audio-routing =
> >                 "Speaker", "LINEOUT";
> >
> >         status = "okay";
> > }
> >
> > Signed-off-by: Georgii Staroselskii <georgii.staroselskii@emlid.com>
> > ---
> >  sound/soc/sunxi/sun4i-codec.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c
> > index 15d08e3..e0099519 100644
> > --- a/sound/soc/sunxi/sun4i-codec.c
> > +++ b/sound/soc/sunxi/sun4i-codec.c
> > @@ -1329,6 +1329,15 @@ static int sun4i_codec_spk_event(struct snd_soc_dapm_widget *w,
> >  	gpiod_set_value_cansleep(scodec->gpio_pa,
> >  				 !!SND_SOC_DAPM_EVENT_ON(event));
> >
> > +	if (SND_SOC_DAPM_EVENT_ON(event)) {
> > +		/*
> > +		 * Need a delay to have the amplifier up. 700ms seems the best
> > +		 * compromise between the time to let the amplifier up and the
> > +		 * time not to feel this delay while playing a sound.
> > +		 */
> > +		msleep(700);
> > +	}
> > +
> 
> Since this is an external amplifier, I guess they would have different
> warm-up time depending on the exact part being used?
> 

I guess I might've used Speaker wrong and bumped into an existing issue.
The issue first arose when I needed to connect a speaker and use a mute
GPIO pin to toggle it. I bumped into the lag similar to the one that has
been fixed in bf14da7. The word "amplifier" here in my comments might be wrong 
and misleding. Sorry for that. I just measured the latency on the speaker I'm
using and it is well under 1ms so this is the Allwinner DAC that is
pushing the data with a lag. Or some other thing, I'm not sure.

I want to stress again that I might've experienced the issue because
I was abusing "Speaker" routing. I basically just needed the analog 
audio stream and mute GPIO handling done automatically.

bf14da7 made me think that this is some hardware Allwinner issue that
needs to be fixed here. And well, it did fix the problem.

> If so, we should use a property and set it on a per-board basis.
> 

There might be a use case for that but this issue seems to be orthogonal
to this.

> Maxime
> 
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

Best regards,
Georgii Staroselskii

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-05-15 15:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-15 12:58 [PATCH] ASoC: sun4i-codec: fix first delay on Speaker Georgii Staroselskii
2019-05-15 13:58 ` Maxime Ripard
2019-05-15 15:27   ` Georgii Staroselskii [this message]
2019-05-16 20:12     ` Maxime Ripard
2019-05-17  2:29       ` Chen-Yu Tsai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190515152749.GA2241@softcrasher \
    --to=georgii.staroselskii@emlid.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=dannym@scratchpost.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox