linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Audio crackles with 4.1-rc1
@ 2015-04-28 11:21 Jonathan McDowell
  2015-04-28 12:00 ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-04-28 11:21 UTC (permalink / raw)
  To: Takashi Iwai, alsa-devel; +Cc: linux-kernel

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.

-- 
Friends are God's apology for relations.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-28 11:21 Audio crackles with 4.1-rc1 Jonathan McDowell
@ 2015-04-28 12:00 ` Takashi Iwai
  2015-04-28 12:35   ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-04-28 12:00 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-28 12:00 ` Takashi Iwai
@ 2015-04-28 12:35   ` Jonathan McDowell
  2015-04-28 13:05     ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-04-28 12:35 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2514 bytes --]

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.

-- 
                                            xmpp:noodles@earth.li
101 things you can't have too much of : 10
                                            - CDs.

[-- Attachment #2: alsa-info.txt.suspended --]
[-- Type: text/plain, Size: 40238 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Tue Apr 28 12:29:47 UTC 2015


!!Linux Distribution
!!------------------

Debian GNU/Linux 8 \n \l PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/"


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      Latitude E7240
Product Version:   01
Firmware Version:  A14


!!Kernel Information
!!------------------

Kernel release:    4.1.0-rc1
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k4.1.0-rc1
Library version:    1.0.28
Utilities version:  1.0.28


!!Loaded ALSA modules
!!-------------------



!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7e34000 irq 48
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e30000 irq 47


!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
	Subsystem: 1028:05ca
--
00:1b.0 0403: 8086:9c20 (rev 04)
	Subsystem: 1028:05ca


!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2


!!Loaded sound module options
!!---------------------------


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Haswell HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862807
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=7 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Control: name="ELD", index=0, device=7
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=8 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Realtek ALC3226
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0292
Subsystem Id: 0x102805ca
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker+LO Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Dock Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Dock Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Headset Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Headset Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x00]
  Connection: 2
     0x02 0x03
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x01 0x01]
  Pincap 0x00000020: IN
  Pin Default 0x90a60140: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0221401f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c 0x0d*
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Dock Line Out Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x01014020: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Dock Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Dock Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x01a19030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Headset Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Headset Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40700001: [N/A] Modem Hand at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=124
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 8
     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12* 0x13
Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 6
     0x18* 0x19 0x1a 0x1b 0x1d 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  2 Apr 27 23:24 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  7 Apr 27 23:24 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  6 Apr 27 23:24 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 Apr 27 23:24 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  3 Apr 27 23:24 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  4 Apr 27 23:24 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  5 Apr 27 23:24 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  9 Apr 27 23:24 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  8 Apr 28 13:29 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Apr 27 23:24 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Apr 27 23:24 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Apr 27 23:24 .
drwxr-xr-x 3 root root 280 Apr 27 23:24 ..
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:03.0 -> ../controlC0
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:1b.0 -> ../controlC1


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# pcm.bluetooth {
# 	type plug
# 	slave {
# 		pcm "bluetooth_hw"
# 	}
# }
# pcm.bluetooth_hw {
# 	type bluetooth
# 	device 00:02:3C:27:1A:0E
# 	profile "auto"
# }
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
    # If defaults.namehint.showall is set to off in alsa.conf, then this is
    # necessary to make this pcm show up in the list returned by
    # snd_device_name_hint or aplay -L
    hint.description "Default Audio Device"
}
ctl.!default {
    type pulse
}


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [HDMI]

Card hw:0 'HDMI'/'HDA Intel HDMI at 0xf7e34000 irq 48'
  Mixer name	: 'Intel Haswell HDMI'
  Components	: 'HDA:80862807,80860101,00100000'
  Controls      : 21
  Simple ctrls  : 3
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [PCH]

Card hw:1 'PCH'/'HDA Intel PCH at 0xf7e30000 irq 47'
  Mixer name	: 'Realtek ALC3226'
  Components	: 'HDA:10ec0292,102805ca,00100001'
  Controls      : 29
  Simple ctrls  : 15
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 64 [74%] [-17.25dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Speaker+LO',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB]
  Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [12.00dB]
  Front Right: 1 [33%] [12.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.HDMI {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.19 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.20 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.21 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
}
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker+LO Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -6525
			dbvalue.1 -6525
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Dock Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.7 {
		iface MIXER
		name 'Dock Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Headset Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.9 {
		iface MIXER
		name 'Headset Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Auto-Mute Mode'
		value 'Line Out+Speaker'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 'Speaker Only'
			item.2 'Line Out+Speaker'
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Source'
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Dock Mic'
			item.1 'Headset Mic'
			item.2 'Internal Mic'
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Dock Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Headset Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 1
		value.1 1
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1725
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Dock Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Headset Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Dock Line Out Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'Beep Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.26 {
		iface MIXER
		name 'Beep Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.27 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
msr
cpufreq_stats
ctr
ccm
binfmt_misc
bnep
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
nls_utf8
nls_cp437
vfat
fat
arc4
joydev
qmi_wwan
cdc_mbim
btusb
btintel
intel_rapl
iosf_mbi
cdc_ncm
bluetooth
cdc_wdm
x86_pkg_temp_thermal
intel_powerclamp
usbnet
pcspkr
mii
tpm_tis
iwlmvm
mac80211
8250
serial_core
iwlwifi
snd_hda_codec_hdmi
psmouse
snd_hda_codec_realtek
cfg80211
efivars
serio_raw
snd_hda_codec_generic
hid_multitouch
i2c_i801
battery
ac
snd_hda_intel
snd_hda_controller
snd_hda_codec
snd_hwdep
snd_hda_core
evdev
snd_pcm
snd_timer
processor
md_mod
tpm_rng
tpm
rng_core
fuse
autofs4
algif_skcipher
af_alg
hid_generic
usbhid
crct10dif_pclmul
crc32_pclmul
crc32c_intel
ghash_clmulni_intel
sg
ehci_pci
sdhci_pci
ehci_hcd
xhci_pci
xhci_hcd
thermal
sdhci_acpi
sdhci
mmc_core
i2c_hid
hid


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC1D0/init_pin_configs:
0x12 0x90a60140
0x13 0x411111f0
0x14 0x90170110
0x15 0x0221401f
0x16 0x01014020
0x18 0x411111f0
0x19 0x01a19030
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40700001
0x1e 0x411111f0

/sys/class/sound/hwC1D0/driver_pin_configs:
0x16 0x21014020
0x19 0x21a19030
0x1a 0x01a1913c

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.841050] PM: Hibernation image not present or could not be loaded.
[    0.841060] ALSA device list:
[    0.841061]   No soundcards found.
[    1.352333] tsc: Refined TSC clocksource calibration: 2494.229 MHz
--
[   23.460505] systemd-udevd[310]: starting version 215
[   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.574030] EFI Variables Facility v0.08 2004-May-17
--
[   23.575721] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   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.579526] input: Atmel Atmel maXTouch Digitizer as /devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.8/3-1.8:1.0/0003:03EB:8844.0001/input/input10
--
[   23.582253] cfg80211: Calling CRDA to update world regulatory domain
[   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.584635] Intel(R) Wireless WiFi driver for Linux
--
[   23.589830] iwlwifi 0000:02:00.0: loaded firmware version 25.16.12.0 op_mode iwlmvm
[   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
[   23.596208] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled



[-- Attachment #3: alsa-info.txt.active --]
[-- Type: text/plain, Size: 40238 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Tue Apr 28 12:29:27 UTC 2015


!!Linux Distribution
!!------------------

Debian GNU/Linux 8 \n \l PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/"


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      Latitude E7240
Product Version:   01
Firmware Version:  A14


!!Kernel Information
!!------------------

Kernel release:    4.1.0-rc1
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k4.1.0-rc1
Library version:    1.0.28
Utilities version:  1.0.28


!!Loaded ALSA modules
!!-------------------



!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7e34000 irq 48
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e30000 irq 47


!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
	Subsystem: 1028:05ca
--
00:1b.0 0403: 8086:9c20 (rev 04)
	Subsystem: 1028:05ca


!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2


!!Loaded sound module options
!!---------------------------


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Haswell HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862807
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=7 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Control: name="ELD", index=0, device=7
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=8 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Realtek ALC3226
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0292
Subsystem Id: 0x102805ca
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker+LO Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Dock Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Dock Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Headset Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Headset Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x00]
  Connection: 2
     0x02 0x03
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x01 0x01]
  Pincap 0x00000020: IN
  Pin Default 0x90a60140: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c* 0x0d
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0221401f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c 0x0d*
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Dock Line Out Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x01014020: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Dock Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Dock Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x01a19030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Headset Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Headset Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40700001: [N/A] Modem Hand at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=124
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 8
     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12* 0x13
Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 6
     0x18* 0x19 0x1a 0x1b 0x1d 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  2 Apr 27 23:24 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  7 Apr 27 23:24 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  6 Apr 27 23:24 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 Apr 27 23:24 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  3 Apr 27 23:24 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  4 Apr 27 23:24 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  5 Apr 27 23:24 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  9 Apr 27 23:24 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  8 Apr 28 13:29 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Apr 27 23:24 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Apr 27 23:24 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Apr 27 23:24 .
drwxr-xr-x 3 root root 280 Apr 27 23:24 ..
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:03.0 -> ../controlC0
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:1b.0 -> ../controlC1


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# pcm.bluetooth {
# 	type plug
# 	slave {
# 		pcm "bluetooth_hw"
# 	}
# }
# pcm.bluetooth_hw {
# 	type bluetooth
# 	device 00:02:3C:27:1A:0E
# 	profile "auto"
# }
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
    # If defaults.namehint.showall is set to off in alsa.conf, then this is
    # necessary to make this pcm show up in the list returned by
    # snd_device_name_hint or aplay -L
    hint.description "Default Audio Device"
}
ctl.!default {
    type pulse
}


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [HDMI]

Card hw:0 'HDMI'/'HDA Intel HDMI at 0xf7e34000 irq 48'
  Mixer name	: 'Intel Haswell HDMI'
  Components	: 'HDA:80862807,80860101,00100000'
  Controls      : 21
  Simple ctrls  : 3
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [PCH]

Card hw:1 'PCH'/'HDA Intel PCH at 0xf7e30000 irq 47'
  Mixer name	: 'Realtek ALC3226'
  Components	: 'HDA:10ec0292,102805ca,00100001'
  Controls      : 29
  Simple ctrls  : 15
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 64 [74%] [-17.25dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Speaker+LO',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB]
  Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [12.00dB]
  Front Right: 1 [33%] [12.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.HDMI {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.19 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.20 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.21 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
}
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker+LO Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -6525
			dbvalue.1 -6525
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Dock Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.7 {
		iface MIXER
		name 'Dock Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Headset Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.9 {
		iface MIXER
		name 'Headset Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Auto-Mute Mode'
		value 'Line Out+Speaker'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 'Speaker Only'
			item.2 'Line Out+Speaker'
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Source'
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Dock Mic'
			item.1 'Headset Mic'
			item.2 'Internal Mic'
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Dock Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Headset Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 1
		value.1 1
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1725
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Dock Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Headset Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Dock Line Out Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'Beep Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.26 {
		iface MIXER
		name 'Beep Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.27 {
		iface PCM
		name 'Playback Channel Map'
		value.0 3
		value.1 4
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
msr
cpufreq_stats
ctr
ccm
binfmt_misc
bnep
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
nls_utf8
nls_cp437
vfat
fat
arc4
joydev
qmi_wwan
cdc_mbim
btusb
btintel
intel_rapl
iosf_mbi
cdc_ncm
bluetooth
cdc_wdm
x86_pkg_temp_thermal
intel_powerclamp
usbnet
pcspkr
mii
tpm_tis
iwlmvm
mac80211
8250
serial_core
iwlwifi
snd_hda_codec_hdmi
psmouse
snd_hda_codec_realtek
cfg80211
efivars
serio_raw
snd_hda_codec_generic
hid_multitouch
i2c_i801
battery
ac
snd_hda_intel
snd_hda_controller
snd_hda_codec
snd_hwdep
snd_hda_core
evdev
snd_pcm
snd_timer
processor
md_mod
tpm_rng
tpm
rng_core
fuse
autofs4
algif_skcipher
af_alg
hid_generic
usbhid
crct10dif_pclmul
crc32_pclmul
crc32c_intel
ghash_clmulni_intel
sg
ehci_pci
sdhci_pci
ehci_hcd
xhci_pci
xhci_hcd
thermal
sdhci_acpi
sdhci
mmc_core
i2c_hid
hid


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC1D0/init_pin_configs:
0x12 0x90a60140
0x13 0x411111f0
0x14 0x90170110
0x15 0x0221401f
0x16 0x01014020
0x18 0x411111f0
0x19 0x01a19030
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40700001
0x1e 0x411111f0

/sys/class/sound/hwC1D0/driver_pin_configs:
0x16 0x21014020
0x19 0x21a19030
0x1a 0x01a1913c

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.841050] PM: Hibernation image not present or could not be loaded.
[    0.841060] ALSA device list:
[    0.841061]   No soundcards found.
[    1.352333] tsc: Refined TSC clocksource calibration: 2494.229 MHz
--
[   23.460505] systemd-udevd[310]: starting version 215
[   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.574030] EFI Variables Facility v0.08 2004-May-17
--
[   23.575721] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   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.579526] input: Atmel Atmel maXTouch Digitizer as /devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.8/3-1.8:1.0/0003:03EB:8844.0001/input/input10
--
[   23.582253] cfg80211: Calling CRDA to update world regulatory domain
[   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.584635] Intel(R) Wireless WiFi driver for Linux
--
[   23.589830] iwlwifi 0000:02:00.0: loaded firmware version 25.16.12.0 op_mode iwlmvm
[   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
[   23.596208] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-28 12:35   ` Jonathan McDowell
@ 2015-04-28 13:05     ` Takashi Iwai
  2015-04-28 14:43       ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-04-28 13:05 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-28 13:05     ` Takashi Iwai
