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. > &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@xxxxxxxxx> > --- > 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? If so, we should use a property and set it on a per-board basis. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel