summaryrefslogtreecommitdiffstats
path: root/include/sound/pcm.h
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2010-01-21 10:32:15 +0100
committerJaroslav Kysela <perex@perex.cz>2010-01-21 10:32:15 +0100
commitc91a988dc6551c66418690e36b2a23cdb0255da8 (patch)
treecbb408377b15488d4b45feb2f3d88a616f159814 /include/sound/pcm.h
parentsound: virtuoso: add Xonar DS support (diff)
downloadlinux-c91a988dc6551c66418690e36b2a23cdb0255da8.tar.xz
linux-c91a988dc6551c66418690e36b2a23cdb0255da8.zip
ALSA: pcm_core: Fix wake_up() optimization
This change fixes the "ALSA: pcm_lib - optimize wake_up() calls for PCM I/O" commit. New sleeping queue is introduced to separate user space and kernel space wake_ups. runtime->nowake is renamed to twake (transfer wake). Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'include/sound/pcm.h')
-rw-r--r--include/sound/pcm.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index e26fb3c58037..3bc9bca771ec 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -311,8 +311,9 @@ struct snd_pcm_runtime {
struct snd_pcm_mmap_control *control;
/* -- locking / scheduling -- */
- unsigned int nowake: 1; /* no wakeup (data-copy in progress) */
- wait_queue_head_t sleep;
+ unsigned int twake: 1; /* do transfer (!poll) wakeup */
+ wait_queue_head_t sleep; /* poll sleep */
+ wait_queue_head_t tsleep; /* transfer sleep */
struct fasync_struct *fasync;
/* -- private section -- */