@ 2015-04-28 14:43       ` Takashi Iwai
  2015-04-29 11:28         ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-04-28 14:43 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-28 14:43       ` Takashi Iwai
@ 2015-04-29 11:28         ` Jonathan McDowell
  2015-04-29 11:54           ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-04-29 11:28 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2715 bytes --]

On Tue, Apr 28, 2015 at 04:43:00PM +0200, Takashi Iwai wrote:
> 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?

The click is only on the transition from suspended to active; not
constantly during playback and not when transitioning from active to
suspended. It doesn't appear 4.0 is doing the suspending at all; there
are no /sys/bus/hdaudio/devices/*/power/runtime_status files and the
card runtime_status is always active. alsa-info for 4.0 + 4.1-rc1
attached.

J.

-- 
If this isn't war, why is CNN massing on the border?

[-- Attachment #2: alsa-info-4.0.txt --]
[-- Type: text/plain, Size: 39887 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Wed Apr 29 11:22:46 UTC 2015


!!Linux Distribution
!!------------------

Debian GNU/Linux 8 \n \l PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/"


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      Latitude E7240
Product Version:   01
Firmware Version:  A14


!!Kernel Information
!!------------------

Kernel release:    4.0.0
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k4.0.0
Library version:    1.0.28
Utilities version:  1.0.28


!!Loaded ALSA modules
!!-------------------



!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7e34000 irq 49
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e30000 irq 48


!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
	Subsystem: 1028:05ca
--
00:1b.0 0403: 8086:9c20 (rev 04)
	Subsystem: 1028:05ca


!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2


!!Loaded sound module options
!!---------------------------


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Haswell HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862807
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=1, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=7 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Control: name="ELD", index=0, device=7
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=8 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Realtek ALC3226
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0292
Subsystem Id: 0x102805ca
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker+LO Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=8, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=4, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Dock Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Dock Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Headset Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Headset Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x00]
  Connection: 2
     0x02 0x03
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x01 0x01]
  Pincap 0x00000020: IN
  Pin Default 0x90a60140: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c* 0x0d
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0221401f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c 0x0d*
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Dock Line Out Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x01014020: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c* 0x0d
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c* 0x0d
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Dock Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Dock Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x01a19030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Headset Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Headset Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40700001: [N/A] Modem Hand at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=124
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 8
     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12* 0x13
Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 6
     0x18* 0x19 0x1a 0x1b 0x1d 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  6 Apr 29 12:21 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  2 Apr 29 12:21 /dev/snd/controlC1
crw-rw----+ 1 root audio 116, 10 Apr 29 12:21 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  5 Apr 29 12:21 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  7 Apr 29 12:21 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  8 Apr 29 12:21 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  9 Apr 29 12:21 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  4 Apr 29 12:21 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  3 Apr 29 12:22 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Apr 29 12:21 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Apr 29 12:21 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Apr 29 12:21 .
drwxr-xr-x 3 root root 280 Apr 29 12:21 ..
lrwxrwxrwx 1 root root  12 Apr 29 12:21 pci-0000:00:03.0 -> ../controlC0
lrwxrwxrwx 1 root root  12 Apr 29 12:21 pci-0000:00:1b.0 -> ../controlC1


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# pcm.bluetooth {
# 	type plug
# 	slave {
# 		pcm "bluetooth_hw"
# 	}
# }
# pcm.bluetooth_hw {
# 	type bluetooth
# 	device 00:02:3C:27:1A:0E
# 	profile "auto"
# }
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
    # If defaults.namehint.showall is set to off in alsa.conf, then this is
    # necessary to make this pcm show up in the list returned by
    # snd_device_name_hint or aplay -L
    hint.description "Default Audio Device"
}
ctl.!default {
    type pulse
}


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [HDMI]

Card hw:0 'HDMI'/'HDA Intel HDMI at 0xf7e34000 irq 49'
  Mixer name	: 'Intel Haswell HDMI'
  Components	: 'HDA:80862807,80860101,00100000'
  Controls      : 21
  Simple ctrls  : 3
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [PCH]

Card hw:1 'PCH'/'HDA Intel PCH at 0xf7e30000 irq 48'
  Mixer name	: 'Realtek ALC3226'
  Components	: 'HDA:10ec0292,102805ca,00100001'
  Controls      : 29
  Simple ctrls  : 15
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 64 [74%] [-17.25dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Speaker+LO',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB]
  Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [12.00dB]
  Front Right: 1 [33%] [12.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.HDMI {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.19 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.20 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.21 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
}
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker+LO Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -6525
			dbvalue.1 -6525
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Dock Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.7 {
		iface MIXER
		name 'Dock Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Headset Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.9 {
		iface MIXER
		name 'Headset Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Auto-Mute Mode'
		value 'Line Out+Speaker'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 'Speaker Only'
			item.2 'Line Out+Speaker'
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Source'
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Dock Mic'
			item.1 'Headset Mic'
			item.2 'Internal Mic'
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Dock Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Headset Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 1
		value.1 1
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1725
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Dock Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Headset Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Dock Line Out Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'Beep Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.26 {
		iface MIXER
		name 'Beep Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.27 {
		iface PCM
		name 'Playback Channel Map'
		value.0 3
		value.1 4
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
ctr
ccm
binfmt_misc
bnep
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
nls_utf8
nls_cp437
vfat
fat
arc4
qmi_wwan
joydev
snd_hda_codec_hdmi
iwlmvm
snd_hda_codec_realtek
mac80211
snd_hda_codec_generic
intel_rapl
iosf_mbi
snd_hda_intel
snd_hda_controller
cdc_mbim
x86_pkg_temp_thermal
snd_hda_codec
cdc_ncm
iwlwifi
snd_hwdep
cdc_wdm
intel_powerclamp
usbnet
psmouse
snd_pcm
serio_raw
efivars
mii
btusb
i2c_i801
cfg80211
pcspkr
hid_multitouch
bluetooth
snd_timer
tpm_tis
battery
8250
serial_core
ac
evdev
processor
md_mod
tpm_rng
tpm
rng_core
fuse
autofs4
algif_skcipher
af_alg
hid_generic
usbhid
crct10dif_pclmul
crc32_pclmul
crc32c_intel
ghash_clmulni_intel
sg
ehci_pci
ehci_hcd
sdhci_pci
xhci_pci
xhci_hcd
thermal
i2c_hid
hid
sdhci_acpi
sdhci
mmc_core


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC1D0/init_pin_configs:
0x12 0x90a60140
0x13 0x411111f0
0x14 0x90170110
0x15 0x0221401f
0x16 0x01014020
0x18 0x411111f0
0x19 0x01a19030
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40700001
0x1e 0x411111f0

/sys/class/sound/hwC1D0/driver_pin_configs:
0x16 0x21014020
0x19 0x21a19030
0x1a 0x01a1913c

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.961306] PM: Hibernation image not present or could not be loaded.
[    0.961310] ALSA device list:
[    0.961310]   No soundcards found.
[    1.347610] tsc: Refined TSC clocksource calibration: 2494.226 MHz
--
[   38.234184] usbcore: registered new interface driver btusb
[   38.235613] snd_hda_intel 0000:00:03.0: enabling device (0000 -> 0002)
[   38.235735] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops 0xffffffff818a9bc0)
[   38.239314] intel_rapl: Found RAPL domain package
--
[   38.239802] iwlwifi 0000:02:00.0: loaded firmware version 25.16.12.0 op_mode iwlmvm
[   38.251672] sound hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
[   38.251675] sound hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
[   38.251676] sound hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[   38.251677] sound hdaudioC1D0:    mono: mono_out=0x0
[   38.251678] sound hdaudioC1D0:    inputs:
[   38.251680] sound hdaudioC1D0:      Dock Mic=0x19
[   38.251681] sound hdaudioC1D0:      Headset Mic=0x1a
[   38.251682] sound hdaudioC1D0:      Internal Mic=0x12
[   38.257532] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
[   38.257652] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/hdaudioC1D0/input12
[   38.257699] iwlwifi 0000:02:00.0: L1 Disabled - LTR Enabled
[   38.257920] iwlwifi 0000:02:00.0: L1 Disabled - LTR Enabled
[   38.258853] input: HDA Intel PCH Dock Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input13
[   38.258924] input: HDA Intel PCH Dock Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card1/input14
[   38.258986] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input15
[   38.274556] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input16
[   38.274620] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input17
[   38.274673] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input18
[   38.276879] qmi_wwan 1-7:1.8: cdc-wdm2: USB WDM device



[-- Attachment #3: alsa-info-4.1-rc1.txt --]
[-- Type: text/plain, Size: 40238 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Wed Apr 29 11:19:52 UTC 2015


!!Linux Distribution
!!------------------

Debian GNU/Linux 8 \n \l PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/"


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      Latitude E7240
Product Version:   01
Firmware Version:  A14


!!Kernel Information
!!------------------

Kernel release:    4.1.0-rc1
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k4.1.0-rc1
Library version:    1.0.28
Utilities version:  1.0.28


!!Loaded ALSA modules
!!-------------------



!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7e34000 irq 48
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e30000 irq 47


!!PCI Soundcards installed in the system
!!--------------------------------------

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:03.0 0403: 8086:0a0c (rev 0b)
	Subsystem: 1028:05ca
--
00:1b.0 0403: 8086:9c20 (rev 04)
	Subsystem: 1028:05ca


!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2


!!Loaded sound module options
!!---------------------------


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Haswell HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862807
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=7 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Control: name="ELD", index=0, device=7
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=8 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Realtek ALC3226
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0292
Subsystem Id: 0x102805ca
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker+LO Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC3226 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Dock Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Dock Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Headset Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Headset Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x00]
  Connection: 2
     0x02 0x03
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x01 0x01]
  Pincap 0x00000020: IN
  Pin Default 0x90a60140: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0221401f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c 0x0d*
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Dock Line Out Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x01014020: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Dock Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Dock Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x01a19030: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Headset Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Headset Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40700001: [N/A] Modem Hand at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D3, actual=D3
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=124
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 8
     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12* 0x13
Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 6
     0x18* 0x19 0x1a 0x1b 0x1d 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  2 Apr 27 23:24 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  7 Apr 27 23:24 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  6 Apr 27 23:24 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 Apr 27 23:24 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  3 Apr 27 23:24 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  4 Apr 27 23:24 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  5 Apr 27 23:24 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  9 Apr 27 23:24 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  8 Apr 29 12:19 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Apr 27 23:24 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Apr 27 23:24 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Apr 27 23:24 .
drwxr-xr-x 3 root root 280 Apr 27 23:24 ..
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:03.0 -> ../controlC0
lrwxrwxrwx 1 root root  12 Apr 27 23:24 pci-0000:00:1b.0 -> ../controlC1


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# pcm.bluetooth {
# 	type plug
# 	slave {
# 		pcm "bluetooth_hw"
# 	}
# }
# pcm.bluetooth_hw {
# 	type bluetooth
# 	device 00:02:3C:27:1A:0E
# 	profile "auto"
# }
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
    # If defaults.namehint.showall is set to off in alsa.conf, then this is
    # necessary to make this pcm show up in the list returned by
    # snd_device_name_hint or aplay -L
    hint.description "Default Audio Device"
}
ctl.!default {
    type pulse
}


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [HDMI]

Card hw:0 'HDMI'/'HDA Intel HDMI at 0xf7e34000 irq 48'
  Mixer name	: 'Intel Haswell HDMI'
  Components	: 'HDA:80862807,80860101,00100000'
  Controls      : 21
  Simple ctrls  : 3
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [PCH]

Card hw:1 'PCH'/'HDA Intel PCH at 0xf7e30000 irq 47'
  Mixer name	: 'Realtek ALC3226'
  Components	: 'HDA:10ec0292,102805ca,00100001'
  Controls      : 29
  Simple ctrls  : 15
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 64 [74%] [-17.25dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Speaker+LO',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB]
  Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line Out',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [12.00dB]
  Front Right: 1 [33%] [12.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.HDMI {
	control.1 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.7 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.10 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.13 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.19 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.20 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.21 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
}
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker+LO Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Line Out Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -6525
			dbvalue.1 -6525
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Dock Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.7 {
		iface MIXER
		name 'Dock Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Headset Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.9 {
		iface MIXER
		name 'Headset Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Auto-Mute Mode'
		value 'Line Out+Speaker'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 'Speaker Only'
			item.2 'Line Out+Speaker'
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Source'
		value 'Internal Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Dock Mic'
			item.1 'Headset Mic'
			item.2 'Internal Mic'
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Dock Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Headset Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 1
		value.1 1
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 -1725
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Dock Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Headset Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Dock Line Out Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Front Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'Beep Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.26 {
		iface MIXER
		name 'Beep Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.27 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
msr
cpufreq_stats
ctr
ccm
binfmt_misc
bnep
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
nls_utf8
nls_cp437
vfat
fat
arc4
joydev
qmi_wwan
cdc_mbim
btusb
btintel
intel_rapl
iosf_mbi
cdc_ncm
bluetooth
cdc_wdm
x86_pkg_temp_thermal
intel_powerclamp
usbnet
pcspkr
mii
tpm_tis
iwlmvm
mac80211
8250
serial_core
iwlwifi
snd_hda_codec_hdmi
psmouse
snd_hda_codec_realtek
cfg80211
efivars
serio_raw
snd_hda_codec_generic
hid_multitouch
i2c_i801
battery
ac
snd_hda_intel
snd_hda_controller
snd_hda_codec
snd_hwdep
snd_hda_core
evdev
snd_pcm
snd_timer
processor
md_mod
tpm_rng
tpm
rng_core
fuse
autofs4
algif_skcipher
af_alg
hid_generic
usbhid
crct10dif_pclmul
crc32_pclmul
crc32c_intel
ghash_clmulni_intel
sg
ehci_pci
sdhci_pci
ehci_hcd
xhci_pci
xhci_hcd
thermal
sdhci_acpi
sdhci
mmc_core
i2c_hid
hid


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC1D0/init_pin_configs:
0x12 0x90a60140
0x13 0x411111f0
0x14 0x90170110
0x15 0x0221401f
0x16 0x01014020
0x18 0x411111f0
0x19 0x01a19030
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40700001
0x1e 0x411111f0

/sys/class/sound/hwC1D0/driver_pin_configs:
0x16 0x21014020
0x19 0x21a19030
0x1a 0x01a1913c

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.841050] PM: Hibernation image not present or could not be loaded.
[    0.841060] ALSA device list:
[    0.841061]   No soundcards found.
[    1.352333] tsc: Refined TSC clocksource calibration: 2494.229 MHz
--
[   23.460505] systemd-udevd[310]: starting version 215
[   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.574030] EFI Variables Facility v0.08 2004-May-17
--
[   23.575721] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   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.579526] input: Atmel Atmel maXTouch Digitizer as /devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.8/3-1.8:1.0/0003:03EB:8844.0001/input/input10
--
[   23.582253] cfg80211: Calling CRDA to update world regulatory domain
[   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.584635] Intel(R) Wireless WiFi driver for Linux
--
[   23.589830] iwlwifi 0000:02:00.0: loaded firmware version 25.16.12.0 op_mode iwlmvm
[   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
[   23.596208] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-29 11:28         ` Jonathan McDowell
@ 2015-04-29 11:54           ` Takashi Iwai
  2015-04-30 15:01             ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-04-29 11:54 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

At Wed, 29 Apr 2015 12:28:59 +0100,
Jonathan McDowell wrote:
> 
> On Tue, Apr 28, 2015 at 04:43:00PM +0200, Takashi Iwai wrote:
> > 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?
> 
> The click is only on the transition from suspended to active; not
> constantly during playback and not when transitioning from active to
> suspended. It doesn't appear 4.0 is doing the suspending at all; there
> are no /sys/bus/hdaudio/devices/*/power/runtime_status files and the
> card runtime_status is always active. alsa-info for 4.0 + 4.1-rc1
> attached.

OK, thanks for clarification.

One patch you can try (with or without power_save_node disablement) is
below, it squashes the verb sequences at (runtime) PM resume as we did
for 4.0.  Let me know if this changes the behavior.


Takashi

---
diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index 2a8aa9dfb83d..8e47d9cc369f 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -79,6 +79,7 @@ struct hdac_device {
 	bool lazy_cache:1;	/* don't wake up for writes */
 	bool caps_overwriting:1; /* caps overwrite being in process */
 	bool cache_coef:1;	/* cache COEF read/write too */
+	bool cache_only:1;	/* don't write actually registers */
 };
 
 /* device/driver type used for matching */
diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c
index 7371e0c3926f..c5b3dcbbacdd 100644
--- a/sound/hda/hdac_regmap.c
+++ b/sound/hda/hdac_regmap.c
@@ -265,6 +265,9 @@ static int hda_reg_write(void *context, unsigned int reg, unsigned int val)
 	unsigned int verb;
 	int i, bytes, err;
 
+	if (codec->cache_only)
+		return 0;
+
 	reg &= ~0x00080000U; /* drop GET bit */
 	reg |= (codec->addr << 28);
 	verb = get_verb(reg);
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e70a7fb393dd..8f79d649975b 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3156,28 +3156,29 @@ static void hda_call_codec_resume(struct hda_codec *codec)
 {
 	atomic_inc(&codec->core.in_pm);
 
-	if (codec->core.regmap)
-		regcache_mark_dirty(codec->core.regmap);
-
 	codec->power_jiffies = jiffies;
 
 	hda_set_power_state(codec, AC_PWRST_D0);
 	restore_shutup_pins(codec);
 	hda_exec_init_verbs(codec);
 	snd_hda_jack_set_dirty_all(codec);
+	if (codec->core.regmap) {
+		regcache_mark_dirty(codec->core.regmap);
+		codec->core.cache_only = true;
+	}
 	if (codec->patch_ops.resume)
 		codec->patch_ops.resume(codec);
-	else {
-		if (codec->patch_ops.init)
-			codec->patch_ops.init(codec);
-		if (codec->core.regmap)
-			regcache_sync(codec->core.regmap);
-	}
+	else if (codec->patch_ops.init)
+		codec->patch_ops.init(codec);
 
 	if (codec->jackpoll_interval)
 		hda_jackpoll_work(&codec->jackpoll_work.work);
 	else
 		snd_hda_jack_report_sync(codec);
+	if (codec->core.regmap) {
+		codec->core.cache_only = false;
+		regcache_sync(codec->core.regmap);
+	}
 	atomic_dec(&codec->core.in_pm);
 }
 
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 3d2597b7037b..844d5e6ae1a1 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -5780,8 +5780,6 @@ int snd_hda_gen_init(struct hda_codec *codec)
 	/* call init functions of standard auto-mute helpers */
 	update_automute_all(codec);
 
-	regcache_sync(codec->core.regmap);
-
 	if (spec->vmaster_mute.sw_kctl && spec->vmaster_mute.hook)
 		snd_hda_sync_vmaster_hook(&spec->vmaster_mute);
 
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 5f44f60a6389..e4a774ddb1fc 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -2211,7 +2211,6 @@ static int generic_hdmi_resume(struct hda_codec *codec)
 	int pin_idx;
 
 	codec->patch_ops.init(codec);
-	regcache_sync(codec->core.regmap);
 
 	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
 		struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b18b9c67b262..34219aa6a40e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -799,7 +799,6 @@ static int alc_resume(struct hda_codec *codec)
 	if (!spec->no_depop_delay)
 		msleep(150); /* to avoid pop noise */
 	codec->patch_ops.init(codec);
-	regcache_sync(codec->core.regmap);
 	hda_call_check_power_status(codec, 0x01);
 	return 0;
 }
@@ -3059,7 +3058,6 @@ static int alc269_resume(struct hda_codec *codec)
 		msleep(200);
 	}
 
-	regcache_sync(codec->core.regmap);
 	hda_call_check_power_status(codec, 0x01);
 
 	/* on some machine, the BIOS will clear the codec gpio data when enter

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-29 11:54           ` Takashi Iwai
@ 2015-04-30 15:01             ` Jonathan McDowell
  2015-04-30 17:06               ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-04-30 15:01 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> At Wed, 29 Apr 2015 12:28:59 +0100,
> Jonathan McDowell wrote:
> > 
> > On Tue, Apr 28, 2015 at 04:43:00PM +0200, Takashi Iwai wrote:
> > > 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?
> > 
> > The click is only on the transition from suspended to active; not
> > constantly during playback and not when transitioning from active to
> > suspended. It doesn't appear 4.0 is doing the suspending at all; there
> > are no /sys/bus/hdaudio/devices/*/power/runtime_status files and the
> > card runtime_status is always active. alsa-info for 4.0 + 4.1-rc1
> > attached.
> 
> OK, thanks for clarification.
> 
> One patch you can try (with or without power_save_node disablement) is
> below, it squashes the verb sequences at (runtime) PM resume as we did
> for 4.0.  Let me know if this changes the behavior.

Patch alone has no effect. Patch with power_save_node disablement solves
the problem. Didn't try power_save_node disablement without the patch.

J.

-- 
This .sig brought to you by the letter M and the number  7
Product of the Republic of HuggieTag

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-30 15:01             ` Jonathan McDowell
@ 2015-04-30 17:06               ` Takashi Iwai
  2015-05-02 15:05                 ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-04-30 17:06 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

At Thu, 30 Apr 2015 16:01:31 +0100,
Jonathan McDowell wrote:
> 
> On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> > At Wed, 29 Apr 2015 12:28:59 +0100,
> > Jonathan McDowell wrote:
> > > 
> > > On Tue, Apr 28, 2015 at 04:43:00PM +0200, Takashi Iwai wrote:
> > > > 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?
> > > 
> > > The click is only on the transition from suspended to active; not
> > > constantly during playback and not when transitioning from active to
> > > suspended. It doesn't appear 4.0 is doing the suspending at all; there
> > > are no /sys/bus/hdaudio/devices/*/power/runtime_status files and the
> > > card runtime_status is always active. alsa-info for 4.0 + 4.1-rc1
> > > attached.
> > 
> > OK, thanks for clarification.
> > 
> > One patch you can try (with or without power_save_node disablement) is
> > below, it squashes the verb sequences at (runtime) PM resume as we did
> > for 4.0.  Let me know if this changes the behavior.
> 
> Patch alone has no effect. Patch with power_save_node disablement solves
> the problem. Didn't try power_save_node disablement without the patch.

Then please confirm that only power_save_node disablement suffices.
This can be considered as the least change that can be put to 4.1-rc
if no better fix is found.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-04-30 17:06               ` Takashi Iwai
@ 2015-05-02 15:05                 ` Jonathan McDowell
  2015-05-19  6:15                   ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-05-02 15:05 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

On Thu, Apr 30, 2015 at 07:06:31PM +0200, Takashi Iwai wrote:
> At Thu, 30 Apr 2015 16:01:31 +0100, Jonathan McDowell wrote:
> > 
> > On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> > > 
> > > One patch you can try (with or without power_save_node
> > > disablement) is below, it squashes the verb sequences at (runtime)
> > > PM resume as we did for 4.0.  Let me know if this changes the
> > > behavior.
> > 
> > Patch alone has no effect. Patch with power_save_node disablement
> > solves the problem. Didn't try power_save_node disablement without
> > the patch.
> 
> Then please confirm that only power_save_node disablement suffices.
> This can be considered as the least change that can be put to 4.1-rc
> if no better fix is found.

Setting codec->power_save_node to 0 in patch_alc269 is sufficient; no
noticeable cracking occurring.

J.

-- 
Beware of programmers carrying screwdrivers.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-02 15:05                 ` Jonathan McDowell
@ 2015-05-19  6:15                   ` Takashi Iwai
  2015-05-19 16:19                     ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-05-19  6:15 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

At Sat, 2 May 2015 16:05:13 +0100,
Jonathan McDowell wrote:
> 
> On Thu, Apr 30, 2015 at 07:06:31PM +0200, Takashi Iwai wrote:
> > At Thu, 30 Apr 2015 16:01:31 +0100, Jonathan McDowell wrote:
> > > 
> > > On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> > > > 
> > > > One patch you can try (with or without power_save_node
> > > > disablement) is below, it squashes the verb sequences at (runtime)
> > > > PM resume as we did for 4.0.  Let me know if this changes the
> > > > behavior.
> > > 
> > > Patch alone has no effect. Patch with power_save_node disablement
> > > solves the problem. Didn't try power_save_node disablement without
> > > the patch.
> > 
> > Then please confirm that only power_save_node disablement suffices.
> > This can be considered as the least change that can be put to 4.1-rc
> > if no better fix is found.
> 
> Setting codec->power_save_node to 0 in patch_alc269 is sufficient; no
> noticeable cracking occurring.

Does the patch below have any improvement?


Takashi

---
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 788f969b1a68..17147c2638f3 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -841,11 +841,19 @@ static hda_nid_t path_power_update(struct hda_codec *codec,
 		else
 			state = AC_PWRST_D3;
 		if (!snd_hda_check_power_state(codec, nid, state)) {
-			snd_hda_codec_write(codec, nid, 0,
+			snd_hda_codec_read(codec, nid, 0,
 					    AC_VERB_SET_POWER_STATE, state);
 			changed = nid;
-			if (state == AC_PWRST_D0)
-				snd_hdac_regmap_sync_node(&codec->core, nid);
+			if (state == AC_PWRST_D0) {
+				msleep(10);
+				/* all known codecs seem to be capable to handle
+				 * widgets state even in D3, so far.
+				 * if any new codecs need to restore the widget
+				 * states after D0 transition, call the function
+				 * below.
+				 */
+				/* snd_hdac_regmap_sync_node(&codec->core, nid); */
+			}
 		}
 	}
 	return changed;

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-19  6:15                   ` Takashi Iwai
@ 2015-05-19 16:19                     ` Jonathan McDowell
  2015-05-19 17:09                       ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-05-19 16:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

On Tue, May 19, 2015 at 08:15:32AM +0200, Takashi Iwai wrote:
> At Sat, 2 May 2015 16:05:13 +0100,
> Jonathan McDowell wrote:
> > 
> > On Thu, Apr 30, 2015 at 07:06:31PM +0200, Takashi Iwai wrote:
> > > At Thu, 30 Apr 2015 16:01:31 +0100, Jonathan McDowell wrote:
> > > > 
> > > > On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> > > > > 
> > > > > One patch you can try (with or without power_save_node
> > > > > disablement) is below, it squashes the verb sequences at (runtime)
> > > > > PM resume as we did for 4.0.  Let me know if this changes the
> > > > > behavior.
> > > > 
> > > > Patch alone has no effect. Patch with power_save_node disablement
> > > > solves the problem. Didn't try power_save_node disablement without
> > > > the patch.
> > > 
> > > Then please confirm that only power_save_node disablement suffices.
> > > This can be considered as the least change that can be put to 4.1-rc
> > > if no better fix is found.
> > 
> > Setting codec->power_save_node to 0 in patch_alc269 is sufficient; no
> > noticeable cracking occurring.
> 
> Does the patch below have any improvement?

I still get a clicking on the standby -> active transition with the
patch provided on top of 4.1-rc4.

J.

-- 
   101 things you can't have too   |  .''`.  Debian GNU/Linux Developer
  much of : 9 - Processing power.  | : :' :  Happy to accept PGP signed
                                   | `. `'   or encrypted mail - RSA
                                   |   `-    key on the keyservers.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-19 16:19                     ` Jonathan McDowell
