All of lore.kernel.org
 help / color / mirror / Atom feed
* Cirrus CS4207 not working on 4.14.24
@ 2018-03-09  7:56 Jorge Fernandez Monteagudo
  2018-03-09  9:11 ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Jorge Fernandez Monteagudo @ 2018-03-09  7:56 UTC (permalink / raw)
  To: alsa-devel

Hi all!


I've updated my system from a 3.16.7 kernel to a 4.14.24 kernel and sound stops working.

I have a Cirrus logic CS4207 codec. I've tracked down the problem using the '/proc/asound/card0/codec\#0'

info. With the 3.16.7 kernel all nodes power states are:


Node 0x03: Power: setting=D0, actual=D0
Node 0x0a: Power: setting=D0, actual=D0

and with 4.14.24 they are on


Node 0x03: Power: setting=D0, actual=D3
Node 0x0a: Power: setting=D3, actual=D3

Once in this situation I'm able to go to D0 again and make the sound works. I've used
hda-verb 0.4 to SET_POWER_STATE to 0 with no luck. Finally, I've patched the 4.14.24
to avoid changing to D3 and now the sound is working again. I know it's not the way to go
but I need the sound...

--- a/linux-4.14.24/sound/hda/hdac_device.c    2018-03-08 14:12:44.263575493 +0100
+++ b/linux-4.14.24/sound/hda/hdac_device.c    2018-03-08 14:12:44.263575493 +0100
@@ -1061,6 +1061,9 @@
 int snd_hdac_codec_write(struct hdac_device *hdac, hda_nid_t nid,
             int flags, unsigned int verb, unsigned int parm)
 {
+    /* Ugly patch to avoid going to low power state!! */
+    if (verb == 0x705 && parm == 0x3)
+        return 0;
     return codec_write(hdac, nid, flags, verb, parm);
 }
 EXPORT_SYMBOL_GPL(snd_hdac_codec_write);

I've patched both kernels to show all the codec writes to show all the sequence in both

kernels. Maybe it can help to fix the problem in the correct way.


kernel 3.16.7


[   28.685789] snd_hda_intel: probe of 0000:00:01.1 failed with error -2
[   28.697622]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x0
[   28.697681]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x0
[   28.697726]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x0
[   28.697762]  -- snd_hda_codec_write: nid 0x5, verb:0x705, parm:0x0
[   28.697807]  -- snd_hda_codec_write: nid 0x6, verb:0x705, parm:0x0
[   28.697851]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x0
[   28.697887]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   28.697932]  -- snd_hda_codec_write: nid 0x9, verb:0x705, parm:0x0
[   28.697977]  -- snd_hda_codec_write: nid 0xA, verb:0x705, parm:0x0
[   28.698013]  -- snd_hda_codec_write: nid 0xC, verb:0x705, parm:0x0
[   28.698058]  -- snd_hda_codec_write: nid 0xD, verb:0x705, parm:0x0
[   28.698102]  -- snd_hda_codec_write: nid 0xF, verb:0x705, parm:0x0
[   28.698138]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x0
[   28.698669] sound hdaudioC0D0: autoconfig: line_outs=1 (0xa/0x0/0x0/0x0/0x0) type:line
[   28.698673] sound hdaudioC0D0:    speaker_outs=1 (0xb/0x0/0x0/0x0/0x0)
[   28.698676] sound hdaudioC0D0:    hp_outs=1 (0x9/0x0/0x0/0x0/0x0)
[   28.698678] sound hdaudioC0D0:    mono: mono_out=0x0
[   28.698681] sound hdaudioC0D0:    dig-out=0x10/0x15
[   28.698683] sound hdaudioC0D0:    inputs:
[   28.698687] sound hdaudioC0D0:      Mic=0xd
[   28.698689] sound hdaudioC0D0:      Line=0xc
[   28.698691] sound hdaudioC0D0:    dig-in=0x12
[   28.699332]  -- snd_hda_codec_write: nid 0x9, verb:0x708, parm:0x81
[   28.699370]  -- snd_hda_codec_write: nid 0xA, verb:0x708, parm:0x82
[   28.700249]  -- snd_hda_codec_write: nid 0x1, verb:0x705, parm:0x0
[   28.700285]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   28.700330]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   28.700376]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9999
[   28.700411]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   28.700456]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA412
[   28.700501]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   28.700537]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9
[   28.700582]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x0
[   28.700626]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   28.700662]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   28.700706]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x2412
[   28.700751]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   28.700785]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x0
[   28.700830]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   28.700874]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x8
[   28.700911]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x0
[   28.700956]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   28.701001]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x3
[   28.701038]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x146A
[   28.701083]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x2
[   28.701124]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA
[   28.701169]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   28.701226]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x7
[   28.702188]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0xA080
[   28.702235]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0x9080
[   28.702295]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0xA080
[   28.702330]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0x9080
[   28.702379]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0xA080
[   28.702414]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0x9080
[   28.702459]  -- snd_hda_codec_write: nid 0x6, verb:0x300, parm:0x6080
[   28.702497]  -- snd_hda_codec_write: nid 0x6, verb:0x300, parm:0x5080
[   28.702542]  -- snd_hda_codec_write: nid 0x5, verb:0x300, parm:0x6080
[   28.702586]  -- snd_hda_codec_write: nid 0x5, verb:0x300, parm:0x5080
[   28.702621]  -- snd_hda_codec_write: nid 0x6, verb:0x300, parm:0x6180
[   28.702666]  -- snd_hda_codec_write: nid 0x6, verb:0x300, parm:0x5180
[   28.702710]  -- snd_hda_codec_write: nid 0x5, verb:0x300, parm:0x6180
[   28.702745]  -- snd_hda_codec_write: nid 0x5, verb:0x300, parm:0x5180
[   28.702791]  -- snd_hda_codec_write: nid 0xA, verb:0x707, parm:0x40
[   28.702836]  -- snd_hda_codec_write: nid 0x9, verb:0x707, parm:0xC0
[   28.702872]  -- snd_hda_codec_write: nid 0xB, verb:0x707, parm:0x40
[   28.702917]  -- snd_hda_codec_write: nid 0xD, verb:0x707, parm:0x24
[   28.702962]  -- snd_hda_codec_write: nid 0xC, verb:0x707, parm:0x20
[   28.702998]  -- snd_hda_codec_write: nid 0x6, verb:0x701, parm:0x0
[   28.703044]  -- snd_hda_codec_write: nid 0x10, verb:0x707, parm:0x40
[   28.703081]  -- snd_hda_codec_write: nid 0x15, verb:0x707, parm:0x40
[   28.703130]  -- snd_hda_codec_write: nid 0x12, verb:0x707, parm:0x0
[   28.703185]  -- snd_hda_codec_write: nid 0xC, verb:0x708, parm:0x0
[   28.703230]  -- snd_hda_codec_write: nid 0xD, verb:0x708, parm:0x0
[   28.703275]  -- snd_hda_codec_write: nid 0xF, verb:0x708, parm:0x0
[   28.703311]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   28.703398]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   28.703434]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x1F
[   28.703479]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   28.703517]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x400A
[   28.704045]  -- snd_hda_codec_write: nid 0xD, verb:0x708, parm:0x83
[   28.704148]  -- snd_hda_codec_write: nid 0xC, verb:0x708, parm:0x84
[   28.917726]  -- snd_hda_codec_write: nid 0xB, verb:0x707, parm:0x0
[   28.917797]  -- snd_hda_codec_write: nid 0xA, verb:0x707, parm:0x0
[   29.746841]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0xA000
[   29.746893]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0x9000
[   29.746940]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0xA000
[   29.746991]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0x9000
[   29.747037]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0xA000
[   29.747074]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0x9000
[   29.761263]  -- snd_hda_codec_write: nid 0x8, verb:0x70D, parm:0x1
[   29.761322]  -- snd_hda_codec_write: nid 0x14, verb:0x70D, parm:0x1
[   29.773546]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0xA073
[   29.773601]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0x9073
[   29.773648]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0xA073
[   29.773693]  -- snd_hda_codec_write: nid 0x2, verb:0x300, parm:0x9073
[   29.773749]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0xA073
[   29.773793]  -- snd_hda_codec_write: nid 0x4, verb:0x300, parm:0x9073
[   29.779742]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0xA062
[   29.779829]  -- snd_hda_codec_write: nid 0x3, verb:0x300, parm:0x9062
[   29.794831]  -- snd_hda_codec_write: nid 0x8, verb:0x706, parm:0x50
[   29.796917]  -- snd_hda_codec_write: nid 0x8, verb:0x200, parm:0x31
[   29.797021]  -- snd_hda_codec_write: nid 0x14, verb:0x706, parm:0x50
[   29.798923]  -- snd_hda_codec_write: nid 0x14, verb:0x200, parm:0x31
[   29.799030]  -- snd_hda_codec_write: nid 0x3, verb:0x706, parm:0x50
[   29.800919]  -- snd_hda_codec_write: nid 0x3, verb:0x200, parm:0x31
[   29.801005]  -- snd_hda_codec_write: nid 0x2, verb:0x706, parm:0x50
[   29.802960]  -- snd_hda_codec_write: nid 0x2, verb:0x200, parm:0x31
[   29.803053]  -- snd_hda_codec_write: nid 0x4, verb:0x706, parm:0x50
[   29.804932]  -- snd_hda_codec_write: nid 0x4, verb:0x200, parm:0x31
[   33.323243] systemd-udevd[1441]: starting version 215

