linux/sound/pci/hda
Wang Xingchao 99a2008d0b ALSA: hda - Add power-welll support for haswell HDA
For Intel Haswell chip, HDA controller and codec have
power well dependency from GPU side. This patch added support
to request/release power well in audio driver. Power save
feature should be enabled to get runtime power saving.

There's deadlock when request_module(i915) in azx_probe.
It looks like:
device_lock(audio pci device) -> azx_probe -> module_request
(or symbol_request) -> modprobe (userspace) -> i915 init ->
drm_pci_init -> pci_register_driver -> bus_add_driver -> driver_attach ->
which in turn tries all locks on pci bus, and when it tries the one on the
audio device, it will deadlock.

This patch introduce a work to store remaining probe stuff, and let
request_module run in safe work context.

Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-06-06 17:31:56 +02:00
..
ca0132_regs.h ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESS 2013-02-12 10:15:15 +01:00
hda_auto_parser.c ALSA: hda - allow "Headphone Mic" parser flag 2013-04-11 11:59:20 +02:00
hda_auto_parser.h ALSA: hda - add some small convenience functions to auto parser 2013-04-11 11:59:27 +02:00
hda_beep.c ALSA: hda - Make the resume of digital beep setup proper 2013-03-18 12:58:48 +01:00
hda_beep.h ALSA: hda - Fix power-saving during playing beep sound 2013-03-18 12:58:47 +01:00
hda_codec.c Revert "ALSA: hda - Don't set up active streams twice" 2013-05-10 13:41:37 +02:00
hda_codec.h ALSA: hda - Introduce get_delay codec PCM ops 2013-04-05 07:33:32 +02:00
hda_eld.c ALSA: hda - bug fix on return value when getting HDMI ELD info 2013-04-02 11:55:23 +02:00
hda_generic.c ALSA: hda - Check the activity of the NID to be powered down 2013-05-16 07:18:05 +02:00
hda_generic.h ALSA: hda - Allow codec drivers to give own badness tables 2013-03-22 14:53:50 +01:00
hda_hwdep.c ALSA: hda - Add snd_hda_get_int_hint() helper function 2013-01-12 08:44:47 +01:00
hda_i915.c ALSA: hda - Add power-welll support for haswell HDA 2013-06-06 17:31:56 +02:00
hda_i915.h ALSA: hda - Add power-welll support for haswell HDA 2013-06-06 17:31:56 +02:00
hda_intel_trace.h ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
hda_intel.c ALSA: hda - Add power-welll support for haswell HDA 2013-06-06 17:31:56 +02:00
hda_jack.c ALSA: hda - Handle Headphone Mic jack more generic 2013-04-11 11:59:41 +02:00
hda_jack.h ALSA: hda - Allow jack state to depend on another jack 2012-11-19 19:49:58 +01:00
hda_local.h ALSA: hda - Don't apply EAPD power filter as default 2013-03-13 18:07:05 +01:00
hda_proc.c ALSA: hda - Remove limit of widget connections 2013-02-07 20:01:08 +01:00
hda_trace.h ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
Kconfig ALSA: hda - Add power-welll support for haswell HDA 2013-06-06 17:31:56 +02:00
Makefile ALSA: hda - Add power-welll support for haswell HDA 2013-06-06 17:31:56 +02:00
patch_analog.c ALSA: hda - Move beep attach/detach calls in hda_generic.c 2013-03-18 12:58:42 +01:00
patch_ca0110.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_ca0132.c ALSA: hda/ca0132 - Update latency based on DSP state. 2013-04-05 07:34:21 +02:00
patch_cirrus.c ALSA: hda/cirrus - Add a quirk for Stumpy ChromeBox. 2013-04-05 07:35:37 +02:00
patch_cmedia.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_conexant.c ALSA: hda - Fix 3.9 regression of EAPD init on Conexant codecs 2013-05-04 10:57:16 +02:00
patch_hdmi.c ALSA: hda - Apply pin-enablement workaround to all Haswell HDMI codecs 2013-05-08 08:24:57 +02:00
patch_realtek.c ALSA: hda - Add headset mic support for another Dell machine 2013-05-16 07:19:09 +02:00
patch_si3054.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
patch_sigmatel.c ALSA: hda - Enable "Headset Mic" name for some Dell Latitude devices 2013-03-21 17:17:30 +01:00
patch_via.c ALSA: hda - VIA prefers side surrounds over HP 2013-03-22 15:11:07 +01:00