@ 2015-05-19 17:09                       ` Takashi Iwai
  2015-05-19 21:53                         ` Jonathan McDowell
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-05-19 17:09 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

At Tue, 19 May 2015 17:19:11 +0100,
Jonathan McDowell wrote:
> 
> On Tue, May 19, 2015 at 08:15:32AM +0200, Takashi Iwai wrote:
> > At Sat, 2 May 2015 16:05:13 +0100,
> > Jonathan McDowell wrote:
> > > 
> > > On Thu, Apr 30, 2015 at 07:06:31PM +0200, Takashi Iwai wrote:
> > > > At Thu, 30 Apr 2015 16:01:31 +0100, Jonathan McDowell wrote:
> > > > > 
> > > > > On Wed, Apr 29, 2015 at 01:54:57PM +0200, Takashi Iwai wrote:
> > > > > > 
> > > > > > One patch you can try (with or without power_save_node
> > > > > > disablement) is below, it squashes the verb sequences at (runtime)
> > > > > > PM resume as we did for 4.0.  Let me know if this changes the
> > > > > > behavior.
> > > > > 
> > > > > Patch alone has no effect. Patch with power_save_node disablement
> > > > > solves the problem. Didn't try power_save_node disablement without
> > > > > the patch.
> > > > 
> > > > Then please confirm that only power_save_node disablement suffices.
> > > > This can be considered as the least change that can be put to 4.1-rc
> > > > if no better fix is found.
> > > 
> > > Setting codec->power_save_node to 0 in patch_alc269 is sufficient; no
> > > noticeable cracking occurring.
> > 
> > Does the patch below have any improvement?
> 
> I still get a clicking on the standby -> active transition with the
> patch provided on top of 4.1-rc4.

