From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965500AbbD1MAW (ORCPT ); Tue, 28 Apr 2015 08:00:22 -0400 Received: from cantor2.suse.de ([195.135.220.15]:40347 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965450AbbD1MAT (ORCPT ); Tue, 28 Apr 2015 08:00:19 -0400 Date: Tue, 28 Apr 2015 14:00:17 +0200 Message-ID: From: Takashi Iwai To: Jonathan McDowell Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: Re: Audio crackles with 4.1-rc1 In-Reply-To: <20150428112156.GQ10148@earth.li> References: <20150428112156.GQ10148@earth.li> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.4 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Tue, 28 Apr 2015 12:21:57 +0100, Jonathan McDowell wrote: > > Having upgraded to 4.1-rc1 from 4.0 I'm now hearing audio crackles at > regular intervals. I'm fairly sure this is due to the HDA power save as > once audio is playing things are fine, it's just when starting to play > audio that I hear the crackle. > > System is a Dell Latitude E7240. I haven't tried a bisect yet but will > attempt to find some time to do so in the next few days. It looks like > there have been some changes in sound/hda/ between 4.0 + 4.1-rc1 so I'll > concentrate on those first. > > Hopefully relevant dmesg output for the device: > > [ 23.551075] snd_hda_intel 0000:00:03.0: enabling device (0000 -> 0002) > [ 23.551279] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops 0xffffffff81891a00) > [ 23.575852] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line > [ 23.575855] snd_hda_codec_realtek hdaudioC1D0: speaker_outs=1 (0x14/0x0/0x0/0x0/0x0) > [ 23.575857] snd_hda_codec_realtek hdaudioC1D0: hp_outs=1 (0x15/0x0/0x0/0x0/0x0) > [ 23.575858] snd_hda_codec_realtek hdaudioC1D0: mono: mono_out=0x0 > [ 23.575859] snd_hda_codec_realtek hdaudioC1D0: inputs: > [ 23.575861] snd_hda_codec_realtek hdaudioC1D0: Dock Mic=0x19 > [ 23.575863] snd_hda_codec_realtek hdaudioC1D0: Headset Mic=0x1a > [ 23.575870] snd_hda_codec_realtek hdaudioC1D0: Internal Mic=0x12 > [ 23.582324] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input12 > [ 23.582397] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input13 > [ 23.582747] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input14 > [ 23.593267] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/input9 > [ 23.594102] input: HDA Intel PCH Dock Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input15 > [ 23.594268] input: HDA Intel PCH Dock Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card1/input16 > [ 23.594346] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input17 > > I have: > > CONFIG_SND_HDA_POWER_SAVE_DEFAULT=600 > > set in my kernel config. There's no dmesg output around the times when > the crackling is occurring. There are lots of code changes and enhancements wrt power saving in 4.1, and bisection won't help so much, I'm afraid. First off, check the device status while you hear crackles. Is the codec in runtime suspend (aka power save)? This can be seen in /sys/bus/hdaudio/devices/*/power/runtime_status. Then check the runtime status of the controller, too, found in /sys/class/sound/card?/device/power/runtime_status. And, take alsa-info.sh output snapshot while the noise. Run the script with --no-upload option and attach the output file. Also, take alsa-info.sh output on 4.0 kernel for comparison, too. At best, take a snapshot in the similar situation (in power save, etc). The possibly affecting change was the support of widget power saving. For disabling it, try to comment out the line codec->power_save_node = 1; in patch_alc269() in sound/pci/hda/patch_realtek.c. Takashi