1
2
3
4
5 int DMAbuf_open(int dev, int mode);
6 int DMAbuf_release(int dev, int mode);
7 int DMAbuf_getwrbuffer(int dev, char **buf, int *size, int dontblock);
8 int DMAbuf_get_curr_buffer(int dev, int *buff_no, char **dma_buf, int *buff_ptr, int *buff_size);
9 int DMAbuf_getrdbuffer(int dev, char **buf, int *len, int dontblock);
10 int DMAbuf_rmchars(int dev, int buff_no, int c);
11 int DMAbuf_start_output(int dev, int buff_no, int l);
12 int DMAbuf_set_count(int dev, int buff_no, int l);
13 int DMAbuf_ioctl(int dev, unsigned int cmd, caddr_t arg, int local);
14 long DMAbuf_init(long mem_start);
15 int DMAbuf_start_dma (int dev, unsigned long physaddr, int count, int dma_mode);
16 int DMAbuf_open_dma (int dev);
17 void DMAbuf_close_dma (int dev);
18 void DMAbuf_reset_dma (int dev);
19 void DMAbuf_inputintr(int dev);
20 void DMAbuf_outputintr(int dev, int underflow_flag);
21 int DMAbuf_select(int dev, struct fileinfo *file, int sel_type, select_table_handle * wait);
22 void DMAbuf_start_devices(unsigned int devmask);
23
24
25
26
27
28 int audio_read (int dev, struct fileinfo *file, char *buf, int count);
29 int audio_write (int dev, struct fileinfo *file, const char *buf, int count);
30 int audio_open (int dev, struct fileinfo *file);
31 void audio_release (int dev, struct fileinfo *file);
32 int audio_ioctl (int dev, struct fileinfo *file,
33 unsigned int cmd, caddr_t arg);
34 int audio_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
35 long audio_init (long mem_start);
36
37 int audio_select(int dev, struct fileinfo *file, int sel_type, select_table_handle * wait);
38
39
40
41
42
43 int sequencer_read (int dev, struct fileinfo *file, char *buf, int count);
44 int sequencer_write (int dev, struct fileinfo *file, const char *buf, int count);
45 int sequencer_open (int dev, struct fileinfo *file);
46 void sequencer_release (int dev, struct fileinfo *file);
47 int sequencer_ioctl (int dev, struct fileinfo *file,
48 unsigned int cmd, caddr_t arg);
49 int sequencer_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
50 long sequencer_init (long mem_start);
51 void sequencer_timer(unsigned long dummy);
52 int note_to_freq(int note_num);
53 unsigned long compute_finetune(unsigned long base_freq, int bend, int range);
54 void seq_input_event(unsigned char *event, int len);
55 void seq_copy_to_input (unsigned char *event, int len);
56
57 int sequencer_select(int dev, struct fileinfo *file, int sel_type, select_table_handle * wait);
58
59
60
61
62
63 int MIDIbuf_read (int dev, struct fileinfo *file, char *buf, int count);
64 int MIDIbuf_write (int dev, struct fileinfo *file, const char *buf, int count);
65 int MIDIbuf_open (int dev, struct fileinfo *file);
66 void MIDIbuf_release (int dev, struct fileinfo *file);
67 int MIDIbuf_ioctl (int dev, struct fileinfo *file,
68 unsigned int cmd, caddr_t arg);
69 int MIDIbuf_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
70 void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count);
71 long MIDIbuf_init(long mem_start);
72
73 int MIDIbuf_select(int dev, struct fileinfo *file, int sel_type, select_table_handle * wait);
74
75
76
77
78
79
80
81 void soundcard_init(void);
82 void tenmicrosec(int *osp);
83 void request_sound_timer (int count);
84 void sound_stop_timer(void);
85 int snd_ioctl_return(int *addr, int value);
86 int snd_set_irq_handler (int interrupt_level, void(*hndlr)(int, void*, struct pt_regs *), char *name, int *osp);
87 void snd_release_irq(int vect);
88 void sound_dma_malloc(int dev);
89 void sound_dma_free(int dev);
90 void conf_printf(char *name, struct address_info *hw_config);
91 void conf_printf2(char *name, int base, int irq, int dma, int dma2);
92
93
94 int sound_read_sw (int dev, struct fileinfo *file, char *buf, int count);
95 int sound_write_sw (int dev, struct fileinfo *file, const char *buf, int count);
96 int sound_open_sw (int dev, struct fileinfo *file);
97 void sound_release_sw (int dev, struct fileinfo *file);
98 int sound_ioctl_sw (int dev, struct fileinfo *file,
99 unsigned int cmd, caddr_t arg);
100
101
102 int sb_dsp_detect (struct address_info *hw_config);
103 long sb_dsp_init (long mem_start, struct address_info *hw_config);
104 void sb_dsp_disable_midi(void);
105 int sb_get_irq(void);
106 void sb_free_irq(void);
107 int sb_dsp_command (unsigned char val);
108 int sb_reset_dsp (void);
109 void sb_dsp_unload(struct address_info *);
110
111
112 void sb16_dsp_interrupt (int irq);
113 long sb16_dsp_init(long mem_start, struct address_info *hw_config);
114 int sb16_dsp_detect(struct address_info *hw_config);
115
116
117 void sb16midiintr (int unit);
118 long attach_sb16midi(long mem_start, struct address_info * hw_config);
119 int probe_sb16midi(struct address_info *hw_config);
120 void sb_midi_interrupt(int dummy);
121 void sbmidiintr(int irq, void *dev_id, struct pt_regs * dummy);
122
123
124 void sb_midi_init(int model);
125
126
127 void sb_setmixer (unsigned int port, unsigned int value);
128 int sb_getmixer (unsigned int port);
129 void sb_mixer_set_stereo(int mode);
130 int sb_mixer_init(int major_model);
131
132
133 int opl3_detect (int ioaddr, int *osp);
134 long opl3_init(long mem_start, int ioaddr, int *osp);
135
136
137 long attach_sb_card(long mem_start, struct address_info *hw_config);
138 int probe_sb(struct address_info *hw_config);
139
140
141 long attach_adlib_card(long mem_start, struct address_info *hw_config);
142 int probe_adlib(struct address_info *hw_config);
143
144
145 long attach_pas_card(long mem_start, struct address_info *hw_config);
146 int probe_pas(struct address_info *hw_config);
147 int pas_set_intr(int mask);
148 int pas_remove_intr(int mask);
149 unsigned char pas_read(int ioaddr);
150 void pas_write(unsigned char data, int ioaddr);
151
152
153 void pas_pcm_interrupt(unsigned char status, int cause);
154 long pas_pcm_init(long mem_start, struct address_info *hw_config);
155
156
157 int pas_init_mixer(void);
158
159
160 long pas_midi_init(long mem_start);
161 void pas_midi_interrupt(void);
162
163
164 long attach_gus_card(long mem_start, struct address_info * hw_config);
165 int probe_gus(struct address_info *hw_config);
166 int gus_set_midi_irq(int num);
167 void gusintr(int irq, void *dev_id, struct pt_regs * dummy);
168 long attach_gus_db16(long mem_start, struct address_info * hw_config);
169 int probe_gus_db16(struct address_info *hw_config);
170
171
172 int gus_wave_detect(int baseaddr);
173 long gus_wave_init(long mem_start, struct address_info *hw_config);
174 void gus_wave_unload (void);
175 void gus_voice_irq(void);
176 unsigned char gus_read8 (int reg);
177 void gus_write8(int reg, unsigned int data);
178 void guswave_dma_irq(void);
179 void gus_delay(void);
180 int gus_default_mixer_ioctl (int dev, unsigned int cmd, caddr_t arg);
181 void gus_timer_command (unsigned int addr, unsigned int val);
182
183
184 long gus_midi_init(long mem_start);
185 void gus_midi_interrupt(int dummy);
186
187
188 long attach_mpu401(long mem_start, struct address_info * hw_config);
189 int probe_mpu401(struct address_info *hw_config);
190 void mpuintr(int irq, void *dev_id, struct pt_regs * dummy);
191
192
193 long attach_uart6850(long mem_start, struct address_info * hw_config);
194 int probe_uart6850(struct address_info *hw_config);
195
196
197 void enable_opl3_mode(int left, int right, int both);
198
199
200 int pmgr_open(int dev);
201 void pmgr_release(int dev);
202 int pmgr_read (int dev, struct fileinfo *file, char * buf, int count);
203 int pmgr_write (int dev, struct fileinfo *file, const char * buf, int count);
204 int pmgr_access(int dev, struct patmgr_info *rec);
205 int pmgr_inform(int dev, int event, unsigned long parm1, unsigned long parm2,
206 unsigned long parm3, unsigned long parm4);
207
208
209 long ics2101_mixer_init(long mem_start);
210
211
212 void sound_timer_interrupt(void);
213 void sound_timer_syncinterval(unsigned int new_usecs);
214
215
216 void ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture, int share_dma, int *osp);
217 void ad1848_unload (int io_base, int irq, int dma_playback, int dma_capture, int share_dma);
218
219 int ad1848_detect (int io_base, int *flags, int *osp);
220 #define AD_F_CS4231 0x0001
221 #define AD_F_CS4248 0x0001
222
223 void ad1848_interrupt (int irq, void *dev_id, struct pt_regs * dummy);
224 long attach_ms_sound(long mem_start, struct address_info * hw_config);
225 int probe_ms_sound(struct address_info *hw_config);
226 long attach_pnp_ad1848(long mem_start, struct address_info * hw_config);
227 int probe_pnp_ad1848(struct address_info *hw_config);
228 void unload_pnp_ad1848(struct address_info *hw_info);
229
230
231 int probe_pss (struct address_info *hw_config);
232 long attach_pss (long mem_start, struct address_info *hw_config);
233 int probe_pss_mpu (struct address_info *hw_config);
234 long attach_pss_mpu (long mem_start, struct address_info *hw_config);
235 int probe_pss_mss (struct address_info *hw_config);
236 long attach_pss_mss (long mem_start, struct address_info *hw_config);
237
238
239 int probe_sscape (struct address_info *hw_config);
240 long attach_sscape (long mem_start, struct address_info *hw_config);
241 int probe_ss_ms_sound (struct address_info *hw_config);
242 long attach_ss_ms_sound(long mem_start, struct address_info * hw_config);
243
244 int pss_read (int dev, struct fileinfo *file, char *buf, int count);
245 int pss_write (int dev, struct fileinfo *file, char *buf, int count);
246 int pss_open (int dev, struct fileinfo *file);
247 void pss_release (int dev, struct fileinfo *file);
248 int pss_ioctl (int dev, struct fileinfo *file,
249 unsigned int cmd, caddr_t arg);
250 int pss_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
251 long pss_init(long mem_start);
252
253
254 int InitAEDSP16_SBPRO(struct address_info *hw_config);
255 int InitAEDSP16_MSS(struct address_info *hw_config);
256 int InitAEDSP16_MPU401(struct address_info *hw_config);
257
258
259 void do_midi_msg (int synthno, unsigned char *msg, int mlen);
260
261
262 long attach_trix_wss (long mem_start, struct address_info *hw_config);
263 int probe_trix_wss (struct address_info *hw_config);
264 long attach_trix_sb (long mem_start, struct address_info *hw_config);
265 int probe_trix_sb (struct address_info *hw_config);
266 long attach_trix_mpu (long mem_start, struct address_info *hw_config);
267 int probe_trix_mpu (struct address_info *hw_config);
268
269
270 long attach_mad16 (long mem_start, struct address_info *hw_config);
271 int probe_mad16 (struct address_info *hw_config);
272 long attach_mad16_mpu (long mem_start, struct address_info *hw_config);
273 int probe_mad16_mpu (struct address_info *hw_config);
274 int mad16_sb_dsp_detect (struct address_info *hw_config);
275 long mad16_sb_dsp_init (long mem_start, struct address_info *hw_config);
276 void mad16_sb_dsp_unload(struct address_info *hw_config);
277
278
279 void unload_pss(struct address_info *hw_info);
280 void unload_pss_mpu(struct address_info *hw_info);
281 void unload_pss_mss(struct address_info *hw_info);
282 void unload_mad16(struct address_info *hw_info);
283 void unload_mad16_mpu(struct address_info *hw_info);
284 void unload_adlib(struct address_info *hw_info);
285 void unload_pas(struct address_info *hw_info);
286 void unload_mpu401(struct address_info *hw_info);
287 void unload_maui(struct address_info *hw_info);
288 void unload_uart6850(struct address_info *hw_info);
289 void unload_sb(struct address_info *hw_info);
290 void unload_sb16(struct address_info *hw_info);
291 void unload_sb16midi(struct address_info *hw_info);
292 void unload_gus_db16(struct address_info *hw_info);
293 void unload_ms_sound(struct address_info *hw_info);
294 void unload_gus(struct address_info *hw_info);
295 void unload_sscape(struct address_info *hw_info);
296 void unload_ss_ms_sound(struct address_info *hw_info);
297 void unload_trix_wss(struct address_info *hw_info);
298 void unload_trix_sb(struct address_info *hw_info);
299 void unload_trix_mpu(struct address_info *hw_info);
300 void unload_cs4232(struct address_info *hw_info);
301 void unload_cs4232_mpu(struct address_info *hw_info);
302
303
304
305 int probe_cs4232 (struct address_info *hw_config);
306 long attach_cs4232 (long mem_start, struct address_info *hw_config);
307 int probe_cs4232_mpu (struct address_info *hw_config);
308 long attach_cs4232_mpu (long mem_start, struct address_info *hw_config);
309
310
311 long attach_maui(long mem_start, struct address_info * hw_config);
312 int probe_maui(struct address_info *hw_config);
313
314
315 void sound_pnp_init(void);
316 void sound_pnp_disconnect(void);