kernel 4.14.24


[   33.942455] snd_hda_intel: probe of 0000:00:01.1 failed with error -2
[   33.949069]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x0
[   33.949105]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x0
[   33.949149]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x0
[   33.949196]  -- snd_hda_codec_write: nid 0x5, verb:0x705, parm:0x0
[   33.949231]  -- snd_hda_codec_write: nid 0x6, verb:0x705, parm:0x0
[   33.949275]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x0
[   33.949318]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   33.949363]  -- snd_hda_codec_write: nid 0x9, verb:0x705, parm:0x0
[   33.949397]  -- snd_hda_codec_write: nid 0xA, verb:0x705, parm:0x0
[   33.949441]  -- snd_hda_codec_write: nid 0xC, verb:0x705, parm:0x0
[   33.949484]  -- snd_hda_codec_write: nid 0xD, verb:0x705, parm:0x0
[   33.949522]  -- snd_hda_codec_write: nid 0xF, verb:0x705, parm:0x0
[   33.949566]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x0
[   33.950243] snd_hda_codec_cirrus hdaudioC0D0: autoconfig for CS4207: line_outs=1 (0xa/0x0/0x0/0x0/0x0) type:line
[   33.950245] snd_hda_codec_cirrus hdaudioC0D0:    speaker_outs=1 (0xb/0x0/0x0/0x0/0x0)
[   33.950251] snd_hda_codec_cirrus hdaudioC0D0:    hp_outs=1 (0x9/0x0/0x0/0x0/0x0)
[   33.950252] snd_hda_codec_cirrus hdaudioC0D0:    mono: mono_out=0x0
[   33.950253] snd_hda_codec_cirrus hdaudioC0D0:    dig-out=0x10/0x15
[   33.950254] snd_hda_codec_cirrus hdaudioC0D0:    inputs:
[   33.950256] snd_hda_codec_cirrus hdaudioC0D0:      Mic=0xd
[   33.950257] snd_hda_codec_cirrus hdaudioC0D0:      Line=0xc
[   33.950258] snd_hda_codec_cirrus hdaudioC0D0:    dig-in=0x12
[   33.951210]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x3
[   33.952301]  -- snd_hda_codec_write: nid 0x1, verb:0x705, parm:0x0
[   33.952336]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   33.952381]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   33.952420]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9999
[   33.952464]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   33.952502]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA412
[   33.952547]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.952586]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9
[   33.952629]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x0
[   33.952669]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   33.952713]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   33.952752]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x2412
[   33.952796]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   33.952835]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x0
[   33.952879]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.952918]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x8
[   33.952962]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x0
[   33.953006]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   33.953045]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x3
[   33.953087]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x146A
[   33.953132]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x2
[   33.953178]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA
[   33.953234]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.953273]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x7
[   33.953421]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x3
[   33.953504]  -- snd_hda_codec_write: nid 0xA, verb:0x705, parm:0x3
[   33.953796]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x3
[   33.953879]  -- snd_hda_codec_write: nid 0x9, verb:0x705, parm:0x3
[   33.954468]  -- snd_hda_codec_write: nid 0xD, verb:0x705, parm:0x3
[   33.955253]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x3
[   33.955378]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x3
[   33.955924]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.956026]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.956065]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x1F
[   33.956109]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.956149]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x400A
[   33.956587]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x3
[   33.956796]  -- snd_hda_codec_write: nid 0xC, verb:0x705, parm:0x3
[   33.956919]  -- snd_hda_codec_write: nid 0xF, verb:0x705, parm:0x3
[   33.957382] input: HD-Audio Generic Mic as /devices/pci0000:00/0000:00:09.2/sound/card0/input5
[   33.957430] input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:09.2/sound/card0/input6
[   33.957476] input: HD-Audio Generic Line Out as /devices/pci0000:00/0000:00:09.2/sound/card0/input7
[   33.957518] input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:09.2/sound/card0/input8
[   33.970031]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x3
[   33.970091]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x3
[   33.970127]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x3
[   33.970170]  -- snd_hda_codec_write: nid 0x5, verb:0x705, parm:0x3
[   33.970214]  -- snd_hda_codec_write: nid 0x6, verb:0x705, parm:0x3
[   33.970253]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x3
[   33.970297]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x3
[   33.970336]  -- snd_hda_codec_write: nid 0x9, verb:0x705, parm:0x3
[   33.970380]  -- snd_hda_codec_write: nid 0xA, verb:0x705, parm:0x3
[   33.970420]  -- snd_hda_codec_write: nid 0xC, verb:0x705, parm:0x3
[   33.970463]  -- snd_hda_codec_write: nid 0xD, verb:0x705, parm:0x3
[   33.970502]  -- snd_hda_codec_write: nid 0xF, verb:0x705, parm:0x3
[   33.970546]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x3
[   33.970693]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x3
[   33.970732]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x3
[   33.970775]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x3
[   33.970815]  -- snd_hda_codec_write: nid 0x5, verb:0x705, parm:0x0
[   33.970858]  -- snd_hda_codec_write: nid 0x6, verb:0x705, parm:0x0
[   33.970903]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x3
[   33.970942]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x3
[   33.970987]  -- snd_hda_codec_write: nid 0x9, verb:0x705, parm:0x3
[   33.971025]  -- snd_hda_codec_write: nid 0xA, verb:0x705, parm:0x3
[   33.971065]  -- snd_hda_codec_write: nid 0xC, verb:0x705, parm:0x3
[   33.971109]  -- snd_hda_codec_write: nid 0xD, verb:0x705, parm:0x3
[   33.971153]  -- snd_hda_codec_write: nid 0xF, verb:0x705, parm:0x3
[   33.971191]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x3
[   33.971276]  -- snd_hda_codec_write: nid 0x1, verb:0x705, parm:0x0
[   33.971314]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   33.971358]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   33.971402]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9999
[   33.971441]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   33.971485]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA412
[   33.971524]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.971569]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x9
[   33.971608]  -- snd_hda_codec_write: nid 0x7, verb:0x705, parm:0x0
[   33.971652]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   33.971691]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x17
[   33.971735]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x2412
[   33.971781]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x8
[   33.971815]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x0
[   33.971864]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.971898]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x8
[   33.971942]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x0
[   33.971987]  -- snd_hda_codec_write: nid 0x11, verb:0x703, parm:0x1
[   33.972023]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x3
[   33.972068]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x146A
[   33.972107]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x2
[   33.972151]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0xA
[   33.972189]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.972234]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x7
[   33.972815]  -- snd_hda_codec_write: nid 0x6, verb:0x705, parm:0x0
[   33.973004]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x3
[   33.974881]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.974962]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x4
[   33.975002]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x1F
[   33.975046]  -- snd_hda_codec_write: nid 0x11, verb:0x500, parm:0x1
[   33.975086]  -- snd_hda_codec_write: nid 0x11, verb:0x400, parm:0x400A
[   35.029721]  -- snd_hda_codec_write: nid 0x8, verb:0x705, parm:0x0
[   35.029816]  -- snd_hda_codec_write: nid 0x8, verb:0x706, parm:0x50
[   35.032018]  -- snd_hda_codec_write: nid 0x8, verb:0x200, parm:0x31
[   35.032108]  -- snd_hda_codec_write: nid 0x14, verb:0x705, parm:0x0
[   35.032192]  -- snd_hda_codec_write: nid 0x14, verb:0x706, parm:0x50
[   35.036014]  -- snd_hda_codec_write: nid 0x14, verb:0x200, parm:0x31
[   35.036130]  -- snd_hda_codec_write: nid 0x3, verb:0x705, parm:0x0
[   35.036253]  -- snd_hda_codec_write: nid 0x3, verb:0x706, parm:0x50
[   35.039063]  -- snd_hda_codec_write: nid 0x3, verb:0x200, parm:0x31
[   35.039155]  -- snd_hda_codec_write: nid 0x2, verb:0x705, parm:0x0
[   35.039275]  -- snd_hda_codec_write: nid 0x2, verb:0x706, parm:0x50
[   35.042023]  -- snd_hda_codec_write: nid 0x2, verb:0x200, parm:0x31
[   35.042109]  -- snd_hda_codec_write: nid 0x4, verb:0x705, parm:0x0
[   35.042192]  -- snd_hda_codec_write: nid 0x4, verb:0x706, parm:0x50
[   35.045006]  -- snd_hda_codec_write: nid 0x4, verb:0x200, parm:0x31
[   38.553348] systemd-udevd[1465]: starting version 215

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09  7:56 Cirrus CS4207 not working on 4.14.24 Jorge Fernandez Monteagudo
@ 2018-03-09  9:11 ` Takashi Iwai
  2018-03-09  9:45   ` Jorge Fernandez Monteagudo
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-03-09  9:11 UTC (permalink / raw)
  To: Jorge Fernandez Monteagudo; +Cc: alsa-devel

