2011/10/1 Takashi Iwai tiwai@suse.de:
- Why Analog devices codec (patch_analog.c) clear
AC_VERB_SET_CHANNEL_STREAMID on close? (if (do_now) really_cleanup_stream(codec, p);
It's because AD codecs (according to bug reports) don't like the sticky-tag feature by some reason. It'll be removed, once when the real culprit is found.
http://thread.gmane.org/gmane.linux.alsa.devel/78379
Can the converters can retrain the stream tag after suspend/resume ?
No. The flag is cleared in the suspend.
The main difference is only AD codecs have Power widget but driver does not has init verbs for this [Power widget]
e.g. ad1988 has 9 widets support power states ,
Table 13 Widet Parameters (Power states 0f) Five [Audio Output] , three [Audio Input] and [Power widget] have 00000009
Table 10 widget No. Name Description 19 Mixer Power Down Power widget Powers down the analog mixer and associated amps 23 VREF Power Down Vendor defined Powers down the internal and external VREF circularity 2f BIAS Power Down Vendor defined Powers down the internal MIC_BIAS_FILT and all MIC_BIAS pins
Node 0x19 [Power Widget] wcaps 0x500500: Mono Power states: D0 D3 Power: setting=D0, actual=D0 Connection: 2 0x20 0x21
There are two vendor defined widgets (VREF power down and BIAS power pown)
Node 0x23 [Vendor Defined Widget] wcaps 0xf00100: Mono Connection: 18 0x11* 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x24 0x25 0x38 0x39 0x3a 0x3b 0x3c
Node 0x2f [Vendor Defined Widget] wcaps 0xf00100: Mono Connection: 6 0x11* 0x12 0x14 0x15 0x16 0x17