[alsa-devel] Dell AIO speaker pop noise

hwang4 hui.wang at canonical.com
Tue Apr 16 13:26:47 CEST 2019


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


More information about the Alsa-devel mailing list