diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-01-12 03:40:08 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-01-12 03:40:08 -0500 |
commit | a29fb94ff48cba620e1ac1317f5eef5920ead3ff (patch) | |
tree | 2fb8e026712bdf7848ea400e25118f6a58824a02 /include/sound/pcm.h | |
parent | 52a7a5835173af61b9f6c3038212370d9717526f (diff) | |
parent | dd3533eca859a6debb1565503ec03e68354e08e0 (diff) |
Merge commit alsa/devel into topic/misc
Conflicts:
include/sound/version.h
Diffstat (limited to 'include/sound/pcm.h')
-rw-r--r-- | include/sound/pcm.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 0ad2d28f2360..1d4ca2aae50d 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
@@ -262,6 +262,8 @@ struct snd_pcm_hw_constraint_list { | |||
262 | unsigned int mask; | 262 | unsigned int mask; |
263 | }; | 263 | }; |
264 | 264 | ||
265 | struct snd_pcm_hwptr_log; | ||
266 | |||
265 | struct snd_pcm_runtime { | 267 | struct snd_pcm_runtime { |
266 | /* -- Status -- */ | 268 | /* -- Status -- */ |
267 | struct snd_pcm_substream *trigger_master; | 269 | struct snd_pcm_substream *trigger_master; |
@@ -269,7 +271,6 @@ struct snd_pcm_runtime { | |||
269 | int overrange; | 271 | int overrange; |
270 | snd_pcm_uframes_t avail_max; | 272 | snd_pcm_uframes_t avail_max; |
271 | snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ | 273 | snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ |
272 | snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */ | ||
273 | unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */ | 274 | unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */ |
274 | snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */ | 275 | snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */ |
275 | 276 | ||
@@ -310,6 +311,7 @@ struct snd_pcm_runtime { | |||
310 | struct snd_pcm_mmap_control *control; | 311 | struct snd_pcm_mmap_control *control; |
311 | 312 | ||
312 | /* -- locking / scheduling -- */ | 313 | /* -- locking / scheduling -- */ |
314 | unsigned int nowake: 1; /* no wakeup (data-copy in progress) */ | ||
313 | wait_queue_head_t sleep; | 315 | wait_queue_head_t sleep; |
314 | struct fasync_struct *fasync; | 316 | struct fasync_struct *fasync; |
315 | 317 | ||
@@ -340,6 +342,10 @@ struct snd_pcm_runtime { | |||
340 | /* -- OSS things -- */ | 342 | /* -- OSS things -- */ |
341 | struct snd_pcm_oss_runtime oss; | 343 | struct snd_pcm_oss_runtime oss; |
342 | #endif | 344 | #endif |
345 | |||
346 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | ||
347 | struct snd_pcm_hwptr_log *hwptr_log; | ||
348 | #endif | ||
343 | }; | 349 | }; |
344 | 350 | ||
345 | struct snd_pcm_group { /* keep linked substreams */ | 351 | struct snd_pcm_group { /* keep linked substreams */ |
@@ -834,6 +840,8 @@ void snd_pcm_set_sync(struct snd_pcm_substream *substream); | |||
834 | int snd_pcm_lib_interleave_len(struct snd_pcm_substream *substream); | 840 | int snd_pcm_lib_interleave_len(struct snd_pcm_substream *substream); |
835 | int snd_pcm_lib_ioctl(struct snd_pcm_substream *substream, | 841 | int snd_pcm_lib_ioctl(struct snd_pcm_substream *substream, |
836 | unsigned int cmd, void *arg); | 842 | unsigned int cmd, void *arg); |
843 | int snd_pcm_update_state(struct snd_pcm_substream *substream, | ||
844 | struct snd_pcm_runtime *runtime); | ||
837 | int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream); | 845 | int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream); |
838 | int snd_pcm_playback_xrun_check(struct snd_pcm_substream *substream); | 846 | int snd_pcm_playback_xrun_check(struct snd_pcm_substream *substream); |
839 | int snd_pcm_capture_xrun_check(struct snd_pcm_substream *substream); | 847 | int snd_pcm_capture_xrun_check(struct snd_pcm_substream *substream); |