Re: [PATCH v4 4/8] ASoC: sun8i-codec-analog: Add amplifier event to fix first delay

From: Chen-Yu Tsai
Date: Fri Feb 10 2017 - 01:19:15 EST


On Thu, Feb 2, 2017 at 5:24 PM, MylÃne Josserand
<mylene.josserand@xxxxxxxxxxxxxxxxxx> wrote:
> When playing a sound for the first time, a short delay, where the audio
> file is not played, can be noticed.
> On a second play (right after), the sound is played correctly.
> If we wait a short time (~5 sec which corresponds to the aplay
> timeout), the delay is back.
>
> This patch fixes it by using an event on headphone amplifier.
> It allows to keep the amplifier enable while playing a sound.
> A delay of 700ms allows to wait that the amplifier is powered-up
> before playing the sound.
>
> Signed-off-by: MylÃne Josserand <mylene.josserand@xxxxxxxxxxxxxxxxxx>
> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>

I get some static in my headphones in the time between when the
amplifier is enabled and when sound starts playing. Wonder if
this can be fixed in any way?

One solution that might work is to mute the headphone output
while the amp is being charged, by setting SUN8I_ADDA_HP_VOLC_HP_VOL
to 0, and then restoring the value once it is charged. In other
words, overriding the value for the duration of sun8i_headphone_amp_event.

Regards
ChenYu