Home
last modified time | relevance | path

Searched full:voice (Results 1 – 25 of 510) sorted by relevance

12345678910>>...21

/kernel/linux/linux-5.10/include/uapi/linux/
Dultrasound.h25 * byte 3 - Voice number (0-31)
30 * Each command affects one voice defined in byte 3.
34 * _GUS_VOICEON - Starts voice (P1=voice mode)
35 * _GUS_VOICEOFF - Stops voice (no parameters)
36 * _GUS_VOICEFADE - Stops the voice smoothly.
37 * _GUS_VOICEMODE - Alters the voice mode, don't start or stop voice (P1=voice mode)
38 * _GUS_VOICEBALA - Sets voice balance (P1, 0=left, 7=middle and 15=right, default 7)
39 * _GUS_VOICEFREQ - Sets voice (sample) playback frequency (P1=Hz)
40 * _GUS_VOICEVOL - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
41 * _GUS_VOICEVOL2 - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
[all …]
/kernel/linux/linux-6.6/include/uapi/linux/
Dultrasound.h25 * byte 3 - Voice number (0-31)
30 * Each command affects one voice defined in byte 3.
34 * _GUS_VOICEON - Starts voice (P1=voice mode)
35 * _GUS_VOICEOFF - Stops voice (no parameters)
36 * _GUS_VOICEFADE - Stops the voice smoothly.
37 * _GUS_VOICEMODE - Alters the voice mode, don't start or stop voice (P1=voice mode)
38 * _GUS_VOICEBALA - Sets voice balance (P1, 0=left, 7=middle and 15=right, default 7)
39 * _GUS_VOICEFREQ - Sets voice (sample) playback frequency (P1=Hz)
40 * _GUS_VOICEVOL - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
41 * _GUS_VOICEVOL2 - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
[all …]
/kernel/linux/patches/linux-4.19/prebuilts/usr/include/linux/
Dultrasound.h25 #define _GUS_CMD(chn, voice, cmd, p1, p2) \ argument
28 _seqbuf[_seqbufptr+3] = voice;\
33 #define GUS_VOICESAMPLE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICESAMPLE, (p1), 0) argument
34 #define GUS_VOICEON(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEON, (p1), 0) argument
35 #define GUS_VOICEOFF(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEOFF, 0, 0) argument
36 #define GUS_VOICEFADE(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEFADE, 0, 0) argument
37 #define GUS_VOICEMODE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEMODE, (p1), 0) argument
38 #define GUS_VOICEBALA(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEBALA, (p1), 0) argument
39 #define GUS_VOICEFREQ(chn, voice, p) _GUS_CMD(chn, voice, _GUS_VOICEFREQ, \ argument
41 #define GUS_VOICEVOL(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL, (p1), 0) argument
[all …]
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/linux/
Dultrasound.h38voice,cmd,p1,p2) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_PRIVATE; _seqbuf[_seqbufptr + 1] = (… argument
40 #define GUS_VOICESAMPLE(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICESAMPLE, (p1), 0) argument
41 #define GUS_VOICEON(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEON, (p1), 0) argument
42 #define GUS_VOICEOFF(chn,voice) _GUS_CMD(chn, voice, _GUS_VOICEOFF, 0, 0) argument
43 #define GUS_VOICEFADE(chn,voice) _GUS_CMD(chn, voice, _GUS_VOICEFADE, 0, 0) argument
44 #define GUS_VOICEMODE(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEMODE, (p1), 0) argument
45 #define GUS_VOICEBALA(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEBALA, (p1), 0) argument
46 #define GUS_VOICEFREQ(chn,voice,p) _GUS_CMD(chn, voice, _GUS_VOICEFREQ, (p) & 0xffff, ((p) >> 16) &… argument
47 #define GUS_VOICEVOL(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL, (p1), 0) argument
48 #define GUS_VOICEVOL2(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL2, (p1), 0) argument
[all …]
/kernel/linux/patches/linux-6.6/prebuilts/usr/include/linux/
Dultrasound.h38voice,cmd,p1,p2) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_PRIVATE; _seqbuf[_seqbufptr + 1] = (… argument
40 #define GUS_VOICESAMPLE(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICESAMPLE, (p1), 0) argument
41 #define GUS_VOICEON(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEON, (p1), 0) argument
42 #define GUS_VOICEOFF(chn,voice) _GUS_CMD(chn, voice, _GUS_VOICEOFF, 0, 0) argument
43 #define GUS_VOICEFADE(chn,voice) _GUS_CMD(chn, voice, _GUS_VOICEFADE, 0, 0) argument
44 #define GUS_VOICEMODE(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEMODE, (p1), 0) argument
45 #define GUS_VOICEBALA(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEBALA, (p1), 0) argument
46 #define GUS_VOICEFREQ(chn,voice,p) _GUS_CMD(chn, voice, _GUS_VOICEFREQ, (p) & 0xffff, ((p) >> 16) &… argument
47 #define GUS_VOICEVOL(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL, (p1), 0) argument
48 #define GUS_VOICEVOL2(chn,voice,p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL2, (p1), 0) argument
[all …]
/kernel/linux/linux-5.10/sound/pci/
Dsis7019.c69 struct voice { struct
83 struct voice *timing; argument
117 /* voice_lock protects allocation/freeing of the voice descriptions
121 struct voice voices[64];
122 struct voice capture_voice;
192 static void sis_update_sso(struct voice *voice, u16 period) in sis_update_sso() argument
194 void __iomem *base = voice->ctrl_base; in sis_update_sso()
196 voice->sso += period; in sis_update_sso()
197 if (voice->sso >= voice->buffer_size) in sis_update_sso()
198 voice->sso -= voice->buffer_size; in sis_update_sso()
[all …]
/kernel/linux/linux-6.6/sound/pci/
Dsis7019.c68 struct voice { struct
82 struct voice *timing; argument
116 /* voice_lock protects allocation/freeing of the voice descriptions
120 struct voice voices[64];
121 struct voice capture_voice;
191 static void sis_update_sso(struct voice *voice, u16 period) in sis_update_sso() argument
193 void __iomem *base = voice->ctrl_base; in sis_update_sso()
195 voice->sso += period; in sis_update_sso()
196 if (voice->sso >= voice->buffer_size) in sis_update_sso()
197 voice->sso -= voice->buffer_size; in sis_update_sso()
[all …]
/kernel/linux/linux-6.6/sound/drivers/opl3/
Dopl3_midi.c110 static void debug_alloc(struct snd_opl3 *opl3, char *s, int voice) { in debug_alloc() argument
114 printk(KERN_DEBUG "time %.5i: %s [%.2i]: ", opl3->use_time, s, voice); in debug_alloc()
122 * Get a FM voice (channel) to play a note on.
126 int chan_4op_1; /* first voice for 4op instrument */ in opl3_get_voice()
127 int chan_4op_2; /* second voice for 4op instrument */ in opl3_get_voice()
145 int voice; in opl3_get_voice() member
151 best[i].voice = -1; in opl3_get_voice()
169 /* allocate 4op voice */ in opl3_get_voice()
175 /* kill one voice, CHEAP */ in opl3_get_voice()
186 /* allocate 2op voice */ in opl3_get_voice()
[all …]
Dopl3_synth.c25 * with another voice to a 4 OP voice. For example voice 0
26 * can be connected with voice 3. The operators of voice 3 are
27 * used as operators 3 and 4 of the new 4 OP voice.
28 * In this case the 2 OP voice number 0 is the 'first half' and
29 * voice 3 is the second.
61 static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice);
126 struct snd_dm_fm_voice voice; in snd_opl3_ioctl() local
127 if (copy_from_user(&voice, argp, sizeof(struct snd_dm_fm_voice))) in snd_opl3_ioctl()
129 return snd_opl3_set_voice(opl3, &voice); in snd_opl3_ioctl()
361 /* Get register array side and offset of voice */ in snd_opl3_reset()
[all …]
/kernel/linux/linux-5.10/sound/drivers/opl3/
Dopl3_midi.c110 static void debug_alloc(struct snd_opl3 *opl3, char *s, int voice) { in debug_alloc() argument
114 printk(KERN_DEBUG "time %.5i: %s [%.2i]: ", opl3->use_time, s, voice); in debug_alloc()
122 * Get a FM voice (channel) to play a note on.
126 int chan_4op_1; /* first voice for 4op instrument */ in opl3_get_voice()
127 int chan_4op_2; /* second voice for 4op instrument */ in opl3_get_voice()
145 int voice; in opl3_get_voice() member
151 best[i].voice = -1; in opl3_get_voice()
169 /* allocate 4op voice */ in opl3_get_voice()
175 /* kill one voice, CHEAP */ in opl3_get_voice()
187 /* allocate 2op voice */ in opl3_get_voice()
[all …]
Dopl3_synth.c25 * with another voice to a 4 OP voice. For example voice 0
26 * can be connected with voice 3. The operators of voice 3 are
27 * used as operators 3 and 4 of the new 4 OP voice.
28 * In this case the 2 OP voice number 0 is the 'first half' and
29 * voice 3 is the second.
61 static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice);
126 struct snd_dm_fm_voice voice; in snd_opl3_ioctl() local
127 if (copy_from_user(&voice, argp, sizeof(struct snd_dm_fm_voice))) in snd_opl3_ioctl()
129 return snd_opl3_set_voice(opl3, &voice); in snd_opl3_ioctl()
361 /* Get register array side and offset of voice */ in snd_opl3_reset()
[all …]
/kernel/linux/linux-5.10/sound/pci/trident/
Dtrident_main.c35 struct snd_trident_voice * voice,
38 struct snd_trident_voice * voice,
53 static void snd_trident_print_voice_regs(struct snd_trident *trident, int voice)
57 dev_dbg(trident->card->dev, "Trident voice %i:\n", voice);
58 outb(voice, TRID_REG(trident, T4D_LFO_GC_CIR));
274 void snd_trident_start_voice(struct snd_trident * trident, unsigned int voice)
276 Description: Start a voice, any channel 0 thru 63.
280 Parameters : voice - Voice number 0 thru n.
287 void snd_trident_start_voice(struct snd_trident * trident, unsigned int voice) in snd_trident_start_voice() argument
289 unsigned int mask = 1 << (voice & 0x1f); in snd_trident_start_voice()
[all …]
/kernel/linux/linux-6.6/sound/pci/trident/
Dtrident_main.c35 struct snd_trident_voice * voice,
38 struct snd_trident_voice * voice,
53 static void snd_trident_print_voice_regs(struct snd_trident *trident, int voice)
57 dev_dbg(trident->card->dev, "Trident voice %i:\n", voice);
58 outb(voice, TRID_REG(trident, T4D_LFO_GC_CIR));
274 void snd_trident_start_voice(struct snd_trident * trident, unsigned int voice)
276 Description: Start a voice, any channel 0 thru 63.
280 Parameters : voice - Voice number 0 thru n.
287 void snd_trident_start_voice(struct snd_trident * trident, unsigned int voice) in snd_trident_start_voice() argument
289 unsigned int mask = 1 << (voice & 0x1f); in snd_trident_start_voice()
[all …]
/kernel/linux/linux-5.10/sound/drivers/opl4/
Dopl4_synth.c313 void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) in snd_opl4_do_for_note() argument
317 struct opl4_voice *voice; in snd_opl4_do_for_note() local
321 voice = &opl4->voices[i]; in snd_opl4_do_for_note()
322 if (voice->chan == chan && voice->note == note) { in snd_opl4_do_for_note()
323 func(opl4, voice); in snd_opl4_do_for_note()
334 void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) in snd_opl4_do_for_channel() argument
338 struct opl4_voice *voice; in snd_opl4_do_for_channel() local
342 voice = &opl4->voices[i]; in snd_opl4_do_for_channel()
343 if (voice->chan == chan) { in snd_opl4_do_for_channel()
344 func(opl4, voice); in snd_opl4_do_for_channel()
[all …]
/kernel/linux/linux-6.6/sound/drivers/opl4/
Dopl4_synth.c313 void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) in snd_opl4_do_for_note() argument
317 struct opl4_voice *voice; in snd_opl4_do_for_note() local
321 voice = &opl4->voices[i]; in snd_opl4_do_for_note()
322 if (voice->chan == chan && voice->note == note) { in snd_opl4_do_for_note()
323 func(opl4, voice); in snd_opl4_do_for_note()
334 void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) in snd_opl4_do_for_channel() argument
338 struct opl4_voice *voice; in snd_opl4_do_for_channel() local
342 voice = &opl4->voices[i]; in snd_opl4_do_for_channel()
343 if (voice->chan == chan) { in snd_opl4_do_for_channel()
344 func(opl4, voice); in snd_opl4_do_for_channel()
[all …]
/kernel/linux/linux-5.10/sound/pci/emu10k1/
Dvoice.c6 * Routines for control of EMU10K1 chips - voice manager
8 * Rewrote voice allocator for multichannel support - rlrevell 12/2004
22 /* Previously the voice allocator started at 0 every time. The new voice
23 * allocator uses a round robin scheme. The next free voice is tracked in
26 * boundary. For multichannel voice allocation we ensure than the block of
27 * voices does not cross the 32 voice boundary. This simplifies the
37 struct snd_emu10k1_voice *voice; in voice_alloc() local
57 voice = &emu->voices[(i+k) % NUM_G]; in voice_alloc()
58 if (voice->use) { in voice_alloc()
64 /* dev_dbg(emu->card->dev, "allocated voice %d\n", i); */ in voice_alloc()
[all …]
/kernel/linux/linux-5.10/sound/isa/gus/
Dgus_reset.c39 …_default_interrupt_handler_wave_and_volume(struct snd_gus_card * gus, struct snd_gus_voice * voice) in snd_gf1_default_interrupt_handler_wave_and_volume() argument
66 struct snd_gus_voice *voice; in snd_gf1_set_default_handlers() local
68 voice = &gus->gf1.voices[what & 0xffff]; in snd_gf1_set_default_handlers()
69 voice->handler_wave = in snd_gf1_set_default_handlers()
70 voice->handler_volume = snd_gf1_default_interrupt_handler_wave_and_volume; in snd_gf1_set_default_handlers()
71 voice->handler_effect = NULL; in snd_gf1_set_default_handlers()
72 voice->volume_change = NULL; in snd_gf1_set_default_handlers()
112 void snd_gf1_smart_stop_voice(struct snd_gus_card * gus, unsigned short voice) in snd_gf1_smart_stop_voice() argument
117 snd_gf1_select_voice(gus, voice); in snd_gf1_smart_stop_voice()
119 …printk(KERN_DEBUG " -%i- smart stop voice - volume = 0x%x\n", voice, snd_gf1_i_read16(gus, SNDRV_G… in snd_gf1_smart_stop_voice()
[all …]
/kernel/linux/linux-6.6/sound/isa/gus/
Dgus_reset.c39 …_default_interrupt_handler_wave_and_volume(struct snd_gus_card * gus, struct snd_gus_voice * voice) in snd_gf1_default_interrupt_handler_wave_and_volume() argument
66 struct snd_gus_voice *voice; in snd_gf1_set_default_handlers() local
68 voice = &gus->gf1.voices[what & 0xffff]; in snd_gf1_set_default_handlers()
69 voice->handler_wave = in snd_gf1_set_default_handlers()
70 voice->handler_volume = snd_gf1_default_interrupt_handler_wave_and_volume; in snd_gf1_set_default_handlers()
71 voice->handler_effect = NULL; in snd_gf1_set_default_handlers()
72 voice->volume_change = NULL; in snd_gf1_set_default_handlers()
112 void snd_gf1_smart_stop_voice(struct snd_gus_card * gus, unsigned short voice) in snd_gf1_smart_stop_voice() argument
117 snd_gf1_select_voice(gus, voice); in snd_gf1_smart_stop_voice()
119 …printk(KERN_DEBUG " -%i- smart stop voice - volume = 0x%x\n", voice, snd_gf1_i_read16(gus, SNDRV_G… in snd_gf1_smart_stop_voice()
[all …]
/kernel/linux/linux-6.6/sound/pci/emu10k1/
Dvoice.c8 * Routines for control of EMU10K1 chips - voice manager
16 /* Previously the voice allocator started at 0 every time. The new voice
17 * allocator uses a round robin scheme. The next free voice is tracked in
27 struct snd_emu10k1_voice *voice; in voice_alloc() local
43 voice = &emu->voices[i + k]; in voice_alloc()
44 if (voice->use) { in voice_alloc()
51 voice = &emu->voices[i + k]; in voice_alloc()
52 voice->use = type; in voice_alloc()
53 voice->epcm = epcm; in voice_alloc()
54 /* dev_dbg(emu->card->dev, "allocated voice %d\n", i + k); */ in voice_alloc()
[all …]
Dirq.c45 int voice; in snd_emu10k1_interrupt() local
51 for (voice = 0; voice <= voice_max; voice++) { in snd_emu10k1_interrupt()
52 if (voice == 0x20) in snd_emu10k1_interrupt()
57 snd_emu10k1_voice_intr_ack(emu, voice); in snd_emu10k1_interrupt()
59 snd_emu10k1_voice_intr_disable(emu, voice); in snd_emu10k1_interrupt()
67 for (voice = 0; voice <= voice_max; voice++) { in snd_emu10k1_interrupt()
68 if (voice == 0x20) in snd_emu10k1_interrupt()
73 snd_emu10k1_voice_half_loop_intr_ack(emu, voice); in snd_emu10k1_interrupt()
75 snd_emu10k1_voice_half_loop_intr_disable(emu, voice); in snd_emu10k1_interrupt()
/kernel/linux/linux-6.6/sound/pci/au88x0/
Dau88x0_synth.c56 wt_voice_t *voice = &(vortex->wt_voice[wt]); in vortex_wt_allocroute() local
95 voice->parm0 = voice->parm1 = 0xcfb23e2f; in vortex_wt_allocroute()
96 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0); in vortex_wt_allocroute()
97 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1); in vortex_wt_allocroute()
197 "WT SetReg: voice out of range\n"); in vortex_wt_SetReg()
205 /* Voice specific parameters */ in vortex_wt_SetReg()
310 /* Init Voice registers. */ in vortex_wt_init()
327 wt_voice_t *voice = &(vortex->wt_voice[wt]);
331 voice->parm0 &= 0xff00ffff;
332 voice->parm0 |= (vol[0] & 0xff) << 0x10;
[all …]
/kernel/linux/linux-5.10/sound/pci/au88x0/
Dau88x0_synth.c56 wt_voice_t *voice = &(vortex->wt_voice[wt]); in vortex_wt_allocroute() local
95 voice->parm0 = voice->parm1 = 0xcfb23e2f; in vortex_wt_allocroute()
96 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0); in vortex_wt_allocroute()
97 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1); in vortex_wt_allocroute()
197 "WT SetReg: voice out of range\n"); in vortex_wt_SetReg()
205 /* Voice specific parameters */ in vortex_wt_SetReg()
310 /* Init Voice registers. */ in vortex_wt_init()
327 wt_voice_t *voice = &(vortex->wt_voice[wt]);
331 voice->parm0 &= 0xff00ffff;
332 voice->parm0 |= (vol[0] & 0xff) << 0x10;
[all …]
/kernel/linux/linux-5.10/drivers/acpi/
Dacpi_pnp.c152 {"AKY1021"}, /* Rockwell 56K ACF II Fax+Data+Voice Modem */
162 {"CTL3001"}, /* Creative Labs Phone Blaster 28.8 DSVD PnP Voice */
163 {"CTL3011"}, /* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
171 {"FUJ0209"}, /* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
173 {"GVC0303"}, /* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
174 {"HAY0001"}, /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
175 {"HAY000C"}, /* Hayes Optima 336 V.34 + FAX + Voice PnP */
176 {"HAY000D"}, /* Hayes Optima 336B V.34 + FAX + Voice PnP */
181 {"HAYF001"}, /* Hayes Optima 288 V.34 + FAX + Voice, Plug & Play */
182 {"IBM0033"}, /* IBM Thinkpad 701 Internal Modem Voice */
[all …]
/kernel/linux/linux-6.6/drivers/acpi/
Dacpi_pnp.c152 {"AKY1021"}, /* Rockwell 56K ACF II Fax+Data+Voice Modem */
160 {"CTL3001"}, /* Creative Labs Phone Blaster 28.8 DSVD PnP Voice */
161 {"CTL3011"}, /* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
169 {"FUJ0209"}, /* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
171 {"GVC0303"}, /* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
172 {"HAY0001"}, /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
173 {"HAY000C"}, /* Hayes Optima 336 V.34 + FAX + Voice PnP */
174 {"HAY000D"}, /* Hayes Optima 336B V.34 + FAX + Voice PnP */
179 {"HAYF001"}, /* Hayes Optima 288 V.34 + FAX + Voice, Plug & Play */
180 {"IBM0033"}, /* IBM Thinkpad 701 Internal Modem Voice */
[all …]
/kernel/linux/linux-5.10/drivers/tty/serial/8250/
D8250_pnp.c40 /* Rockwell 56K ACF II Fax+Data+Voice Modem */
67 /* Creative Labs Phone Blaster 28.8 DSVD PnP Voice */
69 /* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
88 /* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
93 /* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
96 /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
98 /* Hayes Optima 336 V.34 + FAX + Voice PnP */
100 /* Hayes Optima 336B V.34 + FAX + Voice PnP */
110 /* Hayes Optima 288 V.34 + FAX + Voice, Plug & Play */
113 /* IBM Thinkpad 701 Internal Modem Voice */
[all …]

12345678910>>...21