[alsa-devel] Dell AIO speaker pop noise

Kailang kailang at realtek.com
Wed Apr 17 09:37:34 CEST 2019



> -----Original Message-----
> From: hwang4 <hui.wang at canonical.com>
> Sent: Tuesday, April 16, 2019 11:04 PM
> To: Kailang <kailang at realtek.com>; Takashi Iwai <tiwai at suse.de>
> Cc: (alsa-devel at alsa-project.org) <alsa-devel at alsa-project.org>
> Subject: Re: [alsa-devel] Dell AIO speaker pop noise
> 
> 
> 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.

We could fixed in the code for AIO platform.

> 
> 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?
> 
I don't know for hardware. ODM always test pass by Windows. 
Then notice us for issue happen on Linux.
I also mention that DELL ALC225 with external AMP was not has this issue.

> 
> 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.


More information about the Alsa-devel mailing list