OK, just to be sure, could you check whether changing msleep(10) to
msleep(100) makes no difference?  Also put a line like
	pr_info("XXX power up %x\n", nid);
after msleep() call to see which nodes are powered up dynamically.


Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-19 17:09                       ` Takashi Iwai
@ 2015-05-19 21:53                         ` Jonathan McDowell
  2015-05-20  5:01                           ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-05-19 21:53 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

On Tue, May 19, 2015 at 07:09:12PM +0200, Takashi Iwai wrote:
> At Tue, 19 May 2015 17:19:11 +0100,
> Jonathan McDowell wrote:
> > 
> > On Tue, May 19, 2015 at 08:15:32AM +0200, Takashi Iwai wrote:
> > > Does the patch below have any improvement?
> > 
> > I still get a clicking on the standby -> active transition with the
> > patch provided on top of 4.1-rc4.
> 
> OK, just to be sure, could you check whether changing msleep(10) to
> msleep(100) makes no difference?  Also put a line like
> 	pr_info("XXX power up %x\n", nid);
> after msleep() call to see which nodes are powered up dynamically.

Increasing the delay, if anything, makes the crackle when powering up
seem a little longer. dmesg log looks like:

[ 4206.075557] XXX power up 2
[ 4206.179671] XXX power up 14
[ 4206.291758] XXX power up 3

J.

-- 
                                            xmpp:noodles@earth.li
"f u cn rd ths, u cn gt a gd jb n cmptr
                                            prgrmmng." -- Simon
Cozens, ox.os.linux

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-19 21:53                         ` Jonathan McDowell
@ 2015-05-20  5:01                           ` Takashi Iwai
  2015-05-20 20:02                             ` Jonathan McDowell
  2015-06-10 10:17                             ` Mihai Donțu
  0 siblings, 2 replies; 37+ messages in thread
From: Takashi Iwai @ 2015-05-20  5:01 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: alsa-devel, linux-kernel

At Tue, 19 May 2015 22:53:10 +0100,
Jonathan McDowell wrote:
> 
> On Tue, May 19, 2015 at 07:09:12PM +0200, Takashi Iwai wrote:
> > At Tue, 19 May 2015 17:19:11 +0100,
> > Jonathan McDowell wrote:
> > > 
> > > On Tue, May 19, 2015 at 08:15:32AM +0200, Takashi Iwai wrote:
> > > > Does the patch below have any improvement?
> > > 
> > > I still get a clicking on the standby -> active transition with the
> > > patch provided on top of 4.1-rc4.
> > 
> > OK, just to be sure, could you check whether changing msleep(10) to
> > msleep(100) makes no difference?  Also put a line like
> > 	pr_info("XXX power up %x\n", nid);
> > after msleep() call to see which nodes are powered up dynamically.
> 
> Increasing the delay, if anything, makes the crackle when powering up
> seem a little longer. dmesg log looks like:
> 
> [ 4206.075557] XXX power up 2
> [ 4206.179671] XXX power up 14
> [ 4206.291758] XXX power up 3

OK, so everything looks correct, but the codec (or the machine) seems
leading to the noise when a branched path is activated while the pin
was already powered up.  Then let's disable the widget power-saving
for these codecs.

Could you confirm that the patch below works?


thanks,

Takashi

-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co

We've got reports that ALC3226 (a Dell variant of ALC292) gives click
noises at transition from D3 to D0 when the widget power-saving is
enabled.  Further debugging session showed that avoiding it isn't
trivial, unfortunately, since paths are basically activated
dynamically while the pins have been already enabled.

This patch disables the widget power-saving for such codecs.

Reported-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/patch_realtek.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 2e246fe495f6..31f8f13be907 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
 
 	spec = codec->spec;
 	spec->gen.shared_mic_vref_pin = 0x18;
-	codec->power_save_node = 1;
+	if (codec->core.vendor_id != 0x10ec0292)
+		codec->power_save_node = 1;
 
 	snd_hda_pick_fixup(codec, alc269_fixup_models,
 		       alc269_fixup_tbl, alc269_fixups);
-- 
2.4.1


