alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: John Hsu <KCHSU0@nuvoton.com>
To: Mark Brown <broonie@kernel.org>
Cc: AP MS30 Linux ALSA <alsa-devel@alsa-project.org>,
	"anatol.pomozov@gmail.com" <anatol.pomozov@gmail.com>,
	AC30 YHChuang <YHCHuang@nuvoton.com>,
	AC30 WTLi <WTLI@nuvoton.com>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"benzh@chromium.org" <benzh@chromium.org>,
	AC30 CTLin0 <CTLIN0@nuvoton.com>, MS40 MHKuo <MHKuo@nuvoton.com>,
	"yong.zhi@intel.com" <yong.zhi@intel.com>
Subject: Re: [PATCH] ASoC: nau8825: erase pop noise by soft mute
Date: Mon, 3 Oct 2016 19:21:40 +0800	[thread overview]
Message-ID: <57F23F44.40308@nuvoton.com> (raw)
In-Reply-To: <20160924191156.e6mu2vlhhaltkeua@sirena.org.uk>

On 9/25/2016 3:11 AM, Mark Brown wrote:
> On Wed, Sep 14, 2016 at 03:47:32PM +0800, John Hsu wrote:
>
>   
>> + * Enable soft mute to gradually lower DAC volume to zero;
>> + * Soft unmute will gradually increase DAC volume to volume setting.
>>     
>
>   
>> +		regmap_write(nau8825->regmap, NAU8825_REG_DAC_DGAIN_CTRL, 0);
>> +		regmap_update_bits(nau8825->regmap, NAU8825_REG_MUTE_CTRL,
>> +			NAU8825_DAC_SOFT_MUTE, NAU8825_DAC_SOFT_MUTE);
>>     
>
> Why are we not just exposing soft mute as a userspace control like other
> drivers do?  It seems like there's some weird interaction between
> sidetones and the soft mute which this is trying to work around but
> that's not really explained, it seems to be the main point here.
> Basically I can't figure out what's intended here.
>
>   

The issue only happens in the begin of playback. The amplitude of
output signal has abnormal change in a short time and then recover
to the level by user configuration. The amplitude change makes pop
noise. For the reason, we use soft mute to fix the pop noise because
the signal will output from small to normal case gradually. But the
steps of soft mute is not enough to cover the period of amplitude
change. Thus, we need to defer the soft mute and put the triggered
point near the signal output. The userspace control can't catch the
point as we wish.

>> +EXPORT_SYMBOL_GPL(nau8825_soft_mute);
>>     
>
> Why is this exported, how will it be used?  The function seems to be
> called from inside this driver as well...
>   

The function is exported for the machine driver. When the platform
stops the playback and it makes soft mute. When the playback starts,
the playform makes soft unmute in trigger start function. The trigger
function is the closest point of output signal, and the codec driver
can make the soft unmute deferring as short as possible.

  reply	other threads:[~2016-10-03 11:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-14  7:47 [PATCH] ASoC: nau8825: erase pop noise by soft mute John Hsu
2016-09-24 19:11 ` Mark Brown
2016-10-03 11:21   ` John Hsu [this message]
2016-11-28  3:22     ` John Hsu

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=57F23F44.40308@nuvoton.com \
    --to=kchsu0@nuvoton.com \
    --cc=CTLIN0@nuvoton.com \
    --cc=MHKuo@nuvoton.com \
    --cc=WTLI@nuvoton.com \
    --cc=YHCHuang@nuvoton.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=anatol.pomozov@gmail.com \
    --cc=benzh@chromium.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=yong.zhi@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).