On Fri, 09 Mar 2018 08:56:08 +0100,
Jorge Fernandez Monteagudo wrote:
> 
> Hi all!
> 
> 
> I've updated my system from a 3.16.7 kernel to a 4.14.24 kernel and sound stops working.
> 
> I have a Cirrus logic CS4207 codec. I've tracked down the problem using the '/proc/asound/card0/codec\#0'
> 
> info. With the 3.16.7 kernel all nodes power states are:
> 
> 
> Node 0x03: Power: setting=D0, actual=D0
> Node 0x0a: Power: setting=D0, actual=D0
> 
> and with 4.14.24 they are on
> 
> 
> Node 0x03: Power: setting=D0, actual=D3
> Node 0x0a: Power: setting=D3, actual=D3

And what nodes are these?
At best, please give alsa-info.sh output.


> Once in this situation I'm able to go to D0 again and make the sound works. I've used
> hda-verb 0.4 to SET_POWER_STATE to 0 with no luck. Finally, I've patched the 4.14.24
> to avoid changing to D3 and now the sound is working again. I know it's not the way to go
> but I need the sound...

It's the feature of power-saving, and can be turned off by passing the
hint via "patch" firmware.  If you can compile, the easiest way would
be the oneliner like:

--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -589,7 +589,7 @@ static struct cs_spec *cs_alloc_spec(struct hda_codec *codec, int vendor_nid)
 		return NULL;
 	codec->spec = spec;
 	spec->vendor_nid = vendor_nid;
