Home
last modified time | relevance | path

Searched refs:opl4 (Results 1 – 11 of 11) sorted by relevance

/sound/drivers/opl4/
Dopl4_lib.c19 static inline void snd_opl4_wait(struct snd_opl4 *opl4) in snd_opl4_wait() argument
22 while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) in snd_opl4_wait()
26 void snd_opl4_write(struct snd_opl4 *opl4, u8 reg, u8 value) in snd_opl4_write() argument
28 snd_opl4_wait(opl4); in snd_opl4_write()
29 outb(reg, opl4->pcm_port); in snd_opl4_write()
31 snd_opl4_wait(opl4); in snd_opl4_write()
32 outb(value, opl4->pcm_port + 1); in snd_opl4_write()
37 u8 snd_opl4_read(struct snd_opl4 *opl4, u8 reg) in snd_opl4_read() argument
39 snd_opl4_wait(opl4); in snd_opl4_read()
40 outb(reg, opl4->pcm_port); in snd_opl4_read()
[all …]
Dopl4_seq.c49 static int snd_opl4_seq_use_inc(struct snd_opl4 *opl4) in snd_opl4_seq_use_inc() argument
51 if (!try_module_get(opl4->card->module)) in snd_opl4_seq_use_inc()
56 static void snd_opl4_seq_use_dec(struct snd_opl4 *opl4) in snd_opl4_seq_use_dec() argument
58 module_put(opl4->card->module); in snd_opl4_seq_use_dec()
63 struct snd_opl4 *opl4 = private_data; in snd_opl4_seq_use() local
66 mutex_lock(&opl4->access_mutex); in snd_opl4_seq_use()
68 if (opl4->used) { in snd_opl4_seq_use()
69 mutex_unlock(&opl4->access_mutex); in snd_opl4_seq_use()
72 opl4->used++; in snd_opl4_seq_use()
75 err = snd_opl4_seq_use_inc(opl4); in snd_opl4_seq_use()
[all …]
Dopl4_synth.c273 void snd_opl4_synth_reset(struct snd_opl4 *opl4) in snd_opl4_synth_reset() argument
278 spin_lock_irqsave(&opl4->reg_lock, flags); in snd_opl4_synth_reset()
280 snd_opl4_write(opl4, OPL4_REG_MISC + i, OPL4_DAMP_BIT); in snd_opl4_synth_reset()
281 spin_unlock_irqrestore(&opl4->reg_lock, flags); in snd_opl4_synth_reset()
283 INIT_LIST_HEAD(&opl4->off_voices); in snd_opl4_synth_reset()
284 INIT_LIST_HEAD(&opl4->on_voices); in snd_opl4_synth_reset()
285 memset(opl4->voices, 0, sizeof(opl4->voices)); in snd_opl4_synth_reset()
287 opl4->voices[i].number = i; in snd_opl4_synth_reset()
288 list_add_tail(&opl4->voices[i].list, &opl4->off_voices); in snd_opl4_synth_reset()
291 snd_midi_channel_set_clear(opl4->chset); in snd_opl4_synth_reset()
[all …]
Dopl4_proc.c15 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_open() local
17 mutex_lock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
18 if (opl4->memory_access) { in snd_opl4_mem_proc_open()
19 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
22 opl4->memory_access++; in snd_opl4_mem_proc_open()
23 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
30 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_release() local
32 mutex_lock(&opl4->access_mutex); in snd_opl4_mem_proc_release()
33 opl4->memory_access--; in snd_opl4_mem_proc_release()
34 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_release()
[all …]
Dopl4_mixer.c21 struct snd_opl4 *opl4 = snd_kcontrol_chip(kcontrol); in snd_opl4_ctl_get() local
26 spin_lock_irqsave(&opl4->reg_lock, flags); in snd_opl4_ctl_get()
27 value = snd_opl4_read(opl4, reg); in snd_opl4_ctl_get()
28 spin_unlock_irqrestore(&opl4->reg_lock, flags); in snd_opl4_ctl_get()
36 struct snd_opl4 *opl4 = snd_kcontrol_chip(kcontrol); in snd_opl4_ctl_put() local
43 spin_lock_irqsave(&opl4->reg_lock, flags); in snd_opl4_ctl_put()
44 old_value = snd_opl4_read(opl4, reg); in snd_opl4_ctl_put()
45 snd_opl4_write(opl4, reg, value); in snd_opl4_ctl_put()
46 spin_unlock_irqrestore(&opl4->reg_lock, flags); in snd_opl4_ctl_put()
69 int snd_opl4_create_mixer(struct snd_opl4 *opl4) in snd_opl4_create_mixer() argument
[all …]
Dopl4_local.h202 void snd_opl4_write(struct snd_opl4 *opl4, u8 reg, u8 value);
203 u8 snd_opl4_read(struct snd_opl4 *opl4, u8 reg);
204 void snd_opl4_read_memory(struct snd_opl4 *opl4, char *buf, int offset, int size);
205 void snd_opl4_write_memory(struct snd_opl4 *opl4, const char *buf, int offset, int size);
208 int snd_opl4_create_mixer(struct snd_opl4 *opl4);
212 int snd_opl4_create_proc(struct snd_opl4 *opl4);
213 void snd_opl4_free_proc(struct snd_opl4 *opl4);
215 static inline int snd_opl4_create_proc(struct snd_opl4 *opl4) { return 0; } in snd_opl4_create_proc() argument
216 static inline void snd_opl4_free_proc(struct snd_opl4 *opl4) {} in snd_opl4_free_proc() argument
223 void snd_opl4_synth_reset(struct snd_opl4 *opl4);
[all …]
DMakefile7 snd-opl4-lib-objs := opl4_lib.o opl4_mixer.o
8 snd-opl4-lib-$(CONFIG_SND_PROC_FS) += opl4_proc.o
9 snd-opl4-synth-objs := opl4_seq.o opl4_synth.o yrw801.o
11 obj-$(CONFIG_SND_OPL4_LIB) += snd-opl4-lib.o
12 obj-$(CONFIG_SND_OPL4_LIB_SEQ) += snd-opl4-synth.o
Dyrw801.c36 int snd_yrw801_detect(struct snd_opl4 *opl4) in snd_yrw801_detect() argument
40 snd_opl4_read_memory(opl4, buf, 0x001200, 15); in snd_yrw801_detect()
43 snd_opl4_read_memory(opl4, buf, 0x1ffffe, 2); in snd_yrw801_detect()
/sound/drivers/
DMakefile26 obj-$(CONFIG_SND) += opl3/ opl4/ mpu401/ vx/ pcsp/
/sound/isa/opti9xx/
Dopti92x-ad1848.c889 struct snd_opl4 *opl4; local
894 2, &opl3, &opl4) < 0) {
Dmiro.c1364 struct snd_opl4 *opl4; in snd_miro_probe() local
1367 2, &opl3, &opl4) < 0) in snd_miro_probe()