summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2003-02-10 18:17:06 +1100
committerAnton Blanchard <anton@samba.org>2003-02-10 18:17:06 +1100
commit90a252f2c840063a39929a05a88c88a74ba360bf (patch)
tree41e1fb3fa295091b6d771f6fb0da5c453d150f72 /include
parent5454267b5bea331ba3ffb59ea1a38e59a4fcd971 (diff)
parent5654988e61414150976b4535e0d823a3e30ecc0c (diff)
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/sfr
Diffstat (limited to 'include')
-rw-r--r--include/sound/asound.h1
-rw-r--r--include/sound/core.h2
-rw-r--r--include/sound/cs46xx_dsp_scb_types.h8
-rw-r--r--include/sound/cs46xx_dsp_spos.h4
-rw-r--r--include/sound/mixer_oss.h4
-rw-r--r--include/sound/pcm_params.h4
-rw-r--r--include/sound/seq_kernel.h2
-rw-r--r--include/sound/sndmagic.h2
-rw-r--r--include/sound/timer.h30
-rw-r--r--include/sound/version.h6
10 files changed, 35 insertions, 28 deletions
diff --git a/include/sound/asound.h b/include/sound/asound.h
index 9e351ebaf847..04fefdffb0ce 100644
--- a/include/sound/asound.h
+++ b/include/sound/asound.h
@@ -32,6 +32,7 @@
#include <linux/types.h>
#include <linux/time.h>
#include <asm/byteorder.h>
+#include <linux/interrupt.h>
#if __LITTLE_ENDIAN == 1234
#define SNDRV_LITTLE_ENDIAN
diff --git a/include/sound/core.h b/include/sound/core.h
index 7a3e4676d2c3..f8fe11831666 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -346,7 +346,7 @@ int snd_device_free_all(snd_card_t *card, snd_device_cmd_t cmd);
void snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode);
void snd_dma_disable(unsigned long dma);
-unsigned int snd_dma_residue(unsigned long dma);
+unsigned int snd_dma_pointer(unsigned long dma, unsigned int size);
/* misc.c */
diff --git a/include/sound/cs46xx_dsp_scb_types.h b/include/sound/cs46xx_dsp_scb_types.h
index 30457420de51..f5543e774bd1 100644
--- a/include/sound/cs46xx_dsp_scb_types.h
+++ b/include/sound/cs46xx_dsp_scb_types.h
@@ -248,12 +248,12 @@ typedef struct _mix2_ostream_spb_t
insure that the fractional error is always
positive)
*/
- long outTripletsPerFrame;
+ u32 outTripletsPerFrame;
/* 16b.16b integer.frac accumulated number of
output triplets since the start of group
*/
- long accumOutTriplets;
+ u32 accumOutTriplets;
} mix2_ostream_spb_t;
/* SCB for Timing master algorithm */
@@ -569,10 +569,10 @@ typedef struct _vari_decimate_scb_t {
u32 vdec_input_buf_strm_config;
/* inputBufStrmConfig: rsConfig for the input buffer to the decimator
(buffer size = 64 dwords) */
- long vdec_coef_increment;
+ u32 vdec_coef_increment;
/* coefIncrement = - 128.0 / decimationFactor (as a 32Q15 number) */
- long vdec_accumphi;
+ u32 vdec_accumphi;
/* accumPhi: accumulated fractional phase increment (6.26) */
u16 vdec_exp_vol_change_rate;
diff --git a/include/sound/cs46xx_dsp_spos.h b/include/sound/cs46xx_dsp_spos.h
index 1522a61ba85c..14710ff45bda 100644
--- a/include/sound/cs46xx_dsp_spos.h
+++ b/include/sound/cs46xx_dsp_spos.h
@@ -196,8 +196,8 @@ typedef struct _dsp_spos_instance_t {
u16 spdif_input_volume_left;
/* spdif channel status,
left right and user validity bits */
- int spdif_csuv_default;
- int spdif_csuv_stream;
+ unsigned int spdif_csuv_default;
+ unsigned int spdif_csuv_stream;
/* SPDIF input sample rate converter */
dsp_scb_descriptor_t * spdif_in_src;
diff --git a/include/sound/mixer_oss.h b/include/sound/mixer_oss.h
index d88e1621097d..a2fbad2b8c40 100644
--- a/include/sound/mixer_oss.h
+++ b/include/sound/mixer_oss.h
@@ -31,8 +31,8 @@ typedef int (*snd_mixer_oss_get_volume_t)(snd_mixer_oss_file_t *fmixer, snd_mixe
typedef int (*snd_mixer_oss_put_volume_t)(snd_mixer_oss_file_t *fmixer, snd_mixer_oss_slot_t *chn, int left, int right);
typedef int (*snd_mixer_oss_get_recsrc_t)(snd_mixer_oss_file_t *fmixer, snd_mixer_oss_slot_t *chn, int *active);
typedef int (*snd_mixer_oss_put_recsrc_t)(snd_mixer_oss_file_t *fmixer, snd_mixer_oss_slot_t *chn, int active);
-typedef int (*snd_mixer_oss_get_recsrce_t)(snd_mixer_oss_file_t *fmixer, int *active_index);
-typedef int (*snd_mixer_oss_put_recsrce_t)(snd_mixer_oss_file_t *fmixer, int active_index);
+typedef int (*snd_mixer_oss_get_recsrce_t)(snd_mixer_oss_file_t *fmixer, unsigned int *active_index);
+typedef int (*snd_mixer_oss_put_recsrce_t)(snd_mixer_oss_file_t *fmixer, unsigned int active_index);
#define SNDRV_OSS_MAX_MIXERS 32
diff --git a/include/sound/pcm_params.h b/include/sound/pcm_params.h
index 31684a78e0b2..60b0e92e26f3 100644
--- a/include/sound/pcm_params.h
+++ b/include/sound/pcm_params.h
@@ -129,7 +129,7 @@ INLINE void snd_mask_reset(snd_mask_t *mask, unsigned int val)
INLINE void snd_mask_set_range(snd_mask_t *mask, unsigned int from, unsigned int to)
{
- int i;
+ unsigned int i;
assert(to <= SNDRV_MASK_BITS && from <= to);
for (i = from; i <= to; i++)
mask->bits[MASK_OFS(i)] |= MASK_BIT(i);
@@ -137,7 +137,7 @@ INLINE void snd_mask_set_range(snd_mask_t *mask, unsigned int from, unsigned int
INLINE void snd_mask_reset_range(snd_mask_t *mask, unsigned int from, unsigned int to)
{
- int i;
+ unsigned int i;
assert(to <= SNDRV_MASK_BITS && from <= to);
for (i = from; i <= to; i++)
mask->bits[MASK_OFS(i)] &= ~MASK_BIT(i);
diff --git a/include/sound/seq_kernel.h b/include/sound/seq_kernel.h
index 6b0793562393..347d7e9f3e74 100644
--- a/include/sound/seq_kernel.h
+++ b/include/sound/seq_kernel.h
@@ -174,7 +174,7 @@ snd_seq_port_callback_t *snd_port_alloc_callback(void);
/* port attach/detach */
int snd_seq_event_port_attach(int client, snd_seq_port_callback_t *pcbp,
- int cap, int type, char *portname);
+ int cap, int type, int midi_channels, char *portname);
int snd_seq_event_port_detach(int client, int port);
#endif /* __SOUND_SEQ_KERNEL_H */
diff --git a/include/sound/sndmagic.h b/include/sound/sndmagic.h
index 560f248b9cdf..3734c468875f 100644
--- a/include/sound/sndmagic.h
+++ b/include/sound/sndmagic.h
@@ -69,7 +69,7 @@ void snd_magic_kfree(void *ptr);
static inline unsigned long _snd_magic_value(void *obj)
{
- return obj == NULL ? -1 : *(((unsigned long *)obj) - 1);
+ return obj == NULL ? (unsigned long)-1 : *(((unsigned long *)obj) - 1);
}
static inline int _snd_magic_bad(void *obj, unsigned long magic)
diff --git a/include/sound/timer.h b/include/sound/timer.h
index 62df3ec5888b..079c33f27c74 100644
--- a/include/sound/timer.h
+++ b/include/sound/timer.h
@@ -45,17 +45,19 @@ typedef struct sndrv_timer_read snd_timer_read_t;
#define SNDRV_TIMER_HW_STOP 0x00000002 /* call stop before start */
#define SNDRV_TIMER_HW_SLAVE 0x00000004 /* only slave timer (variable resolution) */
#define SNDRV_TIMER_HW_FIRST 0x00000008 /* first tick can be incomplete */
+#define SNDRV_TIMER_HW_TASKLET 0x00000010 /* timer is called from tasklet */
-#define SNDRV_TIMER_IFLG_SLAVE 0x00000001
-#define SNDRV_TIMER_IFLG_RUNNING 0x00000002
-#define SNDRV_TIMER_IFLG_START 0x00000004
-#define SNDRV_TIMER_IFLG_AUTO 0x00000008 /* auto restart */
+#define SNDRV_TIMER_IFLG_SLAVE 0x00000001
+#define SNDRV_TIMER_IFLG_RUNNING 0x00000002
+#define SNDRV_TIMER_IFLG_START 0x00000004
+#define SNDRV_TIMER_IFLG_AUTO 0x00000008 /* auto restart */
+#define SNDRV_TIMER_IFLG_FAST 0x00000010 /* fast callback (do not use tasklet) */
+#define SNDRV_TIMER_IFLG_CALLBACK 0x00000020 /* timer callback is active */
-#define SNDRV_TIMER_FLG_SYSTEM 0x00000001 /* system timer */
-#define SNDRV_TIMER_FLG_CHANGE 0x00000002
-#define SNDRV_TIMER_FLG_RESCHED 0x00000004 /* need reschedule */
+#define SNDRV_TIMER_FLG_CHANGE 0x00000001
+#define SNDRV_TIMER_FLG_RESCHED 0x00000002 /* need reschedule */
-typedef void (*snd_timer_callback_t) (snd_timer_instance_t * timeri, unsigned long ticks, unsigned long resolution, void *data);
+typedef void (*snd_timer_callback_t) (snd_timer_instance_t * timeri, unsigned long ticks, unsigned long resolution);
struct _snd_timer_hardware {
/* -- must be filled with low-level driver */
@@ -87,6 +89,9 @@ struct _snd_timer {
struct list_head device_list;
struct list_head open_list_head;
struct list_head active_list_head;
+ struct list_head ack_list_head;
+ struct list_head sack_list_head; /* slow ack list head */
+ struct tasklet_struct task_queue;
};
struct _snd_timer_instance {
@@ -97,17 +102,19 @@ struct _snd_timer_instance {
void (*private_free) (snd_timer_instance_t *ti);
snd_timer_callback_t callback;
void *callback_data;
- unsigned long ticks;
- unsigned long cticks;
+ unsigned long ticks; /* auto-load ticks when expired */
+ unsigned long cticks; /* current ticks */
+ unsigned long pticks; /* accumulated ticks for callback */
+ unsigned long resolution; /* current resolution for tasklet */
unsigned long lost; /* lost ticks */
snd_timer_slave_class_t slave_class;
unsigned int slave_id;
struct list_head open_list;
struct list_head active_list;
+ struct list_head ack_list;
struct list_head slave_list_head;
struct list_head slave_active_head;
snd_timer_instance_t *master;
- atomic_t in_use; /* don't free */
};
/*
@@ -128,7 +135,6 @@ extern int snd_timer_set_resolution(snd_timer_instance_t * timeri, unsigned long
extern unsigned long snd_timer_resolution(snd_timer_instance_t * timeri);
extern int snd_timer_start(snd_timer_instance_t * timeri, unsigned int ticks);
extern int snd_timer_stop(snd_timer_instance_t * timeri);
-extern int snd_timer_del(snd_timer_instance_t * timeri);
extern int snd_timer_continue(snd_timer_instance_t * timeri);
extern void snd_timer_interrupt(snd_timer_t * timer, unsigned long ticks_left);
diff --git a/include/sound/version.h b/include/sound/version.h
index 77c9885943eb..23460ba88901 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
-/* include/version.h. Generated automatically by configure. */
-#define CONFIG_SND_VERSION "0.9.0rc6"
-#define CONFIG_SND_DATE " (Tue Jan 28 12:17:23 2003 UTC)"
+/* include/version.h. Generated by configure. */
+#define CONFIG_SND_VERSION "0.9.0rc7"
+#define CONFIG_SND_DATE " (Sat Feb 08 17:33:25 2003 UTC)"