^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-20  5:01                           ` Takashi Iwai
@ 2015-05-20 20:02                             ` Jonathan McDowell
  2015-06-10 10:17                             ` Mihai Donțu
  1 sibling, 0 replies; 37+ messages in thread
From: Jonathan McDowell @ 2015-05-20 20:02 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, linux-kernel

On Wed, May 20, 2015 at 07:01:12AM +0200, Takashi Iwai wrote:
> At Tue, 19 May 2015 22:53:10 +0100,
> Jonathan McDowell wrote:
> > 
> > On Tue, May 19, 2015 at 07:09:12PM +0200, Takashi Iwai wrote:
> > > At Tue, 19 May 2015 17:19:11 +0100,
> > > Jonathan McDowell wrote:
> > > > 
> > > > On Tue, May 19, 2015 at 08:15:32AM +0200, Takashi Iwai wrote:
> > > > > Does the patch below have any improvement?
> > > > 
> > > > I still get a clicking on the standby -> active transition with the
> > > > patch provided on top of 4.1-rc4.
> > > 
> > > OK, just to be sure, could you check whether changing msleep(10) to
> > > msleep(100) makes no difference?  Also put a line like
> > > 	pr_info("XXX power up %x\n", nid);
> > > after msleep() call to see which nodes are powered up dynamically.
> > 
> > Increasing the delay, if anything, makes the crackle when powering up
> > seem a little longer. dmesg log looks like:
> > 
> > [ 4206.075557] XXX power up 2
> > [ 4206.179671] XXX power up 14
> > [ 4206.291758] XXX power up 3
> 
> OK, so everything looks correct, but the codec (or the machine) seems
> leading to the noise when a branched path is activated while the pin
> was already powered up.  Then let's disable the widget power-saving
> for these codecs.
> 
> Could you confirm that the patch below works?

4.1-rc4 + patch below running all day without hearing any crackles.
Sounds good to me.

> -- 8< --
> From: Takashi Iwai <tiwai@suse.de>
> Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> 
> We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> noises at transition from D3 to D0 when the widget power-saving is
> enabled.  Further debugging session showed that avoiding it isn't
> trivial, unfortunately, since paths are basically activated
> dynamically while the pins have been already enabled.
> 
> This patch disables the widget power-saving for such codecs.
> 
> Reported-by: Jonathan McDowell <noodles@earth.li>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
>  sound/pci/hda/patch_realtek.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 2e246fe495f6..31f8f13be907 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
>  
>  	spec = codec->spec;
>  	spec->gen.shared_mic_vref_pin = 0x18;
> -	codec->power_save_node = 1;
> +	if (codec->core.vendor_id != 0x10ec0292)
> +		codec->power_save_node = 1;
>  
>  	snd_hda_pick_fixup(codec, alc269_fixup_models,
>  		       alc269_fixup_tbl, alc269_fixups);
> -- 

J.

-- 
] http://www.earth.li/~noodles/ []     Sex, truth and jellibabies.     [
]  PGP/GPG Key @ the.earth.li   []                                     [
] via keyserver, web or email.  []                                     [
] RSA: 4096/2DA8B985            []                                     [

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-05-20  5:01                           ` Takashi Iwai
  2015-05-20 20:02                             ` Jonathan McDowell
@ 2015-06-10 10:17                             ` Mihai Donțu
  2015-06-10 10:22                               ` Takashi Iwai
  1 sibling, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 10:17 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> From: Takashi Iwai <tiwai@suse.de>
> Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> 
> We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> noises at transition from D3 to D0 when the widget power-saving is
> enabled.  Further debugging session showed that avoiding it isn't
> trivial, unfortunately, since paths are basically activated
> dynamically while the pins have been already enabled.
> 
> This patch disables the widget power-saving for such codecs.
> 
> Reported-by: Jonathan McDowell <noodles@earth.li>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
>  sound/pci/hda/patch_realtek.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 2e246fe495f6..31f8f13be907 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
>  
>  	spec = codec->spec;
>  	spec->gen.shared_mic_vref_pin = 0x18;
> -	codec->power_save_node = 1;
> +	if (codec->core.vendor_id != 0x10ec0292)
> +		codec->power_save_node = 1;
>  
>  	snd_hda_pick_fixup(codec, alc269_fixup_models,
>  		       alc269_fixup_tbl, alc269_fixups);

I'm on 4.1-rc7 which appears to contain this patch, however, I still
get the audio artifacts (crackles) when I boot my laptop (Latitude
E7440):

[    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
[    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
[    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
[    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
[    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12

4.0.4 was fine.

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 10:17                             ` Mihai Donțu
@ 2015-06-10 10:22                               ` Takashi Iwai
  2015-06-10 10:41                                 ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 10:22 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 13:17:55 +0300,
Mihai Donțu wrote:
> 
> On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > From: Takashi Iwai <tiwai@suse.de>
> > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > 
> > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > noises at transition from D3 to D0 when the widget power-saving is
> > enabled.  Further debugging session showed that avoiding it isn't
> > trivial, unfortunately, since paths are basically activated
> > dynamically while the pins have been already enabled.
> > 
> > This patch disables the widget power-saving for such codecs.
> > 
> > Reported-by: Jonathan McDowell <noodles@earth.li>
> > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > ---
> >  sound/pci/hda/patch_realtek.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > index 2e246fe495f6..31f8f13be907 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> >  
> >  	spec = codec->spec;
> >  	spec->gen.shared_mic_vref_pin = 0x18;
> > -	codec->power_save_node = 1;
> > +	if (codec->core.vendor_id != 0x10ec0292)
> > +		codec->power_save_node = 1;
> >  
> >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> >  		       alc269_fixup_tbl, alc269_fixups);
> 
> I'm on 4.1-rc7 which appears to contain this patch, however, I still
> get the audio artifacts (crackles) when I boot my laptop (Latitude
> E7440):
> 
> [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> 
> 4.0.4 was fine.

Does it happen only once at boot (i.e. at power up), or happens always
at runtime PM?  If it's a once-off boot thing, the patch shouldn't
have much effect.  Something else, very subtle thing, e.g. the order
of verb execution, might cause this kind of problem.


Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 10:22                               ` Takashi Iwai
@ 2015-06-10 10:41                                 ` Mihai Donțu
  2015-06-10 10:50                                   ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 10:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > From: Takashi Iwai <tiwai@suse.de>
> > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > 
> > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > noises at transition from D3 to D0 when the widget power-saving is
> > > enabled.  Further debugging session showed that avoiding it isn't
> > > trivial, unfortunately, since paths are basically activated
> > > dynamically while the pins have been already enabled.
> > > 
> > > This patch disables the widget power-saving for such codecs.
> > > 
> > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > ---
> > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > index 2e246fe495f6..31f8f13be907 100644
> > > --- a/sound/pci/hda/patch_realtek.c
> > > +++ b/sound/pci/hda/patch_realtek.c
> > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > >  
> > >  	spec = codec->spec;
> > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > -	codec->power_save_node = 1;
> > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > +		codec->power_save_node = 1;
> > >  
> > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > >  		       alc269_fixup_tbl, alc269_fixups);
> > 
> > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > E7440):
> > 
> > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > 
> > 4.0.4 was fine.
> 
> Does it happen only once at boot (i.e. at power up), or happens always
> at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> have much effect.  Something else, very subtle thing, e.g. the order
> of verb execution, might cause this kind of problem.

Only at power up. I've also suspend-resumed twice and can confirm it's
OK.

There's a _very_ brief click at suspend (when the power is cut), but it
looks like a plain circuitry thing. I probably didn't notice it before
because I wasn't looking for it.

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 10:41                                 ` Mihai Donțu
@ 2015-06-10 10:50                                   ` Takashi Iwai
  2015-06-10 11:45                                     ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 10:50 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 13:41:35 +0300,
Mihai Donțu wrote:
> 
> On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > From: Takashi Iwai <tiwai@suse.de>
> > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > 
> > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > trivial, unfortunately, since paths are basically activated
> > > > dynamically while the pins have been already enabled.
> > > > 
> > > > This patch disables the widget power-saving for such codecs.
> > > > 
> > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > ---
> > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > index 2e246fe495f6..31f8f13be907 100644
> > > > --- a/sound/pci/hda/patch_realtek.c
> > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > >  
> > > >  	spec = codec->spec;
> > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > -	codec->power_save_node = 1;
> > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > +		codec->power_save_node = 1;
> > > >  
> > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > 
> > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > E7440):
> > > 
> > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > 
> > > 4.0.4 was fine.
> > 
> > Does it happen only once at boot (i.e. at power up), or happens always
> > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > have much effect.  Something else, very subtle thing, e.g. the order
> > of verb execution, might cause this kind of problem.
> 
> Only at power up. I've also suspend-resumed twice and can confirm it's
> OK.
> 
> There's a _very_ brief click at suspend (when the power is cut), but it
> looks like a plain circuitry thing. I probably didn't notice it before
> because I wasn't looking for it.

Thanks.  Do you get the same click noise when reloading snd-hda-intel
driver?  Also, does it happen when booting in runlevel 3?

Last but not least, a patch like below has any effect?


Takashi

---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
 			break;
 	}
 
+	if (power_state == AC_PWRST_D0)
+		msleep(100);
 	return state;
 }
 

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 10:50                                   ` Takashi Iwai
@ 2015-06-10 11:45                                     ` Mihai Donțu
  2015-06-10 12:33                                       ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 11:45 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > 
> > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > trivial, unfortunately, since paths are basically activated
> > > > > dynamically while the pins have been already enabled.
> > > > > 
> > > > > This patch disables the widget power-saving for such codecs.
> > > > > 
> > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > ---
> > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > >  
> > > > >  	spec = codec->spec;
> > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > -	codec->power_save_node = 1;
> > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > +		codec->power_save_node = 1;
> > > > >  
> > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > 
> > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > E7440):
> > > > 
> > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > 
> > > > 4.0.4 was fine.
> > > 
> > > Does it happen only once at boot (i.e. at power up), or happens always
> > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > have much effect.  Something else, very subtle thing, e.g. the order
> > > of verb execution, might cause this kind of problem.
> > 
> > Only at power up. I've also suspend-resumed twice and can confirm it's
> > OK.
> > 
> > There's a _very_ brief click at suspend (when the power is cut), but it
> > looks like a plain circuitry thing. I probably didn't notice it before
> > because I wasn't looking for it.
> 
> Thanks.  Do you get the same click noise when reloading snd-hda-intel
> driver?  Also, does it happen when booting in runlevel 3?
> 
> Last but not least, a patch like below has any effect?
> 
> 
> Takashi
> 
> ---
> diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> --- a/sound/pci/hda/hda_codec.c
> +++ b/sound/pci/hda/hda_codec.c
> @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
>  			break;
>  	}
>  
> +	if (power_state == AC_PWRST_D0)
> +		msleep(100);
>  	return state;
>  }
>  

Reloading snd-hda-intel does not trigger the noise, but it helps. I've
noticed that the clicks appear when loading/reloading pulseaudio.

  $ pulseaudio -k

will spawn a new child in background (probably asked by kmix) and
immediately I hear the noise. Reloading the driver makes the problem go
away.

telinit 3 does nothing for me (Gentoo seems to have things wired
differently). Manually reloading alsasound (/etc/init.d/alsasound) did
not trigger the problem either.

However! Your patch seems to work. Cold boot, pulseaudio restart and
nothing. Not a peep. :-)

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 11:45                                     ` Mihai Donțu
@ 2015-06-10 12:33                                       ` Takashi Iwai
  2015-06-10 12:50                                         ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 12:33 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 14:45:51 +0300,
Mihai Donțu wrote:
> 
> On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > 
> > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > dynamically while the pins have been already enabled.
> > > > > > 
> > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > 
> > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > ---
> > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > 
> > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > >  
> > > > > >  	spec = codec->spec;
> > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > -	codec->power_save_node = 1;
> > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > +		codec->power_save_node = 1;
> > > > > >  
> > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > 
> > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > E7440):
> > > > > 
> > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > 
> > > > > 4.0.4 was fine.
> > > > 
> > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > of verb execution, might cause this kind of problem.
> > > 
> > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > OK.
> > > 
> > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > looks like a plain circuitry thing. I probably didn't notice it before
> > > because I wasn't looking for it.
> > 
> > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > driver?  Also, does it happen when booting in runlevel 3?
> > 
> > Last but not least, a patch like below has any effect?
> > 
> > 
> > Takashi
> > 
> > ---
> > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > --- a/sound/pci/hda/hda_codec.c
> > +++ b/sound/pci/hda/hda_codec.c
> > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> >  			break;
> >  	}
> >  
> > +	if (power_state == AC_PWRST_D0)
> > +		msleep(100);
> >  	return state;
> >  }
> >  
> 
> Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> noticed that the clicks appear when loading/reloading pulseaudio.
> 
>   $ pulseaudio -k
> 
> will spawn a new child in background (probably asked by kmix) and
> immediately I hear the noise. Reloading the driver makes the problem go
> away.

Hm. It's a bit inconsistent, but still this can be only at the full
power up sequence.

> telinit 3 does nothing for me (Gentoo seems to have things wired
> differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> not trigger the problem either.
> 
> However! Your patch seems to work. Cold boot, pulseaudio restart and
> nothing. Not a peep. :-)

OK, could you try to reduce the sleep value from 100 to 10?
Does it still work?


thanks,

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 12:33                                       ` Takashi Iwai
@ 2015-06-10 12:50                                         ` Takashi Iwai
  2015-06-10 16:22                                           ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 12:50 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 14:33:42 +0200,
Takashi Iwai wrote:
> 
> At Wed, 10 Jun 2015 14:45:51 +0300,
> Mihai Donțu wrote:
> > 
> > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > > 
> > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > > dynamically while the pins have been already enabled.
> > > > > > > 
> > > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > > 
> > > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > > ---
> > > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > > 
> > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > > >  
> > > > > > >  	spec = codec->spec;
> > > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > > -	codec->power_save_node = 1;
> > > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > > +		codec->power_save_node = 1;
> > > > > > >  
> > > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > > 
> > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > > E7440):
> > > > > > 
> > > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > > 
> > > > > > 4.0.4 was fine.
> > > > > 
> > > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > > of verb execution, might cause this kind of problem.
> > > > 
> > > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > > OK.
> > > > 
> > > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > > looks like a plain circuitry thing. I probably didn't notice it before
> > > > because I wasn't looking for it.
> > > 
> > > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > > driver?  Also, does it happen when booting in runlevel 3?
> > > 
> > > Last but not least, a patch like below has any effect?
> > > 
> > > 
> > > Takashi
> > > 
> > > ---
> > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > > --- a/sound/pci/hda/hda_codec.c
> > > +++ b/sound/pci/hda/hda_codec.c
> > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> > >  			break;
> > >  	}
> > >  
> > > +	if (power_state == AC_PWRST_D0)
> > > +		msleep(100);
> > >  	return state;
> > >  }
> > >  
> > 
> > Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> > noticed that the clicks appear when loading/reloading pulseaudio.
> > 
> >   $ pulseaudio -k
> > 
> > will spawn a new child in background (probably asked by kmix) and
> > immediately I hear the noise. Reloading the driver makes the problem go
> > away.
> 
> Hm. It's a bit inconsistent, but still this can be only at the full
> power up sequence.
> 
> > telinit 3 does nothing for me (Gentoo seems to have things wired
> > differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> > not trigger the problem either.
> > 
> > However! Your patch seems to work. Cold boot, pulseaudio restart and
> > nothing. Not a peep. :-)
> 
> OK, could you try to reduce the sleep value from 100 to 10?
> Does it still work?

... and check whether the patch below works instead.  This is a better
place if it really fixes.  The former patch is in the common path
every driver uses while this is codec-specific.


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 0320cb523d9e..957412548ba1 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5637,7 +5637,9 @@ static int patch_alc269(struct hda_codec *codec)
 
 	spec = codec->spec;
 	spec->gen.shared_mic_vref_pin = 0x18;
-	if (codec->core.vendor_id != 0x10ec0292)
+	if (codec->core.vendor_id == 0x10ec0292)
+		msleep(100); /* for avoiding click noise at power up */
+	else
 		codec->power_save_node = 1;
 
 	snd_hda_pick_fixup(codec, alc269_fixup_models,

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 12:50                                         ` Takashi Iwai
@ 2015-06-10 16:22                                           ` Mihai Donțu
  2015-06-10 16:27                                             ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 16:22 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Wed, 10 Jun 2015 14:50:30 +0200 Takashi Iwai wrote:
> At Wed, 10 Jun 2015 14:33:42 +0200, Takashi Iwai wrote:
> > At Wed, 10 Jun 2015 14:45:51 +0300, Mihai Donțu wrote:
> > > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > > > 
> > > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > > > dynamically while the pins have been already enabled.
> > > > > > > > 
> > > > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > > > 
> > > > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > > > ---
> > > > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > > > 
> > > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > > > >  
> > > > > > > >  	spec = codec->spec;
> > > > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > > > -	codec->power_save_node = 1;
> > > > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > > > +		codec->power_save_node = 1;
> > > > > > > >  
> > > > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > > > 
> > > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > > > E7440):
> > > > > > > 
> > > > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > > > 
> > > > > > > 4.0.4 was fine.
> > > > > > 
> > > > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > > > of verb execution, might cause this kind of problem.
> > > > > 
> > > > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > > > OK.
> > > > > 
> > > > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > > > looks like a plain circuitry thing. I probably didn't notice it before
> > > > > because I wasn't looking for it.
> > > > 
> > > > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > > > driver?  Also, does it happen when booting in runlevel 3?
> > > > 
> > > > Last but not least, a patch like below has any effect?
> > > > 
> > > > 
> > > > Takashi
> > > > 
> > > > ---
> > > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > > > --- a/sound/pci/hda/hda_codec.c
> > > > +++ b/sound/pci/hda/hda_codec.c
> > > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> > > >  			break;
> > > >  	}
> > > >  
> > > > +	if (power_state == AC_PWRST_D0)
> > > > +		msleep(100);
> > > >  	return state;
> > > >  }
> > > >  
> > > 
> > > Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> > > noticed that the clicks appear when loading/reloading pulseaudio.
> > > 
> > >   $ pulseaudio -k
> > > 
> > > will spawn a new child in background (probably asked by kmix) and
> > > immediately I hear the noise. Reloading the driver makes the problem go
> > > away.
> > 
> > Hm. It's a bit inconsistent, but still this can be only at the full
> > power up sequence.
> > 
> > > telinit 3 does nothing for me (Gentoo seems to have things wired
> > > differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> > > not trigger the problem either.
> > > 
> > > However! Your patch seems to work. Cold boot, pulseaudio restart and
> > > nothing. Not a peep. :-)
> > 
> > OK, could you try to reduce the sleep value from 100 to 10?
> > Does it still work?
> 
> ... and check whether the patch below works instead.  This is a better
> place if it really fixes.  The former patch is in the common path
> every driver uses while this is codec-specific.
> 
> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 0320cb523d9e..957412548ba1 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5637,7 +5637,9 @@ static int patch_alc269(struct hda_codec *codec)
>  
>  	spec = codec->spec;
>  	spec->gen.shared_mic_vref_pin = 0x18;
> -	if (codec->core.vendor_id != 0x10ec0292)
> +	if (codec->core.vendor_id == 0x10ec0292)
> +		msleep(100); /* for avoiding click noise at power up */
> +	else
>  		codec->power_save_node = 1;
>  
>  	snd_hda_pick_fixup(codec, alc269_fixup_models,

The initial patch but with msleep(10), works OK. This new one, however,
does not (with 100ms or 10ms).

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 16:22                                           ` Mihai Donțu
@ 2015-06-10 16:27                                             ` Takashi Iwai
  2015-06-10 16:43                                               ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 16:27 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 19:22:02 +0300,
Mihai Donțu wrote:
> 
> On Wed, 10 Jun 2015 14:50:30 +0200 Takashi Iwai wrote:
> > At Wed, 10 Jun 2015 14:33:42 +0200, Takashi Iwai wrote:
> > > At Wed, 10 Jun 2015 14:45:51 +0300, Mihai Donțu wrote:
> > > > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > > > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > > > > 
> > > > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > > > > dynamically while the pins have been already enabled.
> > > > > > > > > 
> > > > > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > > > > 
> > > > > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > ---
> > > > > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > > > > 
> > > > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > > > > >  
> > > > > > > > >  	spec = codec->spec;
> > > > > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > > > > -	codec->power_save_node = 1;
> > > > > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > > > > +		codec->power_save_node = 1;
> > > > > > > > >  
> > > > > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > > > > 
> > > > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > > > > E7440):
> > > > > > > > 
> > > > > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > > > > 
> > > > > > > > 4.0.4 was fine.
> > > > > > > 
> > > > > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > > > > of verb execution, might cause this kind of problem.
> > > > > > 
> > > > > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > > > > OK.
> > > > > > 
> > > > > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > > > > looks like a plain circuitry thing. I probably didn't notice it before
> > > > > > because I wasn't looking for it.
> > > > > 
> > > > > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > > > > driver?  Also, does it happen when booting in runlevel 3?
> > > > > 
> > > > > Last but not least, a patch like below has any effect?
> > > > > 
> > > > > 
> > > > > Takashi
> > > > > 
> > > > > ---
> > > > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > > > > --- a/sound/pci/hda/hda_codec.c
> > > > > +++ b/sound/pci/hda/hda_codec.c
> > > > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> > > > >  			break;
> > > > >  	}
> > > > >  
> > > > > +	if (power_state == AC_PWRST_D0)
> > > > > +		msleep(100);
> > > > >  	return state;
> > > > >  }
> > > > >  
> > > > 
> > > > Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> > > > noticed that the clicks appear when loading/reloading pulseaudio.
> > > > 
> > > >   $ pulseaudio -k
> > > > 
> > > > will spawn a new child in background (probably asked by kmix) and
> > > > immediately I hear the noise. Reloading the driver makes the problem go
> > > > away.
> > > 
> > > Hm. It's a bit inconsistent, but still this can be only at the full
> > > power up sequence.
> > > 
> > > > telinit 3 does nothing for me (Gentoo seems to have things wired
> > > > differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> > > > not trigger the problem either.
> > > > 
> > > > However! Your patch seems to work. Cold boot, pulseaudio restart and
> > > > nothing. Not a peep. :-)
> > > 
> > > OK, could you try to reduce the sleep value from 100 to 10?
> > > Does it still work?
> > 
> > ... and check whether the patch below works instead.  This is a better
> > place if it really fixes.  The former patch is in the common path
> > every driver uses while this is codec-specific.
> > 
> > ---
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > index 0320cb523d9e..957412548ba1 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -5637,7 +5637,9 @@ static int patch_alc269(struct hda_codec *codec)
> >  
> >  	spec = codec->spec;
> >  	spec->gen.shared_mic_vref_pin = 0x18;
> > -	if (codec->core.vendor_id != 0x10ec0292)
> > +	if (codec->core.vendor_id == 0x10ec0292)
> > +		msleep(100); /* for avoiding click noise at power up */
> > +	else
> >  		codec->power_save_node = 1;
> >  
> >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> 
> The initial patch but with msleep(10), works OK. This new one, however,
> does not (with 100ms or 10ms).

Hmm, could you make sure that the sleep is actually called, e.g. by
adding a debug print or such?  I blindly assumed that your codec is
as same as Joanathan's (vendor id 0x10ec0292).  You can check
/proc/asound/card*/codec#* files, too.


Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 16:27                                             ` Takashi Iwai
@ 2015-06-10 16:43                                               ` Mihai Donțu
  2015-06-10 18:23                                                 ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 16:43 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Wed, 10 Jun 2015 18:27:23 +0200 Takashi Iwai wrote:
> At Wed, 10 Jun 2015 19:22:02 +0300, Mihai Donțu wrote:
> > On Wed, 10 Jun 2015 14:50:30 +0200 Takashi Iwai wrote:
> > > At Wed, 10 Jun 2015 14:33:42 +0200, Takashi Iwai wrote:
> > > > At Wed, 10 Jun 2015 14:45:51 +0300, Mihai Donțu wrote:
> > > > > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > > > > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > > > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > > > > > 
> > > > > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > > > > > dynamically while the pins have been already enabled.
> > > > > > > > > > 
> > > > > > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > > > > > 
> > > > > > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > > ---
> > > > > > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > > > > > 
> > > > > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > > > > > >  
> > > > > > > > > >  	spec = codec->spec;
> > > > > > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > > > > > -	codec->power_save_node = 1;
> > > > > > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > > > > > +		codec->power_save_node = 1;
> > > > > > > > > >  
> > > > > > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > > > > > 
> > > > > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > > > > > E7440):
> > > > > > > > > 
> > > > > > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > > > > > 
> > > > > > > > > 4.0.4 was fine.
> > > > > > > > 
> > > > > > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > > > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > > > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > > > > > of verb execution, might cause this kind of problem.
> > > > > > > 
> > > > > > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > > > > > OK.
> > > > > > > 
> > > > > > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > > > > > looks like a plain circuitry thing. I probably didn't notice it before
> > > > > > > because I wasn't looking for it.
> > > > > > 
> > > > > > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > > > > > driver?  Also, does it happen when booting in runlevel 3?
> > > > > > 
> > > > > > Last but not least, a patch like below has any effect?
> > > > > > 
> > > > > > 
> > > > > > Takashi
> > > > > > 
> > > > > > ---
> > > > > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > > > > > --- a/sound/pci/hda/hda_codec.c
> > > > > > +++ b/sound/pci/hda/hda_codec.c
> > > > > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> > > > > >  			break;
> > > > > >  	}
> > > > > >  
> > > > > > +	if (power_state == AC_PWRST_D0)
> > > > > > +		msleep(100);
> > > > > >  	return state;
> > > > > >  }
> > > > > >  
> > > > > 
> > > > > Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> > > > > noticed that the clicks appear when loading/reloading pulseaudio.
> > > > > 
> > > > >   $ pulseaudio -k
> > > > > 
> > > > > will spawn a new child in background (probably asked by kmix) and
> > > > > immediately I hear the noise. Reloading the driver makes the problem go
> > > > > away.
> > > > 
> > > > Hm. It's a bit inconsistent, but still this can be only at the full
> > > > power up sequence.
> > > > 
> > > > > telinit 3 does nothing for me (Gentoo seems to have things wired
> > > > > differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> > > > > not trigger the problem either.
> > > > > 
> > > > > However! Your patch seems to work. Cold boot, pulseaudio restart and
> > > > > nothing. Not a peep. :-)
> > > > 
> > > > OK, could you try to reduce the sleep value from 100 to 10?
> > > > Does it still work?
> > > 
> > > ... and check whether the patch below works instead.  This is a better
> > > place if it really fixes.  The former patch is in the common path
> > > every driver uses while this is codec-specific.
> > > 
> > > ---
> > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > index 0320cb523d9e..957412548ba1 100644
> > > --- a/sound/pci/hda/patch_realtek.c
> > > +++ b/sound/pci/hda/patch_realtek.c
> > > @@ -5637,7 +5637,9 @@ static int patch_alc269(struct hda_codec *codec)
> > >  
> > >  	spec = codec->spec;
> > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > -	if (codec->core.vendor_id != 0x10ec0292)
> > > +	if (codec->core.vendor_id == 0x10ec0292)
> > > +		msleep(100); /* for avoiding click noise at power up */
> > > +	else
> > >  		codec->power_save_node = 1;
> > >  
> > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > 
> > The initial patch but with msleep(10), works OK. This new one, however,
> > does not (with 100ms or 10ms).
> 
> Hmm, could you make sure that the sleep is actually called, e.g. by
> adding a debug print or such?  I blindly assumed that your codec is
> as same as Joanathan's (vendor id 0x10ec0292).  You can check
> /proc/asound/card*/codec#* files, too.

I added some printk-s:

[Wed Jun 10 19:36:23 2015] snd_hda_codec_realtek: vendor_id: 0x10ec0292
[Wed Jun 10 19:36:23 2015] snd_hda_codec_realtek: sleeping for 100ms

The code above runs some good seconds before pulseaudio starts and
triggers the clicks. Even before rootfs is re-mounted rw.

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 16:43                                               ` Mihai Donțu
@ 2015-06-10 18:23                                                 ` Takashi Iwai
  2015-06-10 22:12                                                   ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-10 18:23 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Wed, 10 Jun 2015 19:43:03 +0300,
Mihai Donțu wrote:
> 
> On Wed, 10 Jun 2015 18:27:23 +0200 Takashi Iwai wrote:
> > At Wed, 10 Jun 2015 19:22:02 +0300, Mihai Donțu wrote:
> > > On Wed, 10 Jun 2015 14:50:30 +0200 Takashi Iwai wrote:
> > > > At Wed, 10 Jun 2015 14:33:42 +0200, Takashi Iwai wrote:
> > > > > At Wed, 10 Jun 2015 14:45:51 +0300, Mihai Donțu wrote:
> > > > > > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote:
> > > > > > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote:
> > > > > > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote:
> > > > > > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote:
> > > > > > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote:
> > > > > > > > > > > From: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 & co
> > > > > > > > > > > 
> > > > > > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives click
> > > > > > > > > > > noises at transition from D3 to D0 when the widget power-saving is
> > > > > > > > > > > enabled.  Further debugging session showed that avoiding it isn't
> > > > > > > > > > > trivial, unfortunately, since paths are basically activated
> > > > > > > > > > > dynamically while the pins have been already enabled.
> > > > > > > > > > > 
> > > > > > > > > > > This patch disables the widget power-saving for such codecs.
> > > > > > > > > > > 
> > > > > > > > > > > Reported-by: Jonathan McDowell <noodles@earth.li>
> > > > > > > > > > > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > > > > > > > ---
> > > > > > > > > > >  sound/pci/hda/patch_realtek.c | 3 ++-
> > > > > > > > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > > > > > > > > 
> > > > > > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > > > > > > > > index 2e246fe495f6..31f8f13be907 100644
> > > > > > > > > > > --- a/sound/pci/hda/patch_realtek.c
> > > > > > > > > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > > > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec *codec)
> > > > > > > > > > >  
> > > > > > > > > > >  	spec = codec->spec;
> > > > > > > > > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > > > > > > > > -	codec->power_save_node = 1;
> > > > > > > > > > > +	if (codec->core.vendor_id != 0x10ec0292)
> > > > > > > > > > > +		codec->power_save_node = 1;
> > > > > > > > > > >  
> > > > > > > > > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > > > > > > > > >  		       alc269_fixup_tbl, alc269_fixups);
> > > > > > > > > > 
> > > > > > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still
> > > > > > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude
> > > > > > > > > > E7440):
> > > > > > > > > > 
> > > > > > > > > > [    1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line
> > > > > > > > > > [    1.058843] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
> > > > > > > > > > [    1.058846] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
> > > > > > > > > > [    1.058849] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
> > > > > > > > > > [    1.058851] snd_hda_codec_realtek hdaudioC1D0:    inputs:
> > > > > > > > > > [    1.058855] snd_hda_codec_realtek hdaudioC1D0:      Dock Mic=0x19
> > > > > > > > > > [    1.058859] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1a
> > > > > > > > > > [    1.058862] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
> > > > > > > > > > 
> > > > > > > > > > 4.0.4 was fine.
> > > > > > > > > 
> > > > > > > > > Does it happen only once at boot (i.e. at power up), or happens always
> > > > > > > > > at runtime PM?  If it's a once-off boot thing, the patch shouldn't
> > > > > > > > > have much effect.  Something else, very subtle thing, e.g. the order
> > > > > > > > > of verb execution, might cause this kind of problem.
> > > > > > > > 
> > > > > > > > Only at power up. I've also suspend-resumed twice and can confirm it's
> > > > > > > > OK.
> > > > > > > > 
> > > > > > > > There's a _very_ brief click at suspend (when the power is cut), but it
> > > > > > > > looks like a plain circuitry thing. I probably didn't notice it before
> > > > > > > > because I wasn't looking for it.
> > > > > > > 
> > > > > > > Thanks.  Do you get the same click noise when reloading snd-hda-intel
> > > > > > > driver?  Also, does it happen when booting in runlevel 3?
> > > > > > > 
> > > > > > > Last but not least, a patch like below has any effect?
> > > > > > > 
> > > > > > > 
> > > > > > > Takashi
> > > > > > > 
> > > > > > > ---
> > > > > > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > > > > > > --- a/sound/pci/hda/hda_codec.c
> > > > > > > +++ b/sound/pci/hda/hda_codec.c
> > > > > > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct hda_codec *codec,
> > > > > > >  			break;
> > > > > > >  	}
> > > > > > >  
> > > > > > > +	if (power_state == AC_PWRST_D0)
> > > > > > > +		msleep(100);
> > > > > > >  	return state;
> > > > > > >  }
> > > > > > >  
> > > > > > 
> > > > > > Reloading snd-hda-intel does not trigger the noise, but it helps. I've
> > > > > > noticed that the clicks appear when loading/reloading pulseaudio.
> > > > > > 
> > > > > >   $ pulseaudio -k
> > > > > > 
> > > > > > will spawn a new child in background (probably asked by kmix) and
> > > > > > immediately I hear the noise. Reloading the driver makes the problem go
> > > > > > away.
> > > > > 
> > > > > Hm. It's a bit inconsistent, but still this can be only at the full
> > > > > power up sequence.
> > > > > 
> > > > > > telinit 3 does nothing for me (Gentoo seems to have things wired
> > > > > > differently). Manually reloading alsasound (/etc/init.d/alsasound) did
> > > > > > not trigger the problem either.
> > > > > > 
> > > > > > However! Your patch seems to work. Cold boot, pulseaudio restart and
> > > > > > nothing. Not a peep. :-)
> > > > > 
> > > > > OK, could you try to reduce the sleep value from 100 to 10?
> > > > > Does it still work?
> > > > 
> > > > ... and check whether the patch below works instead.  This is a better
> > > > place if it really fixes.  The former patch is in the common path
> > > > every driver uses while this is codec-specific.
> > > > 
> > > > ---
> > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > index 0320cb523d9e..957412548ba1 100644
> > > > --- a/sound/pci/hda/patch_realtek.c
> > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > @@ -5637,7 +5637,9 @@ static int patch_alc269(struct hda_codec *codec)
> > > >  
> > > >  	spec = codec->spec;
> > > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > > -	if (codec->core.vendor_id != 0x10ec0292)
> > > > +	if (codec->core.vendor_id == 0x10ec0292)
> > > > +		msleep(100); /* for avoiding click noise at power up */
> > > > +	else
> > > >  		codec->power_save_node = 1;
> > > >  
> > > >  	snd_hda_pick_fixup(codec, alc269_fixup_models,
> > > 
> > > The initial patch but with msleep(10), works OK. This new one, however,
> > > does not (with 100ms or 10ms).
> > 
> > Hmm, could you make sure that the sleep is actually called, e.g. by
> > adding a debug print or such?  I blindly assumed that your codec is
> > as same as Joanathan's (vendor id 0x10ec0292).  You can check
> > /proc/asound/card*/codec#* files, too.
> 
> I added some printk-s:
> 
> [Wed Jun 10 19:36:23 2015] snd_hda_codec_realtek: vendor_id: 0x10ec0292
> [Wed Jun 10 19:36:23 2015] snd_hda_codec_realtek: sleeping for 100ms
> 
> The code above runs some good seconds before pulseaudio starts and
> triggers the clicks. Even before rootfs is re-mounted rw.

OK, then it's really needed to be right after the power transition.
To be sure, below is the patch I'm going to apply.  If it really
works, please give you tested-by tag.


thanks,

Takashi

-- 8< --
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;
 }
 
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 18:23                                                 ` Takashi Iwai
@ 2015-06-10 22:12                                                   ` Mihai Donțu
  2015-06-11  5:01                                                     ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-10 22:12 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

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.

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-10 22:12                                                   ` Mihai Donțu
@ 2015-06-11  5:01                                                     ` Takashi Iwai
  2015-06-11 22:23                                                       ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-11  5:01 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

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.)


thanks,

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-11  5:01                                                     ` Takashi Iwai
@ 2015-06-11 22:23                                                       ` Mihai Donțu
  2015-06-12  7:00                                                         ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-11 22:23 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2510 bytes --]

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,

-- 
Mihai Donțu

[-- Attachment #2: alsa-info.tar.gz --]
[-- Type: application/gzip, Size: 11779 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-11 22:23                                                       ` Mihai Donțu
@ 2015-06-12  7:00                                                         ` Takashi Iwai
  2015-06-12  9:45                                                           ` Mihai Donțu
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-12  7:00 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Fri, 12 Jun 2015 01:23:18 +0300,
Mihai Donțu wrote:
> 
> 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.

