aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2010-08-18 14:35:46 +0200
committerJaroslav Kysela <perex@perex.cz>2010-08-18 14:35:46 +0200
commitb7a56722675f5625e5d81919310f189b09f05258 (patch)
tree26a9045ff5a22879b9712d7de78871ee39fd7c96
parent68e3dea2c6fc2eba7f0ad629e4404f22d603e10b (diff)
downloadalsa-driver-build-unstable-b7a56722675f5625e5d81919310f189b09f05258.tar.gz
PCM core - fix pcm.patch (added hw_ptr_buffer_jiffies variable)
Sync with latest alsa-kernel tree Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--include/sound/pcm.patch34
1 files changed, 21 insertions, 13 deletions
diff --git a/include/sound/pcm.patch b/include/sound/pcm.patch
index 1656e6dea..69dd6727c 100644
--- a/include/sound/pcm.patch
+++ b/include/sound/pcm.patch
@@ -1,20 +1,25 @@
---- ../../alsa-kernel/include/pcm.h 2010-08-09 14:25:40.000000000 +0200
-+++ pcm.h 2010-08-09 14:56:07.000000000 +0200
-@@ -277,9 +277,12 @@ struct snd_pcm_runtime {
+--- ../../alsa-kernel/include/pcm.h 2010-08-18 14:25:17.000000000 +0200
++++ pcm.h 2010-08-18 14:34:35.000000000 +0200
+@@ -277,10 +277,15 @@ struct snd_pcm_runtime {
snd_pcm_uframes_t avail_max;
snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */
snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */
+- unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
- unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */
++ unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */
+#endif
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
- snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ unsigned long hw_ptr_buffer_jiffies; /* buffer time in jiffies */
+- snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */
-
+#endif
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
++ snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */
++#endif
/* -- HW params -- */
snd_pcm_access_t access; /* access mode */
snd_pcm_format_t format; /* SNDRV_PCM_FORMAT_* */
-@@ -289,6 +292,9 @@ struct snd_pcm_runtime {
+@@ -290,6 +295,9 @@ struct snd_pcm_runtime {
snd_pcm_uframes_t period_size; /* period size */
unsigned int periods; /* periods */
snd_pcm_uframes_t buffer_size; /* buffer size */
@@ -24,7 +29,7 @@
snd_pcm_uframes_t min_align; /* Min alignment for the format */
size_t byte_align;
unsigned int frame_bits;
-@@ -300,6 +306,10 @@ struct snd_pcm_runtime {
+@@ -301,6 +309,10 @@ struct snd_pcm_runtime {
/* -- SW params -- */
int tstamp_mode; /* mmap timestamp is updated */
unsigned int period_step;
@@ -35,7 +40,7 @@
snd_pcm_uframes_t start_threshold;
snd_pcm_uframes_t stop_threshold;
snd_pcm_uframes_t silence_threshold; /* Silence filling happens when
-@@ -317,9 +327,18 @@ struct snd_pcm_runtime {
+@@ -318,9 +330,18 @@ struct snd_pcm_runtime {
struct snd_pcm_mmap_control *control;
/* -- locking / scheduling -- */
@@ -54,7 +59,7 @@
struct fasync_struct *fasync;
/* -- private section -- */
-@@ -336,8 +355,9 @@ struct snd_pcm_runtime {
+@@ -337,8 +358,9 @@ struct snd_pcm_runtime {
/* -- timer -- */
unsigned int timer_resolution; /* timer resolution */
@@ -65,7 +70,7 @@
/* -- DMA -- */
unsigned char *dma_area; /* DMA area */
dma_addr_t dma_addr; /* physical bus address (not accessible from main CPU) */
-@@ -353,6 +373,24 @@ struct snd_pcm_runtime {
+@@ -354,6 +376,27 @@ struct snd_pcm_runtime {
#ifdef CONFIG_SND_PCM_XRUN_DEBUG
struct snd_pcm_hwptr_log *hwptr_log;
#endif
@@ -87,10 +92,13 @@
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)
+ snd_pcm_uframes_t twake; /* do transfer (!poll) wakeup if non-zero */
+#endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
++ unsigned long hw_ptr_buffer_jiffies; /* buffer time in jiffies */
++#endif
};
struct snd_pcm_group { /* keep linked substreams */
-@@ -370,7 +408,15 @@ struct snd_pcm_substream {
+@@ -371,7 +414,15 @@ struct snd_pcm_substream {
int number;
char name[32]; /* substream name */
int stream; /* stream (direction) */
@@ -106,7 +114,7 @@
size_t buffer_bytes_max; /* limit ring buffer size */
struct snd_dma_buffer dma_buffer;
unsigned int dma_buf_id;
-@@ -382,6 +428,9 @@ struct snd_pcm_substream {
+@@ -383,6 +434,9 @@ struct snd_pcm_substream {
/* -- timer section -- */
struct snd_timer *timer; /* timer */
unsigned timer_running: 1; /* time is running */