-	codec->power_save_node = 1;
+	// codec->power_save_node = 1;
 	snd_hda_gen_spec_init(&spec->gen);
 
 	return spec;

If the widgets 0x03 and/or 0x0a have to be always turned on, we can
keep them on.  There are several ways to do that.


Takashi

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09  9:11 ` Takashi Iwai
@ 2018-03-09  9:45   ` Jorge Fernandez Monteagudo
  2018-03-09 13:09     ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Jorge Fernandez Monteagudo @ 2018-03-09  9:45 UTC (permalink / raw)
  Cc: alsa-devel

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

Hi!


Your little patch works! I've attached the alsa-info for the 4.14.24 kernel once the

system is running and no sound is available.


The nodes are related to audio output. 0x03 DAC2 PCM linked to 0x0A: Line Out1

I suspect nodes 0x09, 0x0A and 0x0B are not able to recover from D3 state.


Regards

________________________________
De: Takashi Iwai <tiwai@suse.de>
Enviado: viernes, 9 de marzo de 2018 10:11:16
Para: Jorge Fernandez Monteagudo
Cc: alsa-devel@alsa-project.org
Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24

On Fri, 09 Mar 2018 08:56:08 +0100,
Jorge Fernandez Monteagudo wrote:
>
> Hi all!
>
>
> I've updated my system from a 3.16.7 kernel to a 4.14.24 kernel and sound stops working.
>
> I have a Cirrus logic CS4207 codec. I've tracked down the problem using the '/proc/asound/card0/codec\#0'
>
> info. With the 3.16.7 kernel all nodes power states are:
>
>
> Node 0x03: Power: setting=D0, actual=D0
> Node 0x0a: Power: setting=D0, actual=D0
>
> and with 4.14.24 they are on
>
>
> Node 0x03: Power: setting=D0, actual=D3
> Node 0x0a: Power: setting=D3, actual=D3

And what nodes are these?
At best, please give alsa-info.sh output.


> Once in this situation I'm able to go to D0 again and make the sound works. I've used
> hda-verb 0.4 to SET_POWER_STATE to 0 with no luck. Finally, I've patched the 4.14.24
> to avoid changing to D3 and now the sound is working again. I know it's not the way to go
> but I need the sound...

It's the feature of power-saving, and can be turned off by passing the
hint via "patch" firmware.  If you can compile, the easiest way would
be the oneliner like:

--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -589,7 +589,7 @@ static struct cs_spec *cs_alloc_spec(struct hda_codec *codec, int vendor_nid)
                 return NULL;
         codec->spec = spec;
         spec->vendor_nid = vendor_nid;
-       codec->power_save_node = 1;
+       // codec->power_save_node = 1;
         snd_hda_gen_spec_init(&spec->gen);

         return spec;

If the widgets 0x03 and/or 0x0a have to be always turned on, we can
keep them on.  There are several ways to do that.


Takashi

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

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

!!Script ran on: Thu Mar  8 09:41:56 UTC 2018


!!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:       
Product Name:       
Product Version:    
Firmware Version:  TFT3R112
Board Vendor:      congatec
Board Name:        conga-TCG


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0A08:00/status 	 15
/sys/bus/acpi/devices/PNP0C01:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:04/status 	 15
/sys/bus/acpi/devices/PNP0C0C:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:00/status 	 11
/sys/bus/acpi/devices/PNP0C0F:01/status 	 11
/sys/bus/acpi/devices/PNP0C0F:02/status 	 11
/sys/bus/acpi/devices/PNP0C0F:03/status 	 11
/sys/bus/acpi/devices/PNP0C0F:04/status 	 11
/sys/bus/acpi/devices/PNP0C0F:05/status 	 11
/sys/bus/acpi/devices/PNP0C0F:06/status 	 11
/sys/bus/acpi/devices/PNP0C0F:07/status 	 11
/sys/bus/acpi/devices/device:27/status 	 15


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

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


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

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


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

snd_hda_intel
snd_hda_intel


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

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


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

 0 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xfeb64000 irq 39
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfeb60000 irq 16


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

