[alsa-devel] Dell AIO speaker pop noise

Kailang kailang at realtek.com
Fri Apr 26 10:32:48 CEST 2019


Hi Takashi,

I attach new final patch.

Fixed Dell AIO speaker noise.
spec->gen.auto_mute_via_amp = 1, this option was solved speaker white noise at boot.
	AIO with external AMP, pin output doesn't fill 0x0.

codec->power_save_node = 0, this option was solved speaker pop noise at resume back.

I think add upper two options was needed.
Many Thanks.

BR,
Kailang


> -----Original Message-----
> From: Takashi Iwai <tiwai at suse.de>
> Sent: Tuesday, April 16, 2019 11:17 PM
> To: hwang4 <hui.wang at canonical.com>
> Cc: Kailang <kailang at realtek.com>; (alsa-devel at alsa-project.org)
> <alsa-devel at alsa-project.org>
> Subject: Re: [alsa-devel] Dell AIO speaker pop noise
> 
> On Tue, 16 Apr 2019 17:04:19 +0200,
> hwang4 wrote:
> >
> >
> > On 2019/4/16 下午10:18, Kailang wrote:
> > > Hi Hui,
> > >
> > > AIO was wire power cable. It doesn't include battery.
> > > I think AIO can use power_save = 0 option.
> > > Because codec power consumption was lower. It was 0.01W~0.02W
> without work time.
> > > How did you think?
> >
> > That sounds good. But I just checked the kconfig of ubuntu bionic
> > kernel (4.15) , we set CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
> already.  I
> > guess there is some package to change it to 1, in the past it was TLP
> > package.
> 
> The parameter is dynamically adjustable so you cannot disable it completely in
> that way.
> 
> > Is it possible the HW has some problem. The EAPD is the output pin
> > from codec, if there is no pull-up resistor for this pin and the codec
> > is entering D3, what the status is for EAPD pin? high or low? After
> > the codec is entering D3, is the EAPD pin open-drain output?
> 
> Well, it'd be helpful if you guys clarify more specifically what we need to
> disable.  Is it only about EAPD pin for NID 0x14?  Or anything else?
> Depending on the requirement, we may have another less intrusive fix.
> 
> 
> thanks,
> 
> Takashi
> 
> >
> >
> > Thanks,
> >
> > Hui.
> >
> >
> > >
> > > CPU or VGA chip which power consumption was more than 20W above.
> > >
> > > BR,
> > > Kailang
> > >
> > >> -----Original Message-----
> > >> From: hwang4 <hui.wang at canonical.com>
> > >> Sent: Tuesday, April 16, 2019 7:27 PM
> > >> To: Takashi Iwai <tiwai at suse.de>
> > >> Cc: (alsa-devel at alsa-project.org) <alsa-devel at alsa-project.org>;
> > >> Kailang <kailang at realtek.com>
> > >> Subject: Re: [alsa-devel] Dell AIO speaker pop noise
> > >>
> > >> On 2019/4/16 下午5:43, Takashi Iwai wrote:
> > >>> On Tue, 16 Apr 2019 11:31:22 +0200,
> > >>> hwang4 wrote:
> > >>>> On 2019/4/16 下午4:59, Kailang wrote:
> > >>>>>> -----Original Message-----
> > >>>>>> From: Takashi Iwai <tiwai at suse.de>
> > >>>>>> Sent: Tuesday, April 16, 2019 4:22 PM
> > >>>>>> To: Jaroslav Kysela <perex at perex.cz>
> > >>>>>> Cc: Kailang <kailang at realtek.com>; hwang4
> > >> <hui.wang at canonical.com>;
> > >>>>>> (alsa-devel at alsa-project.org) <alsa-devel at alsa-project.org>
> > >>>>>> Subject: Re: [alsa-devel] Dell AIO speaker pop noise
> > >>>>>>
> > >>>>>> On Tue, 16 Apr 2019 10:01:31 +0200, Jaroslav Kysela wrote:
> > >>>>>>> Dne 16. 04. 19 v 9:30 Kailang napsal(a):
> > >>>>>>>> Hi Takashi,
> > >>>>>>>>
> > >>>>>>>> Issue 1: The noise keeps occurring via speaker when Headset
> > >>>>>>>> is
> > >> plugged in.
> > >>>>>>>> Issue 2: The humming noise is occuring when switching to
> > >>>>>>>> sound of
> > >>>>>> settings.
> > >>>>>>>> 	 The noise will be stopped when switching to other options
> > >>>>>>>> of
> > >> settings.
> > >>>>>>>> Issue 3: The popping noise occurred for one second when
> > >>>>>>>> plugged in and
> > >>>>>> removed the headset.
> > >>>>>>>> This patch will solve this three issues.
> > >>>>>>> Hi,
> > >>>>>>>
> > >>>>>>>      could you explain, why the power-save function causes
> > >>>>>>> this behaviour? Can we do something else than turning off the
> > >>>>>>> power-save codec settings to avoid such noises? I have this
> > >>>>>>> question because it's really
> > >>>>>> easy to disable something, but I feel that the culprit of the
> > >>>>>> noises might be just the wrong codec settings. I guess that you
> > >>>>>> have probably full documentation for the codec and probably for
> > >>>>>> the hardware, so it might be nice to find the real culprit.
> > >>>>>>
> > >>>>>> Note that power_save_node=0 doesn't mean that the whole power
> > >>>>>> saving is disabled.  It disables the fine-grained power saving,
> > >>>>>> i.e. powering down the unused widget nodes.
> > >>>>>>
> > >>>>>> If so, I wonder whether this might be about the default
> > >>>>>> pin-shutup behavior.  I improved the click noise problem on my
> > >>>>>> Dell desktop by disabling the pin shutup.  See commit
> c0ca5eced222.
> > >>>>>> Kailang, Hui, did you try to add the chain to
> ALC269_FIXUP_NO_SHUTUP?
> > >>>>>>
> > >>>>> This noise was not happen on poweroff.
> > >>>>> AIO use external AMP. So, it will be need to have a reference
> > >>>>> voltage via
> > >> codec.
> > >>>>> So, Pin-ctls was not be 0. I apply option
> > >>>>> spec->gen.suppress_auto_mute = 1
> > >> to avoid that.
> > >>>>> Internal SPK PIN also don't enter to D3. But I find it just only
> > >>>>> happen on
> > >> ALC274 family codecs.
> > >>>>> ALC274 pin enter to D3. Pin-ctls also be 0. So,
> > >>>>> power_save_node=0 will let
> > >> PIN to D0.
> > >>>>> power_save = 0 it also could solve issue.
> > >>>> Yes, avoid setting pinctl is only part fix, the ODM said the main
> > >>>> problem is the EAPD pin is high->low->high->low periodically, it
> > >>>> has sth to do with the widget node power state.
> > >>> FWIW, there is also spec->gen.keep_eapd_on=1 that prevents the
> > >>> EAPD toggle at power saving.
> > >> Got it, but does it prevent Nodes or the whole codec from entering D3?
> > >>
> > >> Here the EADP is low, it is not because the set_eapd() is called, I
> > >> checked the EAPD of all nodes, they are all 0x2 all the time. And
> > >> patch_realtek already set the own_eapd_ctl=1, and the NID for speaker is
> 0x16, it is not in the:
> > >>
> > >>       static hda_nid_t pins[] = {
> > >>           0x0f, 0x10, 0x14, 0x15, 0x17, 0
> > >>       };
> > >>
> > >> So the driver will not set the eapd to 0 for speaker. If
> > >> keep_eapd_on=1 can prevent codec/nodes from entering D3, maybe it
> will help.
> > >>
> > >> Thanks,
> > >>
> > >> Hui.
> > >>
> > >>>
> > >>> Takashi
> > >>> _______________________________________________
> > >>> Alsa-devel mailing list
> > >>> Alsa-devel at alsa-project.org
> > >>> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > >> ------Please consider the environment before printing this e-mail.
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dell-aio-spk-noise.patch
Type: application/octet-stream
Size: 952 bytes
Desc: 0001-dell-aio-spk-noise.patch
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20190426/88a9aac8/attachment-0001.obj>


More information about the Alsa-devel mailing list