kernel-ark/sound/pci/hda
Dylan Reid b4a91cf05c ALSA: hda - Handle open while transitioning to D3.
This addresses an issue encountered when a pcm is opened while
transitioning to low power state (codec->power_on == 1 &&
codec->power_transition == -1).  Add snd_pcm_power_up_d3wait to
hda_codec.  This function is used to power up from azx_open as opposed
to snd_hda_power_up used from codec_exec_verb. When powering up from
azx_open, wait for pending power downs to complete, avoiding the power
up continuing in parallel with the power down on the work queue.

The specific issue seen was with the CS4210 codec, it powers off the ADC
and DAC nid in its suspend handler.  If it is re-opened before the
~100ms power down process completes, the ADC and DAC nid are initialized
while powered down and audio is lost until another suspend/resume cycle.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-06-18 09:35:21 +02:00
..
hda_auto_parser.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
hda_auto_parser.h ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
hda_beep.c
hda_beep.h
hda_codec.c ALSA: hda - Handle open while transitioning to D3. 2012-06-18 09:35:21 +02:00
hda_codec.h ALSA: hda - Handle open while transitioning to D3. 2012-06-18 09:35:21 +02:00
hda_eld.c ALSA: hda - hide HDMI/ELD printks unless snd.debug=2 2012-04-10 14:53:55 +02:00
hda_generic.c
hda_hwdep.c
hda_intel.c ALSA: hda - Handle open while transitioning to D3. 2012-06-18 09:35:21 +02:00
hda_jack.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
hda_jack.h ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
hda_local.h ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
hda_proc.c ALSA: hda - Fix proc output for ADC amp values of CX20549 2012-04-07 12:25:02 +02:00
hda_trace.h
Kconfig
Makefile ALSA: hda - Move up the fixup helper functions to the library module 2012-05-08 18:01:33 +02:00
patch_analog.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_ca0110.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_ca0132.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_cirrus.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_cmedia.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_conexant.c ALSA: hda - Don't forget to call init verbs added by fixup list 2012-06-13 16:47:32 +02:00
patch_hdmi.c ALSA: hda - Protect SPDIF-related stuff via spdif_mutex 2012-05-10 14:56:15 +02:00
patch_realtek.c ALSA: hda - Don't forget to call init verbs added by fixup list 2012-06-13 16:47:32 +02:00
patch_si3054.c
patch_sigmatel.c ALSA: hda/idt - Cache the power-map bits 2012-05-15 09:12:12 +02:00
patch_via.c ALSA: hda - Fix possible races of accesses to connection list array 2012-05-19 17:25:23 +02:00