linux/sound/core
Vinod Koul 917f4b5cba ALSA: compress: fix drain calls blocking other compress functions
The drain and drain_notify callback were blocked by low level driver untill the
draining was complete. Due to this being invoked with big fat mutex held, others
ops like reading timestamp, calling pause, drop were blocked.

So to fix this we add a new snd_compr_drain_notify() API. This would be required
to be invoked by low level driver when drain or partial drain has been completed
by the DSP. Thus we make the drain and partial_drain callback as non blocking
and driver returns immediately after notifying DSP.
The waiting is done while relasing the lock so that other ops can go ahead.

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
CC: stable@vger.kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-24 14:50:37 +02:00
..
oss ALSA: core: fix NULL checking in snd_pcm_plug_slave_size() 2012-11-14 08:03:31 +01:00
seq ALSA: seq-oss: Initialize MIDI clients asynchronously 2013-07-17 09:19:24 +02:00
compress_offload.c ALSA: compress: fix drain calls blocking other compress functions 2013-10-24 14:50:37 +02:00
control_compat.c ALSA: control: add support for ENUMERATED user space controls 2011-10-09 09:09:11 +02:00
control.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
ctljack.c ALSA: hda - Add missing inclusion of linux/export.h 2011-11-16 14:28:33 +01:00
device.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
hrtimer.c ALSA: hrtimer: remove superfluous tasklet invocation 2011-02-10 18:53:32 +01:00
hwdep_compat.c
hwdep.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
info_oss.c ALSA: remove the main version information 2012-09-04 11:38:32 +02:00
info.c sound updates for v3.10-rc1 2013-05-03 09:10:23 -07:00
init.c ALSA: Add kconfig to specify the max card numbers 2013-05-24 16:41:46 +02:00
isadma.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
jack.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
Kconfig ALSA: core: allow SND_DMAENGINE_PCM use from modules 2013-08-15 18:28:42 +01:00
Makefile ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
memalloc.c ALSA: Add ifdef CONFIG_GENERIC_ALLOCATOR for SNDRV_DMA_TYPE_IRAM code 2013-10-24 14:36:40 +02:00
memory.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
misc.c sound: use printk_get_level and printk_skip_level 2012-07-30 17:25:14 -07:00
pcm_compat.c ALSA: core: fix 64-bit SNDRV_PCM_IOCTL_STATUS ABI breakage 2012-10-28 09:52:37 +01:00
pcm_dmaengine.c ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
pcm_lib.c ALSA: pcm: Use snd_printd_ratelimit() 2013-08-19 15:48:48 +02:00
pcm_memory.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
pcm_misc.c ALSA: add DSD formats 2013-04-18 10:02:33 +02:00
pcm_native.c ALSA: Add ifdef CONFIG_GENERIC_ALLOCATOR for SNDRV_DMA_TYPE_IRAM code 2013-10-24 14:36:40 +02:00
pcm_timer.c ALSA: sound/core/pcm_timer.c: use lib/gcd.c 2009-12-22 08:24:35 +01:00
pcm.c ALSA: add DSD formats 2013-04-18 10:02:33 +02:00
rawmidi_compat.c
rawmidi.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
rtctimer.c ALSA: rtctimer.c needs module.h 2011-07-30 08:03:35 +02:00
sgbuf.c ALSA: Make snd_sgbuf_get_{ptr|addr}() available for non-SG cases 2012-09-23 11:24:42 +02:00
sound_oss.c ALSA: Fix card refcount unbalance 2012-11-08 14:36:18 +01:00
sound.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
timer_compat.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
timer.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
vmaster.c ALSA: vmaster: Fix the regression of missing vmaster hook call 2013-07-03 14:01:32 +02:00