linux_dsm_epyc7002/sound/pci/hda
Takashi Iwai eb49faa6a4 ALSA: hda - Fix abuse of snd_hda_lock_devices() for DSP loader
The current DSP loader code abuses snd_hda_lock_devices() for ensuring
the DSP loader not conflicting with the other normal operations.  But
this trick obviously doesn't work for the PM resume since the streams
are kept opened there where snd_hda_lock_devices() returns -EBUSY.
That means we need another lock mechanism instead of abuse.

This patch provides the new lock state to azx_dev.  Theoretically it's
possible that the DSP loader conflicts with the stream that has been
already assigned for another PCM.  If it's running, the DSP loader
should simply fail.  If not -- it's the case for PM resume --, we
should assign this stream temporarily to the DSP loader, and take it
back to the PCM after finishing DSP loading.  If the PCM is operated
during the DSP loading, it should get an error, too.

Reported-and-tested-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-03-20 18:36:06 +01: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: Make snd_printd() and snd_printdd() inline 2013-01-25 18:32:14 +01:00
hda_auto_parser.h ALSA: hda - Rearrange INPUT_PIN_ATTR_* 2013-01-12 08:30:48 +01:00
hda_beep.c ALSA: hda - Fix 'Beep Playback Switch' with no underlying mute switch 2012-08-14 10:22:31 +02:00
hda_beep.h ALSA: hda - Get rid of superfluous beep->mode field 2012-07-03 18:31:36 +02:00
hda_codec.c ALSA: hda - Fix typo in checking IEC958 emphasis bit 2013-03-20 15:42:00 +01:00
hda_codec.h ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts 2013-02-12 17:09:19 +01:00
hda_eld.c ALSA: hda - hdmi: Protect ELD buffer 2013-02-19 18:28:30 +01:00
hda_generic.c ALSA: hda - Increase badness for missing multi-io 2013-02-13 14:17:32 +01:00
hda_generic.h ALSA: hda - Use generic array for loopback list management 2013-02-07 10:45:11 +01:00
hda_hwdep.c ALSA: hda - Add snd_hda_get_int_hint() helper function 2013-01-12 08:44:47 +01: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 - Fix abuse of snd_hda_lock_devices() for DSP loader 2013-03-20 18:36:06 +01:00
hda_jack.c ALSA: hda - Allow jack detection when polling is enabled 2013-01-12 08:43:54 +01: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 - hdmi: Protect ELD buffer 2013-02-19 18:28:30 +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 Merge branch 'topic/hda-ca0132-dsp' into for-next 2013-02-07 12:34:36 +01:00
Makefile ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
patch_analog.c ALSA: hda - Fix missing path between aamix and outputs in AD codecs 2013-01-23 17:00:31 +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 - Remove extra setting of dsp_state. 2013-03-15 07:41:12 +01:00
patch_cirrus.c ALSA: hda - Fix yet missing GPIO/EAPD setup in cirrus driver 2013-03-18 16:55:49 +01:00
patch_cmedia.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_conexant.c ALSA: hda/cirrus - Fix the digital beep registration 2013-03-18 11:00:44 +01:00
patch_hdmi.c ALSA: hda - hdmi: Make jacks phantom, if they're not detectable 2013-02-22 10:23:32 +01:00
patch_realtek.c ALSA: hda - Add support of new codec ALC233 2013-03-07 09:21:01 +01: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 - Disable IDT eapd_switch if there are no internal speakers 2013-03-14 15:31:45 +01:00
patch_via.c ALSA: hda - Use generic array for loopback list management 2013-02-07 10:45:11 +01:00