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@suse.de Sent: Tuesday, April 16, 2019 11:17 PM To: hwang4 hui.wang@canonical.com Cc: Kailang kailang@realtek.com; (alsa-devel@alsa-project.org) alsa-devel@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@canonical.com Sent: Tuesday, April 16, 2019 7:27 PM To: Takashi Iwai tiwai@suse.de Cc: (alsa-devel@alsa-project.org) alsa-devel@alsa-project.org; Kailang kailang@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@suse.de >> Sent: Tuesday, April 16, 2019 4:22 PM >> To: Jaroslav Kysela perex@perex.cz >> Cc: Kailang kailang@realtek.com; hwang4
>> (alsa-devel@alsa-project.org) alsa-devel@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@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
------Please consider the environment before printing this e-mail.