00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kabini HDMI/DP Audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 02)


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

00:01.1 0403: 1002:9840
	Subsystem: 1002:9840
--
00:14.2 0403: 1022:780d (rev 02)
	Subsystem: 1022:780d


!!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
!!---------------------------

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 0
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 0
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1


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

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100500
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
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 0x221: Stereo Digital Stripe
  Converter: stream=1, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  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
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x02
Node 0x04 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
  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
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x04
Node 0x06 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Codec: Cirrus Logic CS4207
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10134207
Subsystem Id: 0x10134207
Revision Id: 0x100302
No Modem Function Group found
Default PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
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
GPIO: io=4, o=0, i=0, unsolicited=0, 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
Node 0x02 [Audio Output] wcaps 0xd041d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x73, nsteps=0x7f, stepsize=0x01, mute=1
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=5, channel=0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D3
  Delay: 13 samples
Node 0x03 [Audio Output] wcaps 0xd041d: Stereo Amp-Out
  Control: name="Line Out Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Line Out Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CS4207 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x73, nsteps=0x7f, stepsize=0x01, mute=1
  Amp-Out vals:  [0x4b 0x4b]
  Converter: stream=5, channel=0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D3
  Delay: 13 samples
Node 0x04 [Audio Output] wcaps 0xd041d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x73, nsteps=0x7f, stepsize=0x01, mute=1
  Amp-Out vals:  [0x4b 0x4b]
  Converter: stream=5, channel=0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D3
  Delay: 13 samples
Node 0x05 [Audio Input] wcaps 0x18051b: Stereo Amp-In
  Device: name="CS4207 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x33, nsteps=0x3f, stepsize=0x03, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x1f5]: 8000 16000 32000 44100 48000 88200 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D3
  Delay: 8 samples
  Connection: 2
     0x0c* 0x12
Node 0x06 [Audio Input] wcaps 0x18051b: 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
  Amp-In caps: ofs=0x33, nsteps=0x3f, stepsize=0x03, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=1, channel=0
  SDI-Select: 0
  PCM:
    rates [0x1f5]: 8000 16000 32000 44100 48000 88200 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D3
  Delay: 8 samples
  Connection: 2
     0x0d* 0x0e
Node 0x07 [Audio Input] wcaps 0x180791: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital: Preemphasis Non-Copyright
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x570]: 32000 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Delay: 8 samples
  Connection: 1
     0x0f
Node 0x08 [Audio Output] wcaps 0x40611: Stereo Digital
  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="IEC958 Default PCM Playback Switch", index=0, device=0
  Device: name="CS4207 Digital", type="SPDIF", device=1
  Converter: stream=5, channel=0
  Digital:
  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
  Delay: 4 samples
Node 0x09 [Pin Complex] wcaps 0x410581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x022140f0: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Delay: 1 samples
  Connection: 1
     0x02
Node 0x0a [Pin Complex] wcaps 0x410581: Stereo
  Pincap 0x00000054: OUT Detect Balanced
  Pin Default 0x010140f0: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Delay: 1 samples
  Connection: 1
     0x03
Node 0x0b [Pin Complex] wcaps 0x410101: Stereo
  Pincap 0x00000050: OUT Balanced
  Pin Default 0x901700f0: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Delay: 1 samples
  Connection: 1
     0x04
Node 0x0c [Pin Complex] wcaps 0x41048b: Stereo Amp-In
  Control: name="Line Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x01813051: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x5, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Unsolicited: tag=04, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Delay: 1 samples
Node 0x0d [Pin Complex] wcaps 0x41048b: Stereo Amp-In
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001764: IN Detect Balanced
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x01a19031: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x1
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Delay: 1 samples
Node 0x0e [Pin Complex] wcaps 0x41000b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x02, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0xb7d6003e: [Fixed] Digital In at Oth Mobile-In
    Conn = Digital, Color = Unknown
    DefAssociation = 0x3, Sequence = 0xe
  Pin-ctls: 0x00:
  Delay: 1 samples
Node 0x0f [Pin Complex] wcaps 0x410681: Stereo Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x02c4e0f0: [Jack] SPDIF In at Ext Front
    Conn = RCA, Color = White
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Delay: 1 samples
Node 0x10 [Pin Complex] wcaps 0x410301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x014460f0: [Jack] SPDIF Out at Ext Rear
    Conn = RCA, Color = Orange
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Delay: 1 samples
  Connection: 1
     0x08
Node 0x11 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=22
Node 0x12 [Pin Complex] wcaps 0x41000b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x02, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0xb7d6005e: [Fixed] Digital In at Oth Mobile-In
    Conn = Digital, Color = Unknown
    DefAssociation = 0x5, Sequence = 0xe
  Pin-ctls: 0x00:
  Delay: 1 samples
Node 0x13 [Beep Generator Widget] wcaps 0x700000: Mono
Node 0x14 [Audio Output] wcaps 0x40611: Stereo Digital
  Converter: stream=5, channel=0
  Digital:
  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
  Delay: 4 samples
Node 0x15 [Pin Complex] wcaps 0x410301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x014510f0: [Jack] SPDIF Out at Ext Rear
    Conn = Optical, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Delay: 1 samples
  Connection: 1
     0x14
--endcollapse--


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