Both are taken in different states (one is headphone plugged and
another unplugged?).  At best, take the snapshot in the same situation
for comparison.

In anyway, below is another shot in dark.  The white noise is possibly
the ill side effect of analog loopback.  But it's strange that this
didn't happen on 4.0.x.  And, it combines another black magic that
worked for another Dell model.  Let's see.


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 9d3e0fcb4326..cf46f6012ba4 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4522,6 +4522,8 @@ enum {
 	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 	ALC288_FIXUP_DELL_XPS_13_GPIO6,
 	ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
+	ALC292_FIXUP_DELL_E74,
+	ALC292_FIXUP_DISABLE_AAMIX,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -5054,6 +5056,16 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC269_FIXUP_HEADSET_MODE
 	},
+	[ALC292_FIXUP_DISABLE_AAMIX] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = alc_fixup_disable_aamix,
+	},
+	[ALC292_FIXUP_DELL_E74] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = alc_fixup_dell_xps13,
+		.chained = true,
+		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -5066,6 +5078,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
 	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
 	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
+	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E74),
 	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
 	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-12  7:00                                                         ` Takashi Iwai
@ 2015-06-12  9:45                                                           ` Mihai Donțu
  2015-06-12 10:09                                                             ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Mihai Donțu @ 2015-06-12  9:45 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Fri, 12 Jun 2015 09:00:06 +0200 Takashi Iwai wrote:
