Loading Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +1 −2 Original line number Diff line number Diff line Loading @@ -2190,8 +2190,7 @@ struct _snd_pcm_runtime { unsigned int rate_den; /* -- SW params -- */ int tstamp_timespec; /* use timeval (0) or timespec (1) */ snd_pcm_tstamp_t tstamp_mode; /* mmap timestamp is updated */ struct timespec tstamp_mode; /* mmap timestamp is updated */ unsigned int period_step; unsigned int sleep_min; /* min ticks to sleep */ snd_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */ Loading include/sound/core.h +0 −23 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <linux/pm.h> /* pm_message_t */ /* Typedef's */ typedef struct timespec snd_timestamp_t; typedef struct sndrv_interval snd_interval_t; typedef enum sndrv_card_type snd_card_type; typedef struct sndrv_xferi snd_xferi_t; Loading Loading @@ -464,28 +463,6 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) #endif static inline void snd_timestamp_now(struct timespec *tstamp, int timespec) { struct timeval val; /* FIXME: use a linear time source */ do_gettimeofday(&val); tstamp->tv_sec = val.tv_sec; tstamp->tv_nsec = val.tv_usec; if (timespec) tstamp->tv_nsec *= 1000L; } static inline void snd_timestamp_zero(struct timespec *tstamp) { tstamp->tv_sec = 0; tstamp->tv_nsec = 0; } static inline int snd_timestamp_null(struct timespec *tstamp) { return tstamp->tv_sec == 0 && tstamp->tv_nsec == 0; } #define SNDRV_OSS_VERSION ((3<<16)|(8<<8)|(1<<4)|(0)) /* 3.8.1a */ /* for easier backward-porting */ Loading include/sound/pcm.h +1 −2 Original line number Diff line number Diff line Loading @@ -281,7 +281,7 @@ typedef struct { struct _snd_pcm_runtime { /* -- Status -- */ snd_pcm_substream_t *trigger_master; snd_timestamp_t trigger_tstamp; /* trigger timestamp */ struct timespec trigger_tstamp; /* trigger timestamp */ int overrange; snd_pcm_uframes_t avail_max; snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ Loading @@ -306,7 +306,6 @@ struct _snd_pcm_runtime { unsigned int rate_den; /* -- SW params -- */ int tstamp_timespec; /* use timeval (0) or timespec (1) */ snd_pcm_tstamp_t tstamp_mode; /* mmap timestamp is updated */ unsigned int period_step; unsigned int sleep_min; /* min ticks to sleep */ Loading sound/core/pcm_lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(snd_pcm_substream_t *s if (pos == SNDRV_PCM_POS_XRUN) return pos; /* XRUN */ if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) snd_timestamp_now((snd_timestamp_t*)&runtime->status->tstamp, runtime->tstamp_timespec); getnstimeofday((struct timespec *)&runtime->status->tstamp); #ifdef CONFIG_SND_DEBUG if (pos >= runtime->buffer_size) { snd_printk(KERN_ERR "BUG: stream = %i, pos = 0x%lx, buffer size = 0x%lx, period size = 0x%lx\n", substream->stream, pos, runtime->buffer_size, runtime->period_size); Loading sound/core/pcm_native.c +4 −10 Original line number Diff line number Diff line Loading @@ -565,9 +565,9 @@ int snd_pcm_status(snd_pcm_substream_t *substream, if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) status->tstamp = runtime->status->tstamp; else snd_timestamp_now(&status->tstamp, runtime->tstamp_timespec); getnstimeofday(&status->tstamp); } else snd_timestamp_now(&status->tstamp, runtime->tstamp_timespec); getnstimeofday(&status->tstamp); status->appl_ptr = runtime->control->appl_ptr; status->hw_ptr = runtime->status->hw_ptr; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { Loading Loading @@ -652,7 +652,7 @@ static void snd_pcm_trigger_tstamp(snd_pcm_substream_t *substream) if (runtime->trigger_master == NULL) return; if (runtime->trigger_master == substream) { snd_timestamp_now(&runtime->trigger_tstamp, runtime->tstamp_timespec); getnstimeofday(&runtime->trigger_tstamp); } else { snd_pcm_trigger_tstamp(runtime->trigger_master); runtime->trigger_tstamp = runtime->trigger_master->runtime->trigger_tstamp; Loading Loading @@ -2446,14 +2446,8 @@ static int snd_pcm_common_ioctl1(snd_pcm_substream_t *substream, return put_user(SNDRV_PCM_VERSION, (int __user *)arg) ? -EFAULT : 0; case SNDRV_PCM_IOCTL_INFO: return snd_pcm_info_user(substream, arg); case SNDRV_PCM_IOCTL_TSTAMP: { int xarg; if (get_user(xarg, (int __user *)arg)) return -EFAULT; substream->runtime->tstamp_timespec = xarg ? 1 : 0; case SNDRV_PCM_IOCTL_TSTAMP: /* just for compatibility */ return 0; } case SNDRV_PCM_IOCTL_HW_REFINE: return snd_pcm_hw_refine_user(substream, arg); case SNDRV_PCM_IOCTL_HW_PARAMS: Loading Loading
Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +1 −2 Original line number Diff line number Diff line Loading @@ -2190,8 +2190,7 @@ struct _snd_pcm_runtime { unsigned int rate_den; /* -- SW params -- */ int tstamp_timespec; /* use timeval (0) or timespec (1) */ snd_pcm_tstamp_t tstamp_mode; /* mmap timestamp is updated */ struct timespec tstamp_mode; /* mmap timestamp is updated */ unsigned int period_step; unsigned int sleep_min; /* min ticks to sleep */ snd_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */ Loading
include/sound/core.h +0 −23 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <linux/pm.h> /* pm_message_t */ /* Typedef's */ typedef struct timespec snd_timestamp_t; typedef struct sndrv_interval snd_interval_t; typedef enum sndrv_card_type snd_card_type; typedef struct sndrv_xferi snd_xferi_t; Loading Loading @@ -464,28 +463,6 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) #endif static inline void snd_timestamp_now(struct timespec *tstamp, int timespec) { struct timeval val; /* FIXME: use a linear time source */ do_gettimeofday(&val); tstamp->tv_sec = val.tv_sec; tstamp->tv_nsec = val.tv_usec; if (timespec) tstamp->tv_nsec *= 1000L; } static inline void snd_timestamp_zero(struct timespec *tstamp) { tstamp->tv_sec = 0; tstamp->tv_nsec = 0; } static inline int snd_timestamp_null(struct timespec *tstamp) { return tstamp->tv_sec == 0 && tstamp->tv_nsec == 0; } #define SNDRV_OSS_VERSION ((3<<16)|(8<<8)|(1<<4)|(0)) /* 3.8.1a */ /* for easier backward-porting */ Loading
include/sound/pcm.h +1 −2 Original line number Diff line number Diff line Loading @@ -281,7 +281,7 @@ typedef struct { struct _snd_pcm_runtime { /* -- Status -- */ snd_pcm_substream_t *trigger_master; snd_timestamp_t trigger_tstamp; /* trigger timestamp */ struct timespec trigger_tstamp; /* trigger timestamp */ int overrange; snd_pcm_uframes_t avail_max; snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ Loading @@ -306,7 +306,6 @@ struct _snd_pcm_runtime { unsigned int rate_den; /* -- SW params -- */ int tstamp_timespec; /* use timeval (0) or timespec (1) */ snd_pcm_tstamp_t tstamp_mode; /* mmap timestamp is updated */ unsigned int period_step; unsigned int sleep_min; /* min ticks to sleep */ Loading
sound/core/pcm_lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(snd_pcm_substream_t *s if (pos == SNDRV_PCM_POS_XRUN) return pos; /* XRUN */ if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) snd_timestamp_now((snd_timestamp_t*)&runtime->status->tstamp, runtime->tstamp_timespec); getnstimeofday((struct timespec *)&runtime->status->tstamp); #ifdef CONFIG_SND_DEBUG if (pos >= runtime->buffer_size) { snd_printk(KERN_ERR "BUG: stream = %i, pos = 0x%lx, buffer size = 0x%lx, period size = 0x%lx\n", substream->stream, pos, runtime->buffer_size, runtime->period_size); Loading
sound/core/pcm_native.c +4 −10 Original line number Diff line number Diff line Loading @@ -565,9 +565,9 @@ int snd_pcm_status(snd_pcm_substream_t *substream, if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) status->tstamp = runtime->status->tstamp; else snd_timestamp_now(&status->tstamp, runtime->tstamp_timespec); getnstimeofday(&status->tstamp); } else snd_timestamp_now(&status->tstamp, runtime->tstamp_timespec); getnstimeofday(&status->tstamp); status->appl_ptr = runtime->control->appl_ptr; status->hw_ptr = runtime->status->hw_ptr; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { Loading Loading @@ -652,7 +652,7 @@ static void snd_pcm_trigger_tstamp(snd_pcm_substream_t *substream) if (runtime->trigger_master == NULL) return; if (runtime->trigger_master == substream) { snd_timestamp_now(&runtime->trigger_tstamp, runtime->tstamp_timespec); getnstimeofday(&runtime->trigger_tstamp); } else { snd_pcm_trigger_tstamp(runtime->trigger_master); runtime->trigger_tstamp = runtime->trigger_master->runtime->trigger_tstamp; Loading Loading @@ -2446,14 +2446,8 @@ static int snd_pcm_common_ioctl1(snd_pcm_substream_t *substream, return put_user(SNDRV_PCM_VERSION, (int __user *)arg) ? -EFAULT : 0; case SNDRV_PCM_IOCTL_INFO: return snd_pcm_info_user(substream, arg); case SNDRV_PCM_IOCTL_TSTAMP: { int xarg; if (get_user(xarg, (int __user *)arg)) return -EFAULT; substream->runtime->tstamp_timespec = xarg ? 1 : 0; case SNDRV_PCM_IOCTL_TSTAMP: /* just for compatibility */ return 0; } case SNDRV_PCM_IOCTL_HW_REFINE: return snd_pcm_hw_refine_user(substream, arg); case SNDRV_PCM_IOCTL_HW_PARAMS: Loading