crw-rw----+ 1 root audio 116,  2 Mar  8 10:39 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  6 Mar  8 10:39 /dev/snd/controlC1
crw-rw----+ 1 root audio 116,  5 Mar  8 10:39 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 10 Mar  8 10:39 /dev/snd/hwC1D0
crw-rw----+ 1 root audio 116,  3 Mar  8 10:40 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  4 Mar  8 10:39 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  8 Mar  8 10:40 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116,  7 Mar  8 10:41 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116,  9 Mar  8 10:40 /dev/snd/pcmC1D1p
crw-rw----+ 1 root audio 116,  1 Mar  8 10:39 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Mar  8 10:39 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Mar  8 10:39 .
drwxr-xr-x 3 root root 280 Mar  8 10:39 ..
lrwxrwxrwx 1 root root  12 Mar  8 10:39 pci-0000:00:01.1 -> ../controlC0
lrwxrwxrwx 1 root root  12 Mar  8 10:39 pci-0000:00:14.2 -> ../controlC1


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

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: CS4207 Analog [CS4207 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: CS4207 Digital [CS4207 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: Generic [HD-Audio Generic], device 0: CS4207 Analog [CS4207 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

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

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

Card hw:0 'HDMI'/'HDA ATI HDMI at 0xfeb64000 irq 39'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100500'
  Controls      : 14
  Simple ctrls  : 2
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 [off]

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

Card hw:1 'Generic'/'HD-Audio Generic at 0xfeb60000 irq 16'
  Mixer name	: 'Cirrus Logic CS4207'
  Components	: 'HDA:10134207,10134207,00100302'
  Controls      : 31
  Simple ctrls  : 13
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 127
  Mono: Playback 87 [69%] [-20.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 0 [0%] [-57.50dB] [off]
  Front Right: Playback 0 [0%] [-57.50dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 115 [91%] [0.00dB] [on]
  Front Right: Playback 115 [91%] [0.00dB] [on]
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',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [off]
Simple mixer control 'Line 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 'Line Out',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 115 [91%] [0.00dB] [on]
  Front Right: Playback 115 [91%] [0.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control '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 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [12.00dB] [on]
  Front Right: Capture 63 [100%] [12.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'


!!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 false
		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 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.14 {
		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'
		}
	}
}
state.Generic {
	control.1 {
		iface MIXER
		name 'Line Out Playback Volume'
		value.0 115
		value.1 115
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -5750
			dbmax 600
			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 - 127'
			dbmin -5750
			dbmax 600
			dbvalue.0 -5750
			dbvalue.1 -5750
		}
	}
	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 Volume'
		value.0 115
		value.1 115
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -5750
			dbmax 600
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.6 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		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.8 {
		iface MIXER
		name 'Capture Source'
		value Mic
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 Line
		}
	}
	control.9 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -5100
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.10 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name '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.12 {
		iface MIXER
		name 'Line 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.13 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Default PCM Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Volume'
		value 87
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 127'
			dbmin -6350
			dbmax 0
			dbvalue.0 -2000
		}
	}
	control.19 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Line Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name '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 CARD
		name 'SPDIF Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.26 {
		iface CARD
		name 'SPDIF Phantom Jack'
		index 1
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.27 {
		iface CARD
		name 'Digital In Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.28 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.30 {
		iface PCM
		device 1
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.31 {
		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
amdgpu
binfmt_misc
cfg80211
rfkill
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
hid_generic
usbhid
hid
amd_freq_sensitivity
amd64_edac_mod
edac_mce_amd
kvm_amd
kvm
irqbypass
crct10dif_pclmul
crc32_pclmul
ghash_clmulni_intel
pcbc
snd_hda_codec_cirrus
evdev
snd_hda_codec_generic
aesni_intel
snd_hda_codec_hdmi
radeon
aes_x86_64
crypto_simd
snd_hda_intel
glue_helper
cryptd
snd_hda_codec
snd_hda_core
cdc_acm
pcspkr
snd_hwdep
k10temp
fam15h_power
ttm
snd_pcm
snd_timer
drm_kms_helper
snd
soundcore
sp5100_tco
drm
shpchp
i2c_piix4
video
ac
acpi_cpufreq
button
fuse
autofs4
ext4
crc16
mbcache
jbd2
sg
sd_mod
ohci_pci
xhci_pci
ahci
libahci
xhci_hcd
ohci_hcd
ehci_pci
crc32c_intel
igb
ehci_hcd
libata
i2c_algo_bit
i2c_core
usbcore
dca
scsi_mod
ptp
usb_common
pps_core
fan
thermal


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x03 0x185600f0
0x05 0x185600f0
0x07 0x585600f0

/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:
0x09 0x022140f0
0x0a 0x010140f0
0x0b 0x901700f0
0x0c 0x01813051
0x0d 0x01a19031
0x0e 0xb7d6003e
0x0f 0x02c4e0f0
0x10 0x014460f0
0x12 0xb7d6005e
0x15 0x014510f0

/sys/class/sound/hwC1D0/driver_pin_configs:

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:

/sys/class/sound/hwC1D0/hints:


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

[    2.294402] Error: Driver 'pcspkr' is already registered, aborting...
[    2.309264] snd_hda_intel 0000:00:01.1: Force to non-snoop mode
[    2.316023] usb 2-2: new high-speed USB device number 3 using ehci-pci
--
[    2.338507] AES CTR mode by8 optimization enabled
[    2.346702] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.1/sound/card0/input4
[    2.346789] input: HDA ATI HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.1/sound/card0/input5
[    2.348726] snd_hda_codec_cirrus hdaudioC1D0: autoconfig for CS4207: line_outs=1 (0xa/0x0/0x0/0x0/0x0) type:line
[    2.348730] snd_hda_codec_cirrus hdaudioC1D0:    speaker_outs=1 (0xb/0x0/0x0/0x0/0x0)
[    2.348733] snd_hda_codec_cirrus hdaudioC1D0:    hp_outs=1 (0x9/0x0/0x0/0x0/0x0)
[    2.348734] snd_hda_codec_cirrus hdaudioC1D0:    mono: mono_out=0x0
[    2.348737] snd_hda_codec_cirrus hdaudioC1D0:    dig-out=0x10/0x15
[    2.348738] snd_hda_codec_cirrus hdaudioC1D0:    inputs:
[    2.348741] snd_hda_codec_cirrus hdaudioC1D0:      Mic=0xd
[    2.348743] snd_hda_codec_cirrus hdaudioC1D0:      Line=0xc
[    2.348745] snd_hda_codec_cirrus hdaudioC1D0:    dig-in=0x12
[    2.352354] [drm] radeon kernel modesetting enabled.
--
[    2.354776] [drm] Loading kabini Microcode
[    2.357758] input: HD-Audio Generic Mic as /devices/pci0000:00/0000:00:14.2/sound/card1/input6
[    2.357857] input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:14.2/sound/card1/input7
[    2.357945] input: HD-Audio Generic Line Out as /devices/pci0000:00/0000:00:14.2/sound/card1/input8
[    2.358032] input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:14.2/sound/card1/input9
[    2.361128] Error: Driver 'pcspkr' is already registered, aborting...



[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09  9:45   ` Jorge Fernandez Monteagudo
@ 2018-03-09 13:09     ` Takashi Iwai
  2018-03-09 14:24       ` Jorge Fernandez Monteagudo
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-03-09 13:09 UTC (permalink / raw)
  To: Jorge Fernandez Monteagudo; +Cc: alsa-devel

On Fri, 09 Mar 2018 10:45:35 +0100,
Jorge Fernandez Monteagudo wrote:
> 
> Hi!
> 
> 
> Your little patch works! I've attached the alsa-info for the 4.14.24 kernel once the
> 
> system is running and no sound is available.
> 
> 
> The nodes are related to audio output. 0x03 DAC2 PCM linked to 0x0A: Line Out1
> 
> I suspect nodes 0x09, 0x0A and 0x0B are not able to recover from D3 state.

That explains better.  But NID 0x0b has no power control, so it
shouldn't be affected by itself.  Rather NID 0x04 power-down can be
the issue, at least, for speaker outputs.  For the headphone, both NID
0x09 and 0x03 are used.

Please try the driver without the patch, and get alsa-info.sh output
while testing from the speaker, and while testing the headphone,
individually.  Attach both outputs for comparison.  Maybe better to
compressed, otherwise it becomes too long.


thanks,

Please 

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09 13:09     ` Takashi Iwai
@ 2018-03-09 14:24       ` Jorge Fernandez Monteagudo
  2018-03-09 14:25         ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Jorge Fernandez Monteagudo @ 2018-03-09 14:24 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Sorry for the dumb question, but when you say "testing from the speaker" or "testing from the headphone"

it's enough using alsamixer to mute headphone or mute speaker and run an aplay when running alsa-info.sh?

________________________________
De: Takashi Iwai <tiwai@suse.de>
Enviado: viernes, 9 de marzo de 2018 14:09:52
Para: Jorge Fernandez Monteagudo
Cc: alsa-devel@alsa-project.org
Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24

On Fri, 09 Mar 2018 10:45:35 +0100,
Jorge Fernandez Monteagudo wrote:
>
> Hi!
>
>
> Your little patch works! I've attached the alsa-info for the 4.14.24 kernel once the
>
> system is running and no sound is available.
>
>
> The nodes are related to audio output. 0x03 DAC2 PCM linked to 0x0A: Line Out1
>
> I suspect nodes 0x09, 0x0A and 0x0B are not able to recover from D3 state.

That explains better.  But NID 0x0b has no power control, so it
shouldn't be affected by itself.  Rather NID 0x04 power-down can be
the issue, at least, for speaker outputs.  For the headphone, both NID
0x09 and 0x03 are used.

Please try the driver without the patch, and get alsa-info.sh output
while testing from the speaker, and while testing the headphone,
individually.  Attach both outputs for comparison.  Maybe better to
compressed, otherwise it becomes too long.


thanks,

Please

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09 14:24       ` Jorge Fernandez Monteagudo
@ 2018-03-09 14:25         ` Takashi Iwai
  2018-03-09 14:30           ` Jorge Fernandez Monteagudo
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-03-09 14:25 UTC (permalink / raw)
  To: Jorge Fernandez Monteagudo; +Cc: alsa-devel

On Fri, 09 Mar 2018 15:24:10 +0100,
Jorge Fernandez Monteagudo wrote:
> 
> Sorry for the dumb question, but when you say "testing from the speaker" or "testing from the headphone"
> 
> it's enough using alsamixer to mute headphone or mute speaker and run an aplay when running alsa-info.sh?

No, I meant actually plugging and unplugging the headphone jack (and
the corresponding mixer changes).


Takashi

> 
> ________________________________
> De: Takashi Iwai <tiwai@suse.de>
> Enviado: viernes, 9 de marzo de 2018 14:09:52
> Para: Jorge Fernandez Monteagudo
> Cc: alsa-devel@alsa-project.org
> Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24
> 
> On Fri, 09 Mar 2018 10:45:35 +0100,
> Jorge Fernandez Monteagudo wrote:
> >
> > Hi!
> >
> >
> > Your little patch works! I've attached the alsa-info for the 4.14.24 kernel once the
> >
> > system is running and no sound is available.
> >
> >
> > The nodes are related to audio output. 0x03 DAC2 PCM linked to 0x0A: Line Out1
> >
> > I suspect nodes 0x09, 0x0A and 0x0B are not able to recover from D3 state.
> 
> That explains better.  But NID 0x0b has no power control, so it
> shouldn't be affected by itself.  Rather NID 0x04 power-down can be
> the issue, at least, for speaker outputs.  For the headphone, both NID
> 0x09 and 0x03 are used.
> 
> Please try the driver without the patch, and get alsa-info.sh output
> while testing from the speaker, and while testing the headphone,
> individually.  Attach both outputs for comparison.  Maybe better to
> compressed, otherwise it becomes too long.
> 
> 
> thanks,
> 
> Please
> [2  <text/html; us-ascii (quoted-printable)>]
> 

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09 14:25         ` Takashi Iwai
@ 2018-03-09 14:30           ` Jorge Fernandez Monteagudo
  2018-03-09 14:50             ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Jorge Fernandez Monteagudo @ 2018-03-09 14:30 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Oh, I know... That's not possible. It's a custom carrier and we only have connected

the Line Out 1 (node 0x03, node 0x0A) and the S/PDIF Out 1 (node 0x08, node 0x10)

to external devices.

________________________________
De: Takashi Iwai <tiwai@suse.de>
Enviado: viernes, 9 de marzo de 2018 15:25:38
Para: Jorge Fernandez Monteagudo
Cc: alsa-devel@alsa-project.org
Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24

On Fri, 09 Mar 2018 15:24:10 +0100,
Jorge Fernandez Monteagudo wrote:
>
> Sorry for the dumb question, but when you say "testing from the speaker" or "testing from the headphone"
>
> it's enough using alsamixer to mute headphone or mute speaker and run an aplay when running alsa-info.sh?

No, I meant actually plugging and unplugging the headphone jack (and
the corresponding mixer changes).


Takashi

>
> ________________________________
> De: Takashi Iwai <tiwai@suse.de>
> Enviado: viernes, 9 de marzo de 2018 14:09:52
> Para: Jorge Fernandez Monteagudo
> Cc: alsa-devel@alsa-project.org
> Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24
>
> On Fri, 09 Mar 2018 10:45:35 +0100,
> Jorge Fernandez Monteagudo wrote:
> >
> > Hi!
> >
> >
> > Your little patch works! I've attached the alsa-info for the 4.14.24 kernel once the
> >
> > system is running and no sound is available.
> >
> >
> > The nodes are related to audio output. 0x03 DAC2 PCM linked to 0x0A: Line Out1
> >
> > I suspect nodes 0x09, 0x0A and 0x0B are not able to recover from D3 state.
>
> That explains better.  But NID 0x0b has no power control, so it
> shouldn't be affected by itself.  Rather NID 0x04 power-down can be
> the issue, at least, for speaker outputs.  For the headphone, both NID
> 0x09 and 0x03 are used.
>
> Please try the driver without the patch, and get alsa-info.sh output
> while testing from the speaker, and while testing the headphone,
> individually.  Attach both outputs for comparison.  Maybe better to
> compressed, otherwise it becomes too long.
>
>
> thanks,
>
> Please
> [2  <text/html; us-ascii (quoted-printable)>]
>

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09 14:30           ` Jorge Fernandez Monteagudo
@ 2018-03-09 14:50             ` Takashi Iwai
  2018-03-09 15:00               ` Jorge Fernandez Monteagudo
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-03-09 14:50 UTC (permalink / raw)
  To: Jorge Fernandez Monteagudo; +Cc: alsa-devel

On Fri, 09 Mar 2018 15:30:59 +0100,
Jorge Fernandez Monteagudo wrote:
> 
> Oh, I know... That's not possible. It's a custom carrier and we only have connected
> 
> the Line Out 1 (node 0x03, node 0x0A) and the S/PDIF Out 1 (node 0x08, node 0x10)
> 
> to external devices.

Ah, that explains why the driver doesn't work.
As default, the driver does the dynamic codec power-down depending on
the jack detection.  And in your case, it's soldered.

That said, it's no real "bug" in the driver, but it's rather a special
use case.

As already mentioned, the power_save_node flag can be turned off via
codec hints.  You can write a codec "patch" file containing the lines
like the following:

[codec]
0x10134207 0x10134207 0
[hint]
power_save_node = no

and put it in e.g. /lib/firmware/alsa/cs4207-hack, and pass it via a
module option, e.g. add the following line

  options snd-hda-intel patch=,alsa/cs4207-hack

in any /etc/modprobe.d/*.conf file.
The comma (,) before "alsa/cs4207-hack" is no typo, it means to pass
to the secondary card.

The brief instruction is found in
Documentation/sound/hd-audio/notes.rst.


Takashi

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

* Re: Cirrus CS4207 not working on 4.14.24
  2018-03-09 14:50             ` Takashi Iwai
@ 2018-03-09 15:00               ` Jorge Fernandez Monteagudo
  0 siblings, 0 replies; 9+ messages in thread
From: Jorge Fernandez Monteagudo @ 2018-03-09 15:00 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Oh, thanks! That's really explain our behaviour...

I'll follow your instructions in order to disable the power_save_node

flag.


Thanks again!


________________________________
De: Takashi Iwai <tiwai@suse.de>
Enviado: viernes, 9 de marzo de 2018 15:50:47
Para: Jorge Fernandez Monteagudo
Cc: alsa-devel@alsa-project.org
Asunto: Re: [alsa-devel] Cirrus CS4207 not working on 4.14.24

On Fri, 09 Mar 2018 15:30:59 +0100,
Jorge Fernandez Monteagudo wrote:
>
> Oh, I know... That's not possible. It's a custom carrier and we only have connected
>
> the Line Out 1 (node 0x03, node 0x0A) and the S/PDIF Out 1 (node 0x08, node 0x10)
>
> to external devices.

Ah, that explains why the driver doesn't work.
As default, the driver does the dynamic codec power-down depending on
the jack detection.  And in your case, it's soldered.

That said, it's no real "bug" in the driver, but it's rather a special
use case.

As already mentioned, the power_save_node flag can be turned off via
codec hints.  You can write a codec "patch" file containing the lines
like the following:

[codec]
0x10134207 0x10134207 0
[hint]
power_save_node = no

and put it in e.g. /lib/firmware/alsa/cs4207-hack, and pass it via a
module option, e.g. add the following line

  options snd-hda-intel patch=,alsa/cs4207-hack

in any /etc/modprobe.d/*.conf file.
The comma (,) before "alsa/cs4207-hack" is no typo, it means to pass
to the secondary card.

The brief instruction is found in
Documentation/sound/hd-audio/notes.rst.


Takashi

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

end of thread, other threads:[~2018-03-09 15:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09  7:56 Cirrus CS4207 not working on 4.14.24 Jorge Fernandez Monteagudo
2018-03-09  9:11 ` Takashi Iwai
2018-03-09  9:45   ` Jorge Fernandez Monteagudo
2018-03-09 13:09     ` Takashi Iwai
2018-03-09 14:24       ` Jorge Fernandez Monteagudo
2018-03-09 14:25         ` Takashi Iwai
2018-03-09 14:30           ` Jorge Fernandez Monteagudo
2018-03-09 14:50             ` Takashi Iwai
2018-03-09 15:00               ` Jorge Fernandez Monteagudo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.