Home
last modified time | relevance | path

Searched full:midi (Results 1 – 25 of 522) sorted by relevance

12345678910>>...21

/kernel/linux/linux-5.10/sound/pci/ca0106/
Dca_midi.c4 * Creative Audio MIDI, for the CA0106 Driver
20 #define ca_midi_write_data(midi, data) midi->write(midi, data, 0) argument
21 #define ca_midi_write_cmd(midi, data) midi->write(midi, data, 1) argument
22 #define ca_midi_read_data(midi) midi->read(midi, 0) argument
23 #define ca_midi_read_stat(midi) midi->read(midi, 1) argument
24 #define ca_midi_input_avail(midi) (!(ca_midi_read_stat(midi) & midi->input_avail)) argument
25 #define ca_midi_output_ready(midi) (!(ca_midi_read_stat(midi) & midi->output_ready)) argument
27 static void ca_midi_clear_rx(struct snd_ca_midi *midi) in ca_midi_clear_rx() argument
30 for (; timeout > 0 && ca_midi_input_avail(midi); timeout--) in ca_midi_clear_rx()
31 ca_midi_read_data(midi); in ca_midi_clear_rx()
[all …]
/kernel/linux/linux-6.6/sound/pci/ca0106/
Dca_midi.c4 * Creative Audio MIDI, for the CA0106 Driver
20 #define ca_midi_write_data(midi, data) midi->write(midi, data, 0) argument
21 #define ca_midi_write_cmd(midi, data) midi->write(midi, data, 1) argument
22 #define ca_midi_read_data(midi) midi->read(midi, 0) argument
23 #define ca_midi_read_stat(midi) midi->read(midi, 1) argument
24 #define ca_midi_input_avail(midi) (!(ca_midi_read_stat(midi) & midi->input_avail)) argument
25 #define ca_midi_output_ready(midi) (!(ca_midi_read_stat(midi) & midi->output_ready)) argument
27 static void ca_midi_clear_rx(struct snd_ca_midi *midi) in ca_midi_clear_rx() argument
30 for (; timeout > 0 && ca_midi_input_avail(midi); timeout--) in ca_midi_clear_rx()
31 ca_midi_read_data(midi); in ca_midi_clear_rx()
[all …]
/kernel/linux/linux-6.6/sound/isa/wavefront/
Dwavefront_midi.c6 /* The low level driver for the WaveFront ICS2115 MIDI interface(s)
14 * "Virtual MIDI" mode. In this mode, there are effectively *two*
15 * MIDI buses accessible via the interface, one that is routed
18 * MIDI devices to the board.
20 * This driver fully supports this mode, allowing two distinct MIDI
22 * MIDI routing, 16 to the WaveFront synth and 16 to the external MIDI
29 * using the two otherwise unused MIDI bytes. See the code for more details.
31 * NOTE: VIRTUAL MIDI MODE IS ON BY DEFAULT (see lowlevel/isa/wavefront.c)
33 * The main reason to turn off Virtual MIDI mode is when you want to
34 * tightly couple the WaveFront synth with an external MIDI
[all …]
/kernel/linux/linux-6.6/sound/pci/emu10k1/
Demumpu401.c62 static void do_emu10k1_midi_interrupt(struct snd_emu10k1 *emu, struct snd_emu10k1_midi *midi, unsig… in do_emu10k1_midi_interrupt() argument
66 if (midi->rmidi == NULL) { in do_emu10k1_midi_interrupt()
67 snd_emu10k1_intr_disable(emu, midi->tx_enable | midi->rx_enable); in do_emu10k1_midi_interrupt()
71 spin_lock(&midi->input_lock); in do_emu10k1_midi_interrupt()
72 if ((status & midi->ipr_rx) && mpu401_input_avail(emu, midi)) { in do_emu10k1_midi_interrupt()
73 if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { in do_emu10k1_midi_interrupt()
74 mpu401_clear_rx(emu, midi); in do_emu10k1_midi_interrupt()
76 byte = mpu401_read_data(emu, midi); in do_emu10k1_midi_interrupt()
77 if (midi->substream_input) in do_emu10k1_midi_interrupt()
78 snd_rawmidi_receive(midi->substream_input, &byte, 1); in do_emu10k1_midi_interrupt()
[all …]
Demu10k1x.c62 #define IPR_MIDITRANSBUFEMPTY 0x00000001 /* MIDI UART transmit buffer empty */
63 #define IPR_MIDIRECVBUFEMPTY 0x00000002 /* MIDI UART receive buffer empty */
70 #define INTE_MIDITXENABLE 0x00000001 /* Enable MIDI transmit-buffer-empty interrupts */
71 #define INTE_MIDIRXENABLE 0x00000002 /* Enable MIDI receive-buffer-empty interrupts */
237 struct emu10k1x_midi midi; member
788 if (chip->midi.interrupt) in snd_emu10k1x_interrupt()
789 chip->midi.interrupt(chip, status); in snd_emu10k1x_interrupt()
1199 struct emu10k1x_midi *midi, unsigned int status) in do_emu10k1x_midi_interrupt() argument
1203 if (midi->rmidi == NULL) { in do_emu10k1x_midi_interrupt()
1204 snd_emu10k1x_intr_disable(emu, midi->tx_enable | midi->rx_enable); in do_emu10k1x_midi_interrupt()
[all …]
/kernel/linux/linux-5.10/sound/pci/emu10k1/
Demumpu401.c62 static void do_emu10k1_midi_interrupt(struct snd_emu10k1 *emu, struct snd_emu10k1_midi *midi, unsig… in do_emu10k1_midi_interrupt() argument
66 if (midi->rmidi == NULL) { in do_emu10k1_midi_interrupt()
67 snd_emu10k1_intr_disable(emu, midi->tx_enable | midi->rx_enable); in do_emu10k1_midi_interrupt()
71 spin_lock(&midi->input_lock); in do_emu10k1_midi_interrupt()
72 if ((status & midi->ipr_rx) && mpu401_input_avail(emu, midi)) { in do_emu10k1_midi_interrupt()
73 if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { in do_emu10k1_midi_interrupt()
74 mpu401_clear_rx(emu, midi); in do_emu10k1_midi_interrupt()
76 byte = mpu401_read_data(emu, midi); in do_emu10k1_midi_interrupt()
77 if (midi->substream_input) in do_emu10k1_midi_interrupt()
78 snd_rawmidi_receive(midi->substream_input, &byte, 1); in do_emu10k1_midi_interrupt()
[all …]
Demu10k1x.c63 #define IPR_MIDITRANSBUFEMPTY 0x00000001 /* MIDI UART transmit buffer empty */
64 #define IPR_MIDIRECVBUFEMPTY 0x00000002 /* MIDI UART receive buffer empty */
71 #define INTE_MIDITXENABLE 0x00000001 /* Enable MIDI transmit-buffer-empty interrupts */
72 #define INTE_MIDIRXENABLE 0x00000002 /* Enable MIDI receive-buffer-empty interrupts */
239 struct emu10k1x_midi midi; member
807 if (chip->midi.interrupt) in snd_emu10k1x_interrupt()
808 chip->midi.interrupt(chip, status); in snd_emu10k1x_interrupt()
1234 struct emu10k1x_midi *midi, unsigned int status) in do_emu10k1x_midi_interrupt() argument
1238 if (midi->rmidi == NULL) { in do_emu10k1x_midi_interrupt()
1239 snd_emu10k1x_intr_disable(emu, midi->tx_enable | midi->rx_enable); in do_emu10k1x_midi_interrupt()
[all …]
/kernel/linux/linux-5.10/sound/isa/wavefront/
Dwavefront_midi.c6 /* The low level driver for the WaveFront ICS2115 MIDI interface(s)
14 * "Virtual MIDI" mode. In this mode, there are effectively *two*
15 * MIDI buses accessible via the interface, one that is routed
18 * MIDI devices to the board.
20 * This driver fully supports this mode, allowing two distinct MIDI
22 * MIDI routing, 16 to the WaveFront synth and 16 to the external MIDI
29 * using the two otherwise unused MIDI bytes. See the code for more details.
31 * NOTE: VIRTUAL MIDI MODE IS ON BY DEFAULT (see lowlevel/isa/wavefront.c)
33 * The main reason to turn off Virtual MIDI mode is when you want to
34 * tightly couple the WaveFront synth with an external MIDI
[all …]
/kernel/linux/linux-5.10/drivers/usb/gadget/function/
Df_midi.c3 * f_midi.c -- USB MIDI class function driver
16 * and drivers/usb/gadget/midi.c,
35 #include <linux/usb/midi.h>
44 static const char f_midi_longname[] = "MIDI Gadget";
53 /* MIDI message states */
110 static void f_midi_transmit(struct f_midi *midi);
213 [STRING_FUNC_IDX].s = "MIDI function",
238 * Receives a chunk of MIDI data.
243 struct f_midi *midi = ep->driver_data; in f_midi_read_data() local
244 struct snd_rawmidi_substream *substream = midi->out_substream[cable]; in f_midi_read_data()
[all …]
/kernel/linux/linux-6.6/drivers/usb/gadget/function/
Df_midi.c3 * f_midi.c -- USB MIDI class function driver
16 * and drivers/usb/gadget/midi.c,
35 #include <linux/usb/midi.h>
44 static const char f_midi_longname[] = "MIDI Gadget";
53 /* MIDI message states */
110 static void f_midi_transmit(struct f_midi *midi);
213 [STRING_FUNC_IDX].s = "MIDI function",
238 * Receives a chunk of MIDI data.
243 struct f_midi *midi = ep->driver_data; in f_midi_read_data() local
244 struct snd_rawmidi_substream *substream = midi->out_substream[cable]; in f_midi_read_data()
[all …]
/kernel/linux/linux-6.6/Documentation/sound/designs/
Dmidi-2.0.rst2 MIDI 2.0 on Linux
8 MIDI 2.0 is an extended protocol for providing higher resolutions and
9 more fine controls over the legacy MIDI 1.0. The fundamental changes
10 introduced for supporting MIDI 2.0 are:
12 - Support of Universal MIDI Packet (UMP)
13 - Support of MIDI 2.0 protocol messages
14 - Transparent conversions between UMP and legacy MIDI 1.0 byte stream
15 - MIDI-CI for property and profile configurations
17 UMP is a new container format to hold all MIDI protocol 1.0 and MIDI
21 16 MIDI channels.
[all …]
Dseq-oss.rst22 * Normal sequencer and MIDI events:
53 However, each MIDI device is exclusive - that is, if a MIDI device
81 At beginning, this module probes all the MIDI ports which have been
85 The available synth and MIDI devices can be found in proc interface.
101 Number of MIDI devices: 3
102 midi 0: [Emu8000 Port-0] ALSA port 65:0
105 midi 1: [Emu8000 Port-1] ALSA port 65:1
108 midi 2: [0: MPU-401 (UART)] ALSA port 64:0
127 Using MIDI Devices
130 So far, only MIDI output was tested. MIDI input was not checked at all,
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/
Dserial-midi.yaml5 $id: http://devicetree.org/schemas/sound/serial-midi.yaml#
8 title: Generic Serial MIDI Interface
14 Generic MIDI interface using a serial device. This denotes that a serial device is
15 dedicated to MIDI communication, either to an external MIDI device through a DIN5
16 or other connector, or to a known hardwired MIDI controller. This device must be a
20 parent serial device. If the standard MIDI baud of 31.25 kBaud is needed
21 (as would be the case if interfacing with arbitrary external MIDI devices),
23 results in the standard MIDI baud rate, and set the 'current-speed' property to 38400 (default)
27 const: serial-midi
30 description: Baudrate to set the serial port to when this MIDI device is opened.
[all …]
/kernel/linux/linux-6.6/include/linux/usb/
Dmidi-v2.h3 * <linux/usb/midi-v2.h> -- USB MIDI 2.0 definitions.
10 #include <linux/usb/midi.h>
16 /* same as MIDI 1.0 */
30 /* A.5 MS MIDI IN and OUT Jack Types */
31 /* same as MIDI 1.0 */
38 /* A.7 Group Terminal Default MIDI Protocol */
39 #define USB_MS_MIDI_PROTO_UNKNOWN 0x00 /* Unknown (Use MIDI-CI) */
40 #define USB_MS_MIDI_PROTO_1_0_64 0x01 /* MIDI 1.0, UMP up to 64bits */
41 #define USB_MS_MIDI_PROTO_1_0_64_JRTS 0x02 /* MIDI 1.0, UMP up to 64bits, Jitter Reduction Timestam…
42 #define USB_MS_MIDI_PROTO_1_0_128 0x03 /* MIDI 1.0, UMP up to 128bits */
[all …]
/kernel/linux/linux-5.10/Documentation/sound/cards/
Dserial-u16550.rst2 Serial UART 16450/16550 MIDI driver
16 In Roland Soundcanvas mode, multiple ALSA raw MIDI substreams are supported
18 sends the nonstandard MIDI command sequence F5 NN, where NN is the substream
20 "parts", so this feature lets you treat each part as a distinct raw MIDI
30 Usage example for Roland SoundCanvas with 4 MIDI ports:
36 In MS-124T mode, one raw MIDI substream is supported (midiCnD0); the outs
38 all four MIDI Out connectors. Set the A-B switch and the speed module
48 In MS-124W S/A mode, one raw MIDI substream is supported (midiCnD0);
50 the same data to all four MIDI Out connectors at full MIDI speed.
58 In MS-124W M/B mode, the driver supports 16 ALSA raw MIDI substreams;
[all …]
/kernel/linux/linux-6.6/Documentation/sound/cards/
Dserial-u16550.rst2 Serial UART 16450/16550 MIDI driver
16 In Roland Soundcanvas mode, multiple ALSA raw MIDI substreams are supported
18 sends the nonstandard MIDI command sequence F5 NN, where NN is the substream
20 "parts", so this feature lets you treat each part as a distinct raw MIDI
30 Usage example for Roland SoundCanvas with 4 MIDI ports:
36 In MS-124T mode, one raw MIDI substream is supported (midiCnD0); the outs
38 all four MIDI Out connectors. Set the A-B switch and the speed module
48 In MS-124W S/A mode, one raw MIDI substream is supported (midiCnD0);
50 the same data to all four MIDI Out connectors at full MIDI speed.
58 In MS-124W M/B mode, the driver supports 16 ALSA raw MIDI substreams;
[all …]
/kernel/linux/linux-5.10/drivers/usb/gadget/legacy/
Dgmidi.c3 * gmidi.c -- USB MIDI Gadget Driver
13 * USB MIDI driver, Copyright (C) 2002-2005 Clemens Ladisch.
15 * Refer to the USB Device Class Definition for MIDI Devices:
36 static const char longname[] = "MIDI Gadget";
42 MODULE_PARM_DESC(index, "Index value for the USB MIDI Gadget adapter.");
46 MODULE_PARM_DESC(id, "ID string for the USB MIDI Gadget adapter.");
50 MODULE_PARM_DESC(buflen, "MIDI buffer length");
58 MODULE_PARM_DESC(in_ports, "Number of MIDI input ports");
62 MODULE_PARM_DESC(out_ports, "Number of MIDI output ports");
70 #define DRIVER_PRODUCT_NUM 0x0004 /* Linux-USB "MIDI Gadget" */
[all …]
/kernel/linux/linux-6.6/drivers/usb/gadget/legacy/
Dgmidi.c3 * gmidi.c -- USB MIDI Gadget Driver
13 * USB MIDI driver, Copyright (C) 2002-2005 Clemens Ladisch.
15 * Refer to the USB Device Class Definition for MIDI Devices:
36 static const char longname[] = "MIDI Gadget";
42 MODULE_PARM_DESC(index, "Index value for the USB MIDI Gadget adapter.");
46 MODULE_PARM_DESC(id, "ID string for the USB MIDI Gadget adapter.");
50 MODULE_PARM_DESC(buflen, "MIDI buffer length");
58 MODULE_PARM_DESC(in_ports, "Number of MIDI input ports");
62 MODULE_PARM_DESC(out_ports, "Number of MIDI output ports");
70 #define DRIVER_PRODUCT_NUM 0x0004 /* Linux-USB "MIDI Gadget" */
[all …]
/kernel/linux/linux-5.10/sound/firewire/
Damdtp-am824.h21 * AMDTP packet can include channels for MIDI conformant data.
22 * Each MIDI conformant data channel includes 8 MPX-MIDI data stream.
23 * Each MPX-MIDI data stream includes one data stream from/to MIDI ports.
25 * This module supports maximum 1 MIDI conformant data channels.
26 * Then this AMDTP packets can transfer maximum 8 MIDI data streams.
45 struct snd_rawmidi_substream *midi);
Damdtp-am824.c19 * Nominally 3125 bytes/second, but the MIDI port's clock might be
26 * In any case, this is more than enough for the MIDI data rate.
31 struct snd_rawmidi_substream *midi[AM824_MAX_CHANNELS_FOR_MIDI * 8]; member
49 * @midi_ports: the number of MIDI ports (i.e., MPX-MIDI Data Channels)
101 /* init the position map for PCM and MIDI channels */ in amdtp_am824_set_parameters()
107 * We do not know the actual MIDI FIFO size of most devices. Just in amdtp_am824_set_parameters()
109 * the previous one is transmitted over MIDI. in amdtp_am824_set_parameters()
136 * amdtp_am824_set_midi_position - set a index of data channel for MIDI
245 * amdtp_am824_midi_trigger - start/stop playback/capture with a MIDI device
247 * @port: index of MIDI port
[all …]
/kernel/linux/linux-6.6/sound/firewire/
Damdtp-am824.h21 * AMDTP packet can include channels for MIDI conformant data.
22 * Each MIDI conformant data channel includes 8 MPX-MIDI data stream.
23 * Each MPX-MIDI data stream includes one data stream from/to MIDI ports.
25 * This module supports maximum 1 MIDI conformant data channels.
26 * Then this AMDTP packets can transfer maximum 8 MIDI data streams.
45 struct snd_rawmidi_substream *midi);
Damdtp-am824.c19 * Nominally 3125 bytes/second, but the MIDI port's clock might be
26 * In any case, this is more than enough for the MIDI data rate.
31 struct snd_rawmidi_substream *midi[AM824_MAX_CHANNELS_FOR_MIDI * 8]; member
47 * @midi_ports: the number of MIDI ports (i.e., MPX-MIDI Data Channels)
99 /* init the position map for PCM and MIDI channels */ in amdtp_am824_set_parameters()
105 * We do not know the actual MIDI FIFO size of most devices. Just in amdtp_am824_set_parameters()
107 * the previous one is transmitted over MIDI. in amdtp_am824_set_parameters()
134 * amdtp_am824_set_midi_position - set a index of data channel for MIDI
243 * amdtp_am824_midi_trigger - start/stop playback/capture with a MIDI device
245 * @port: index of MIDI port
[all …]
/kernel/linux/linux-6.6/sound/usb/
DKconfig14 tristate "USB Audio/MIDI driver"
22 Say Y here to include support for USB audio and USB MIDI
29 bool "MIDI 2.0 support by USB Audio driver"
32 Say Y here to include the support for MIDI 2.0 by USB Audio driver.
33 When the config is set, the driver tries to probe MIDI 2.0 interface
34 at first, then falls back to MIDI 1.0 interface as default.
35 The MIDI 2.0 support can be disabled dynamically via midi2_enable
47 audio/MIDI interfaces.
59 Say Y here to include support for Tascam USB Audio/MIDI
114 Say Y here to include support for Tascam US-122L USB Audio/MIDI
[all …]
/kernel/linux/linux-5.10/Documentation/sound/designs/
Dseq-oss.rst22 * Normal sequencer and MIDI events:
53 However, each MIDI device is exclusive - that is, if a MIDI device
81 At beginning, this module probes all the MIDI ports which have been
85 The available synth and MIDI devices can be found in proc interface.
101 Number of MIDI devices: 3
102 midi 0: [Emu8000 Port-0] ALSA port 65:0
105 midi 1: [Emu8000 Port-1] ALSA port 65:1
108 midi 2: [0: MPU-401 (UART)] ALSA port 64:0
127 Using MIDI Devices
130 So far, only MIDI output was tested. MIDI input was not checked at all,
[all …]
/kernel/linux/linux-6.6/sound/drivers/
DKconfig130 tristate "Virtual MIDI soundcard"
137 Say Y here to include the virtual MIDI driver. This driver
138 allows to connect applications using raw MIDI devices to
141 If you don't know what MIDI is, say N here.
147 tristate "MOTU MidiTimePiece AV multiport MIDI"
151 To use a MOTU MidiTimePiece AV multiport MIDI adapter
163 The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with
172 tristate "UART16550 serial MIDI driver"
176 To include support for MIDI serial port interfaces, say Y here
188 tristate "Generic serial MIDI driver"
[all …]

12345678910>>...21