| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | ultrasound.h | 25 * 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/ |
| D | ultrasound.h | 25 * 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/ |
| D | ultrasound.h | 25 #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/ |
| D | ultrasound.h | 38 …voice,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/ |
| D | ultrasound.h | 38 …voice,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/ |
| D | sis7019.c | 69 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/ |
| D | sis7019.c | 68 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/ |
| D | opl3_midi.c | 110 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 …]
|
| D | opl3_synth.c | 25 * 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/ |
| D | opl3_midi.c | 110 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 …]
|
| D | opl3_synth.c | 25 * 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/ |
| D | trident_main.c | 35 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/ |
| D | trident_main.c | 35 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/ |
| D | opl4_synth.c | 313 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/ |
| D | opl4_synth.c | 313 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/ |
| D | voice.c | 6 * 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/ |
| D | gus_reset.c | 39 …_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/ |
| D | gus_reset.c | 39 …_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/ |
| D | voice.c | 8 * 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 …]
|
| D | irq.c | 45 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/ |
| D | au88x0_synth.c | 56 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/ |
| D | au88x0_synth.c | 56 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/ |
| D | acpi_pnp.c | 152 {"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/ |
| D | acpi_pnp.c | 152 {"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/ |
| D | 8250_pnp.c | 40 /* 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 …]
|