> At Fri, 12 Jun 2015 01:23:18 +0300, Mihai Donțu wrote:
> > 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.
> 
> Both are taken in different states (one is headphone plugged and
> another unplugged?).  At best, take the snapshot in the same situation
> for comparison.
> 
> In anyway, below is another shot in dark.  The white noise is possibly
> the ill side effect of analog loopback.  But it's strange that this
> didn't happen on 4.0.x.  And, it combines another black magic that
> worked for another Dell model.  Let's see.
> 
> 
> Takashi
> 
> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 9d3e0fcb4326..cf46f6012ba4 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -4522,6 +4522,8 @@ enum {
>  	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
>  	ALC288_FIXUP_DELL_XPS_13_GPIO6,
>  	ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> +	ALC292_FIXUP_DELL_E74,
> +	ALC292_FIXUP_DISABLE_AAMIX,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = {
> @@ -5054,6 +5056,16 @@ static const struct hda_fixup alc269_fixups[] = {
>  		.chained = true,
>  		.chain_id = ALC269_FIXUP_HEADSET_MODE
>  	},
> +	[ALC292_FIXUP_DISABLE_AAMIX] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = alc_fixup_disable_aamix,
> +	},
> +	[ALC292_FIXUP_DELL_E74] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = alc_fixup_dell_xps13,
> +		.chained = true,
> +		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
> +	},
>  };
>  
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -5066,6 +5078,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
>  	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
>  	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
> +	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E74),
>  	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
>  	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),

Nice shot! It appears to work. :-) No clicks, no static.

I had to apply it by hand over 4.1-rc7, because the first two arrays
look different in both it and -master. Anyway, I will play with it some
more today see if anything else is broken.

Oh, and yes, the second state is without headphones on. I removed them
without thinking when the noise started. Sorry about that.

Thanks!

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-12  9:45                                                           ` Mihai Donțu
@ 2015-06-12 10:09                                                             ` Takashi Iwai
  2015-06-12 14:13                                                               ` Takashi Iwai
  0 siblings, 1 reply; 37+ messages in thread
From: Takashi Iwai @ 2015-06-12 10:09 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Fri, 12 Jun 2015 12:45:23 +0300,
Mihai Donțu wrote:
> 
> On Fri, 12 Jun 2015 09:00:06 +0200 Takashi Iwai wrote:
> > At Fri, 12 Jun 2015 01:23:18 +0300, Mihai Donțu wrote:
> > > 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.
> > 
> > Both are taken in different states (one is headphone plugged and
> > another unplugged?).  At best, take the snapshot in the same situation
> > for comparison.
> > 
> > In anyway, below is another shot in dark.  The white noise is possibly
> > the ill side effect of analog loopback.  But it's strange that this
> > didn't happen on 4.0.x.  And, it combines another black magic that
> > worked for another Dell model.  Let's see.
> > 
> > 
> > Takashi
> > 
> > ---
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > index 9d3e0fcb4326..cf46f6012ba4 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -4522,6 +4522,8 @@ enum {
> >  	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
> >  	ALC288_FIXUP_DELL_XPS_13_GPIO6,
> >  	ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> > +	ALC292_FIXUP_DELL_E74,
> > +	ALC292_FIXUP_DISABLE_AAMIX,
> >  };
> >  
> >  static const struct hda_fixup alc269_fixups[] = {
> > @@ -5054,6 +5056,16 @@ static const struct hda_fixup alc269_fixups[] = {
> >  		.chained = true,
> >  		.chain_id = ALC269_FIXUP_HEADSET_MODE
> >  	},
> > +	[ALC292_FIXUP_DISABLE_AAMIX] = {
> > +		.type = HDA_FIXUP_FUNC,
> > +		.v.func = alc_fixup_disable_aamix,
> > +	},
> > +	[ALC292_FIXUP_DELL_E74] = {
> > +		.type = HDA_FIXUP_FUNC,
> > +		.v.func = alc_fixup_dell_xps13,
> > +		.chained = true,
> > +		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
> > +	},
> >  };
> >  
> >  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > @@ -5066,6 +5078,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> >  	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
> >  	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
> >  	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
> > +	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E74),
> >  	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
> >  	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
> >  	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
> 
> Nice shot! It appears to work. :-) No clicks, no static.

Good to hear!

> I had to apply it by hand over 4.1-rc7, because the first two arrays
> look different in both it and -master. Anyway, I will play with it some
> more today see if anything else is broken.

While we are at it: could you try to enable codec->power_save_node in
patch_alc269() (while keeping the new patch)?

--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5671,8 +5671,7 @@ static int patch_alc269(struct hda_codec *codec)
 
 	spec = codec->spec;
 	spec->gen.shared_mic_vref_pin = 0x18;
-	if (codec->core.vendor_id != 0x10ec0292)
-		codec->power_save_node = 1;
+	codec->power_save_node = 1;
 
 #ifdef CONFIG_PM
 	codec->patch_ops.suspend = alc269_suspend;


This was the workaround for Jonathan's machine, but maybe the new
workaround is good enough.  After changing this, try to enable the
power save by writing like

	echo 1 > /sys/module/snd_hda_intel/parameters/power_save

and start/stop playing something.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-12 10:09                                                             ` Takashi Iwai
@ 2015-06-12 14:13                                                               ` Takashi Iwai
  2015-06-12 17:28                                                                 ` Mihai Donțu
  2015-06-14 12:24                                                                 ` Jonathan McDowell
  0 siblings, 2 replies; 37+ messages in thread
From: Takashi Iwai @ 2015-06-12 14:13 UTC (permalink / raw)
  To: Mihai Donțu; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

At Fri, 12 Jun 2015 12:09:55 +0200,
Takashi Iwai wrote:
> 
> At Fri, 12 Jun 2015 12:45:23 +0300,
> Mihai Donțu wrote:
> > 
> > On Fri, 12 Jun 2015 09:00:06 +0200 Takashi Iwai wrote:
> > > At Fri, 12 Jun 2015 01:23:18 +0300, Mihai Donțu wrote:
> > > > 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.
> > > 
> > > Both are taken in different states (one is headphone plugged and
> > > another unplugged?).  At best, take the snapshot in the same situation
> > > for comparison.
> > > 
> > > In anyway, below is another shot in dark.  The white noise is possibly
> > > the ill side effect of analog loopback.  But it's strange that this
> > > didn't happen on 4.0.x.  And, it combines another black magic that
> > > worked for another Dell model.  Let's see.
> > > 
> > > 
> > > Takashi
> > > 
> > > ---
> > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > index 9d3e0fcb4326..cf46f6012ba4 100644
> > > --- a/sound/pci/hda/patch_realtek.c
> > > +++ b/sound/pci/hda/patch_realtek.c
> > > @@ -4522,6 +4522,8 @@ enum {
> > >  	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
> > >  	ALC288_FIXUP_DELL_XPS_13_GPIO6,
> > >  	ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> > > +	ALC292_FIXUP_DELL_E74,
> > > +	ALC292_FIXUP_DISABLE_AAMIX,
> > >  };
> > >  
> > >  static const struct hda_fixup alc269_fixups[] = {
> > > @@ -5054,6 +5056,16 @@ static const struct hda_fixup alc269_fixups[] = {
> > >  		.chained = true,
> > >  		.chain_id = ALC269_FIXUP_HEADSET_MODE
> > >  	},
> > > +	[ALC292_FIXUP_DISABLE_AAMIX] = {
> > > +		.type = HDA_FIXUP_FUNC,
> > > +		.v.func = alc_fixup_disable_aamix,
> > > +	},
> > > +	[ALC292_FIXUP_DELL_E74] = {
> > > +		.type = HDA_FIXUP_FUNC,
> > > +		.v.func = alc_fixup_dell_xps13,
> > > +		.chained = true,
> > > +		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
> > > +	},
> > >  };
> > >  
> > >  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > > @@ -5066,6 +5078,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > >  	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
> > >  	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
> > >  	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
> > > +	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E74),
> > >  	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
> > >  	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
> > >  	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
> > 
> > Nice shot! It appears to work. :-) No clicks, no static.
> 
> Good to hear!
> 
> > I had to apply it by hand over 4.1-rc7, because the first two arrays
> > look different in both it and -master. Anyway, I will play with it some
> > more today see if anything else is broken.
> 
> While we are at it: could you try to enable codec->power_save_node in
> patch_alc269() (while keeping the new patch)?
> 
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5671,8 +5671,7 @@ static int patch_alc269(struct hda_codec *codec)
>  
>  	spec = codec->spec;
>  	spec->gen.shared_mic_vref_pin = 0x18;
> -	if (codec->core.vendor_id != 0x10ec0292)
> -		codec->power_save_node = 1;
> +	codec->power_save_node = 1;
>  
>  #ifdef CONFIG_PM
>  	codec->patch_ops.suspend = alc269_suspend;

For your convenience, below is the combined patch for 4.1.

Jonathan, could you also try this patch and see whether you still get
the noise?


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 0320cb523d9e..919051d92a0b 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4515,6 +4515,8 @@ enum {
 	ALC288_FIXUP_DELL_HEADSET_MODE,
 	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 	ALC288_FIXUP_DELL_XPS_13_GPIO6,
+	ALC292_FIXUP_DELL_E7X,
+	ALC292_FIXUP_DISABLE_AAMIX,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -5037,6 +5039,16 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC288_FIXUP_DELL1_MIC_NO_PRESENCE
 	},
+	[ALC292_FIXUP_DISABLE_AAMIX] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = alc_fixup_disable_aamix,
+	},
+	[ALC292_FIXUP_DELL_E7X] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = alc_fixup_dell_xps13,
+		.chained = true,
+		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -5049,6 +5061,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
 	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
 	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
+	SND_PCI_QUIRK(0x1028, 0x05ca, "Dell Latitude E7240", ALC292_FIXUP_DELL_E7X),
+	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E7X),
 	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
 	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
@@ -5637,8 +5651,7 @@ static int patch_alc269(struct hda_codec *codec)
 
 	spec = codec->spec;
 	spec->gen.shared_mic_vref_pin = 0x18;
-	if (codec->core.vendor_id != 0x10ec0292)
-		codec->power_save_node = 1;
+	codec->power_save_node = 1;
 
 	snd_hda_pick_fixup(codec, alc269_fixup_models,
 		       alc269_fixup_tbl, alc269_fixups);

^ permalink raw reply related	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-12 14:13                                                               ` Takashi Iwai
@ 2015-06-12 17:28                                                                 ` Mihai Donțu
  2015-06-14 12:24                                                                 ` Jonathan McDowell
  1 sibling, 0 replies; 37+ messages in thread
