On Thu, 11 Jun 2015 07:01:13 +0200 Takashi Iwai wrote:
At Thu, 11 Jun 2015 01:12:36 +0300, Mihai Donțu wrote:
On Wed, 10 Jun 2015 20:23:01 +0200 Takashi Iwai wrote:
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Reduce click noise at power up
Some machines suffer from click noises at power up with the recent kernels, and this seems triggered at the power transition and the immediate verb executions. As a workaround, put a short delay (10ms) right after the D0 transition.
There are a few places that have the same kind of delays, especially in the resume path. I guess they can be removed (or reduced) after this patch. But, since the delay is relatively small, let's do it later as a cleanup.
Reported-by: Mihai Donțu mihai.dontu@gmail.com Signed-off-by: Takashi Iwai tiwai@suse.de
sound/pci/hda/hda_codec.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index b7782212dd64..38f5509ee52f 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -3077,6 +3077,9 @@ static unsigned int hda_set_power_state(struct hda_codec *codec, break; }
- if (power_state == AC_PWRST_D0)
msleep(10);
- return state;
}
I take back my previous observations. I was at work and did not have access to headphones (one of those days). Now I'm at home, it's 1 AM, very quiet, and I notice the following:
- on speakers: the click reproduces but with _very_ low amplitude; msleep(100) is unnoticeable, but msleep(10) is, barely;
- on headphones: the moment I plug them I hear a loud static sound (like an old, untuned AM radio). If I play something, the static disappears. If I pause, the static returns after ~15s.
OK, then the patch is no-go. We need a bit deeper analysis.
About the headphone problem: don't you get the same issue with 4.0.x? Please take alsa-info.sh outputs on both 4.0.x and 4.1 before and after plugging the headphone, and attach the outputs. (Run the script with --no-upload option.)
No, 4.0.5 and all previous kernels (>= 3.12) are OK. I have attached a small tarball with the two files produced by alsa-info.sh.
Thanks,