[alsa-devel] Audio crackles with 4.1-rc1
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.
J.
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
On Tue, Apr 28, 2015 at 02:00:17PM +0200, Takashi Iwai wrote:
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.
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.
The cracking is definitely happening with the transition from suspended to active:
/sys/class/sound/card0/device/power/runtime_status:suspended /sys/class/sound/card1/device/power/runtime_status:active /sys/bus/hdaudio/devices/hdaudioC0D0/power/runtime_status:suspended /sys/bus/hdaudio/devices/hdaudioC1D0/power/runtime_status:active
card1 + C1D0 were suspended, I hit delete in a terminal to force a terminal bell, got the crackle and the state changed to active as above.
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).
Unfortunately the crackle is really very brief so it's difficult to catch it in the act. I've attached the alsa-info.sh output from when the above is reporting suspended and then when it's reporting active.
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.
I'll try this out but it's probably going to be at least tomorrow before I have time.
J.
At Tue, 28 Apr 2015 13:35:18 +0100, Jonathan McDowell wrote:
On Tue, Apr 28, 2015 at 02:00:17PM +0200, Takashi Iwai wrote:
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.
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.
The cracking is definitely happening with the transition from suspended to active:
/sys/class/sound/card0/device/power/runtime_status:suspended /sys/class/sound/card1/device/power/runtime_status:active /sys/bus/hdaudio/devices/hdaudioC0D0/power/runtime_status:suspended /sys/bus/hdaudio/devices/hdaudioC1D0/power/runtime_status:active
card1 + C1D0 were suspended, I hit delete in a terminal to force a terminal bell, got the crackle and the state changed to active as above.
Ah, so it's a click noise that happens only once per runtime PM transition? I thought it were constant crackling noises from your description ("regular intervals").
In anyway, please give alsa-info.sh output on both 4.0 and 4.1.
Takashi
At Tue, 28 Apr 2015 15:05:20 +0200, Takashi Iwai wrote:
At Tue, 28 Apr 2015 13:35:18 +0100, Jonathan McDowell wrote:
On Tue, Apr 28, 2015 at 02:00:17PM +0200, Takashi Iwai wrote:
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.
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.
The cracking is definitely happening with the transition from suspended to active:
/sys/class/sound/card0/device/power/runtime_status:suspended /sys/class/sound/card1/device/power/runtime_status:active /sys/bus/hdaudio/devices/hdaudioC0D0/power/runtime_status:suspended /sys/bus/hdaudio/devices/hdaudioC1D0/power/runtime_status:active
card1 + C1D0 were suspended, I hit delete in a terminal to force a terminal bell, got the crackle and the state changed to active as above.
Ah, so it's a click noise that happens only once per runtime PM transition? I thought it were constant crackling noises from your description ("regular intervals").
In anyway, please give alsa-info.sh output on both 4.0 and 4.1.
Also, does the click noise occur only at powering up, and not at powering down?
Takashi
participants (2)
-
Jonathan McDowell
-
Takashi Iwai