From: Mihai Donțu @ 2015-06-12 17:28 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan McDowell, alsa-devel, linux-kernel

On Fri, 12 Jun 2015 16:13:16 +0200 Takashi Iwai wrote:
> For your convenience, below is the combined patch for 4.1.
> 
> Jonathan, could you also try this patch and see whether you still get
> the noise?
> 
> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 0320cb523d9e..919051d92a0b 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -4515,6 +4515,8 @@ enum {
>  	ALC288_FIXUP_DELL_HEADSET_MODE,
>  	ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
>  	ALC288_FIXUP_DELL_XPS_13_GPIO6,
> +	ALC292_FIXUP_DELL_E7X,
> +	ALC292_FIXUP_DISABLE_AAMIX,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = {
> @@ -5037,6 +5039,16 @@ static const struct hda_fixup alc269_fixups[] = {
>  		.chained = true,
>  		.chain_id = ALC288_FIXUP_DELL1_MIC_NO_PRESENCE
>  	},
> +	[ALC292_FIXUP_DISABLE_AAMIX] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = alc_fixup_disable_aamix,
> +	},
> +	[ALC292_FIXUP_DELL_E7X] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = alc_fixup_dell_xps13,
> +		.chained = true,
> +		.chain_id = ALC292_FIXUP_DISABLE_AAMIX
> +	},
>  };
>  
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -5049,6 +5061,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
>  	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
>  	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
> +	SND_PCI_QUIRK(0x1028, 0x05ca, "Dell Latitude E7240", ALC292_FIXUP_DELL_E7X),
> +	SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E7X),
>  	SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
>  	SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
> @@ -5637,8 +5651,7 @@ static int patch_alc269(struct hda_codec *codec)
>  
>  	spec = codec->spec;
>  	spec->gen.shared_mic_vref_pin = 0x18;
> -	if (codec->core.vendor_id != 0x10ec0292)
> -		codec->power_save_node = 1;
> +	codec->power_save_node = 1;
>  
>  	snd_hda_pick_fixup(codec, alc269_fixup_models,
>  		       alc269_fixup_tbl, alc269_fixups);

This patch works fine for me. You can add my Tested-by when you re-spin
it for Linus and if Jonathan is happy as well.

Thank you!

-- 
Mihai Donțu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-12 14:13                                                               ` Takashi Iwai
  2015-06-12 17:28                                                                 ` Mihai Donțu
@ 2015-06-14 12:24                                                                 ` Jonathan McDowell
  2015-06-15 12:04                                                                   ` Takashi Iwai
  1 sibling, 1 reply; 37+ messages in thread
From: Jonathan McDowell @ 2015-06-14 12:24 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Mihai Donțu, alsa-devel, linux-kernel

On Fri, Jun 12, 2015 at 04:13:16PM +0200, Takashi Iwai wrote:
> At Fri, 12 Jun 2015 12:09:55 +0200,
> Takashi Iwai wrote:
> > At Fri, 12 Jun 2015 12:45:23 +0300,
> > Mihai Donțu wrote:
> > > Nice shot! It appears to work. :-) No clicks, no static.
> > 
> > Good to hear!
> > 
> > > I had to apply it by hand over 4.1-rc7, because the first two arrays
> > > look different in both it and -master. Anyway, I will play with it some
> > > more today see if anything else is broken.
> > 
> > While we are at it: could you try to enable codec->power_save_node in
> > patch_alc269() (while keeping the new patch)?
> > 
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -5671,8 +5671,7 @@ static int patch_alc269(struct hda_codec *codec)
> >  
> >  	spec = codec->spec;
> >  	spec->gen.shared_mic_vref_pin = 0x18;
> > -	if (codec->core.vendor_id != 0x10ec0292)
> > -		codec->power_save_node = 1;
> > +	codec->power_save_node = 1;
> >  
> >  #ifdef CONFIG_PM
> >  	codec->patch_ops.suspend = alc269_suspend;
> 
> For your convenience, below is the combined patch for 4.1.
> 
> Jonathan, could you also try this patch and see whether you still get
> the noise?

Applying the combined patch to 4.1-rc7 I'm not getting any noise on the
transition from suspended to active.

J.

-- 
   101 things you can't have too   |  .''`.  Debian GNU/Linux Developer
    much of : 47 - More coffee.    | : :' :  Happy to accept PGP signed
                                   | `. `'   or encrypted mail - RSA
                                   |   `-    key on the keyservers.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: Audio crackles with 4.1-rc1
  2015-06-14 12:24                                                                 ` Jonathan McDowell
@ 2015-06-15 12:04                                                                   ` Takashi Iwai
  0 siblings, 0 replies; 37+ messages in thread
From: Takashi Iwai @ 2015-06-15 12:04 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: Mihai Donțu, alsa-devel, linux-kernel

At Sun, 14 Jun 2015 13:24:20 +0100,
Jonathan McDowell wrote:
> 
> On Fri, Jun 12, 2015 at 04:13:16PM +0200, Takashi Iwai wrote:
> > At Fri, 12 Jun 2015 12:09:55 +0200,
> > Takashi Iwai wrote:
> > > At Fri, 12 Jun 2015 12:45:23 +0300,
> > > Mihai Donțu wrote:
> > > > Nice shot! It appears to work. :-) No clicks, no static.
> > > 
> > > Good to hear!
> > > 
> > > > I had to apply it by hand over 4.1-rc7, because the first two arrays
> > > > look different in both it and -master. Anyway, I will play with it some
> > > > more today see if anything else is broken.
> > > 
> > > While we are at it: could you try to enable codec->power_save_node in
> > > patch_alc269() (while keeping the new patch)?
> > > 
> > > --- a/sound/pci/hda/patch_realtek.c
> > > +++ b/sound/pci/hda/patch_realtek.c
> > > @@ -5671,8 +5671,7 @@ static int patch_alc269(struct hda_codec *codec)
> > >  
> > >  	spec = codec->spec;
> > >  	spec->gen.shared_mic_vref_pin = 0x18;
> > > -	if (codec->core.vendor_id != 0x10ec0292)
> > > -		codec->power_save_node = 1;
> > > +	codec->power_save_node = 1;
> > >  
> > >  #ifdef CONFIG_PM
> > >  	codec->patch_ops.suspend = alc269_suspend;
> > 
> > For your convenience, below is the combined patch for 4.1.
> > 
> > Jonathan, could you also try this patch and see whether you still get
> > the noise?
> 
> Applying the combined patch to 4.1-rc7 I'm not getting any noise on the
> transition from suspended to active.

Great, I queued the fix patch for 4.1-final now.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2015-06-15 12:04 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-28 11:21 Audio crackles with 4.1-rc1 Jonathan McDowell
2015-04-28 12:00 ` Takashi Iwai
2015-04-28 12:35   ` Jonathan McDowell
2015-04-28 13:05     ` Takashi Iwai
2015-04-28 14:43       ` Takashi Iwai
2015-04-29 11:28         ` Jonathan McDowell
2015-04-29 11:54           ` Takashi Iwai
2015-04-30 15:01             ` Jonathan McDowell
2015-04-30 17:06               ` Takashi Iwai
2015-05-02 15:05                 ` Jonathan McDowell
2015-05-19  6:15                   ` Takashi Iwai
2015-05-19 16:19                     ` Jonathan McDowell
2015-05-19 17:09                       ` Takashi Iwai
2015-05-19 21:53                         ` Jonathan McDowell
2015-05-20  5:01                           ` Takashi Iwai
2015-05-20 20:02                             ` Jonathan McDowell
2015-06-10 10:17                             ` Mihai Donțu
2015-06-10 10:22                               ` Takashi Iwai
2015-06-10 10:41                                 ` Mihai Donțu
2015-06-10 10:50                                   ` Takashi Iwai
2015-06-10 11:45                                     ` Mihai Donțu
2015-06-10 12:33                                       ` Takashi Iwai
2015-06-10 12:50                                         ` Takashi Iwai
2015-06-10 16:22                                           ` Mihai Donțu
2015-06-10 16:27                                             ` Takashi Iwai
2015-06-10 16:43                                               ` Mihai Donțu
2015-06-10 18:23                                                 ` Takashi Iwai
2015-06-10 22:12                                                   ` Mihai Donțu
2015-06-11  5:01                                                     ` Takashi Iwai
2015-06-11 22:23                                                       ` Mihai Donțu
2015-06-12  7:00                                                         ` Takashi Iwai
2015-06-12  9:45                                                           ` Mihai Donțu
2015-06-12 10:09                                                             ` Takashi Iwai
2015-06-12 14:13                                                               ` Takashi Iwai
2015-06-12 17:28                                                                 ` Mihai Donțu
2015-06-14 12:24                                                                 ` Jonathan McDowell
2015-06-15 12:04                                                                   ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).