/linux-6.6.21/sound/pci/ca0106/ |
D | ca_midi.c | 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() 35 ca_midi_read_stat(midi)); in ca_midi_clear_rx() [all …]
|
D | ca_midi.h | 40 void (*interrupt)(struct snd_ca_midi *midi, unsigned int status); 41 void (*interrupt_enable)(struct snd_ca_midi *midi, int intr); 42 void (*interrupt_disable)(struct snd_ca_midi *midi, int intr); 44 unsigned char (*read)(struct snd_ca_midi *midi, int idx); 45 void (*write)(struct snd_ca_midi *midi, int data, int idx); 52 int ca_midi_init(void *card, struct snd_ca_midi *midi, int device, char *name);
|
D | ca0106_main.c | 1249 if (chip->midi.dev_id && in snd_ca0106_interrupt() 1250 (status & (chip->midi.ipr_tx|chip->midi.ipr_rx))) { in snd_ca0106_interrupt() 1251 if (chip->midi.interrupt) in snd_ca0106_interrupt() 1252 chip->midi.interrupt(&chip->midi, status); in snd_ca0106_interrupt() 1254 chip->midi.interrupt_disable(&chip->midi, chip->midi.tx_enable | chip->midi.rx_enable); in snd_ca0106_interrupt() 1645 static void ca0106_midi_interrupt_enable(struct snd_ca_midi *midi, int intr) in ca0106_midi_interrupt_enable() argument 1647 snd_ca0106_intr_enable((struct snd_ca0106 *)(midi->dev_id), intr); in ca0106_midi_interrupt_enable() 1650 static void ca0106_midi_interrupt_disable(struct snd_ca_midi *midi, int intr) in ca0106_midi_interrupt_disable() argument 1652 snd_ca0106_intr_disable((struct snd_ca0106 *)(midi->dev_id), intr); in ca0106_midi_interrupt_disable() 1655 static unsigned char ca0106_midi_read(struct snd_ca_midi *midi, int idx) in ca0106_midi_read() argument [all …]
|
/linux-6.6.21/sound/isa/wavefront/ |
D | wavefront_midi.c | 55 wf_mpu_status (snd_wavefront_midi_t *midi) in wf_mpu_status() argument 58 return inb (midi->mpu_status_port); in wf_mpu_status() 62 input_avail (snd_wavefront_midi_t *midi) in input_avail() argument 65 return !(wf_mpu_status(midi) & INPUT_AVAIL); in input_avail() 69 output_ready (snd_wavefront_midi_t *midi) in output_ready() argument 72 return !(wf_mpu_status(midi) & OUTPUT_READY); in output_ready() 76 read_data (snd_wavefront_midi_t *midi) in read_data() argument 79 return inb (midi->mpu_data_port); in read_data() 83 write_data (snd_wavefront_midi_t *midi, unsigned char byte) in write_data() argument 86 outb (byte, midi->mpu_data_port); in write_data() [all …]
|
/linux-6.6.21/sound/pci/emu10k1/ |
D | emumpu401.c | 62 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 …]
|
D | emu10k1x.c | 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() 1208 spin_lock(&midi->input_lock); in do_emu10k1x_midi_interrupt() 1209 if ((status & midi->ipr_rx) && mpu401_input_avail(emu, midi)) { in do_emu10k1x_midi_interrupt() 1210 if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_INPUT)) { in do_emu10k1x_midi_interrupt() 1211 mpu401_clear_rx(emu, midi); in do_emu10k1x_midi_interrupt() [all …]
|
/linux-6.6.21/drivers/usb/gadget/function/ |
D | f_midi.c | 110 static void f_midi_transmit(struct f_midi *midi); 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() 250 if (!test_bit(cable, &midi->out_triggered)) in f_midi_read_data() 272 struct f_midi *midi = ep->driver_data; in f_midi_complete() local 273 struct usb_composite_dev *cdev = midi->func.config->cdev; in f_midi_complete() 278 if (ep == midi->out_ep) { in f_midi_complete() 281 } else if (ep == midi->in_ep) { in f_midi_complete() 285 f_midi_transmit(midi); in f_midi_complete() 296 if (ep == midi->out_ep) { in f_midi_complete() [all …]
|
/linux-6.6.21/sound/core/seq/ |
D | Makefile | 12 snd-seq-midi-objs := seq_midi.o 13 snd-seq-midi-emul-objs := seq_midi_emul.o 14 snd-seq-midi-event-objs := seq_midi_event.o 23 obj-$(CONFIG_SND_SEQ_MIDI) += snd-seq-midi.o 25 obj-$(CONFIG_SND_SEQ_MIDI_EMUL) += snd-seq-midi-emul.o 26 obj-$(CONFIG_SND_SEQ_MIDI_EVENT) += snd-seq-midi-event.o
|
/linux-6.6.21/Documentation/devicetree/bindings/sound/ |
D | serial-midi.yaml | 5 $id: http://devicetree.org/schemas/sound/serial-midi.yaml# 27 const: serial-midi 41 midi { 42 compatible = "serial-midi"; 47 midi { 48 compatible = "serial-midi";
|
/linux-6.6.21/Documentation/ABI/testing/ |
D | sysfs-driver-hid-prodikeys | 6 Allows control (via software) the midi channel to which 7 that the pc-midi keyboard will output.midi data. 16 note held by the pc-midi driver. 25 Controls the octave shift modifier in the pc-midi driver.
|
/linux-6.6.21/sound/firewire/motu/ |
D | amdtp-motu.c | 37 struct snd_rawmidi_substream *midi; member 203 struct snd_rawmidi_substream *midi) in amdtp_motu_midi_trigger() argument 208 WRITE_ONCE(p->midi, midi); in amdtp_motu_midi_trigger() 215 struct snd_rawmidi_substream *midi = READ_ONCE(p->midi); in write_midi_messages() local 222 if (midi && p->midi_db_count == 0 && in write_midi_messages() 223 snd_rawmidi_transmit(midi, b + p->midi_byte_offset, 1) == 1) { in write_midi_messages() 241 struct snd_rawmidi_substream *midi; in read_midi_messages() local 247 midi = READ_ONCE(p->midi); in read_midi_messages() 249 if (midi && (b[p->midi_flag_offset] & 0x01)) in read_midi_messages() 250 snd_rawmidi_receive(midi, b + p->midi_byte_offset, 1); in read_midi_messages()
|
/linux-6.6.21/sound/firewire/ |
D | amdtp-am824.c | 31 struct snd_rawmidi_substream *midi[AM824_MAX_CHANNELS_FOR_MIDI * 8]; member 253 struct snd_rawmidi_substream *midi) in amdtp_am824_midi_trigger() argument 258 WRITE_ONCE(p->midi[port], midi); in amdtp_am824_midi_trigger() 308 p->midi[port] != NULL && in write_midi_messages() 309 snd_rawmidi_transmit(p->midi[port], &b[1], 1) == 1) { in write_midi_messages() 340 if ((1 <= len) && (len <= 3) && (p->midi[port])) in read_midi_messages() 341 snd_rawmidi_receive(p->midi[port], b + 1, len); in read_midi_messages()
|
/linux-6.6.21/sound/firewire/digi00x/ |
D | amdtp-dot.c | 47 struct snd_rawmidi_substream *midi[MAX_MIDI_PORTS]; member 263 p->midi[port] != NULL) in write_midi_messages() 264 len = snd_rawmidi_transmit(p->midi[port], b + 1, 2); in write_midi_messages() 314 if (port < MAX_MIDI_PORTS && p->midi[port]) in read_midi_messages() 315 snd_rawmidi_receive(p->midi[port], b + 1, len); in read_midi_messages() 336 struct snd_rawmidi_substream *midi) in amdtp_dot_midi_trigger() argument 341 WRITE_ONCE(p->midi[port], midi); in amdtp_dot_midi_trigger()
|
/linux-6.6.21/sound/pci/rme9652/ |
D | hdspm.c | 998 struct hdspm_midi midi[4]; member 1812 return hdspm_read(hdspm, hdspm->midi[id].dataIn); in snd_hdspm_midi_read_byte() 1819 return hdspm_write(hdspm, hdspm->midi[id].dataOut, val); in snd_hdspm_midi_write_byte() 1824 return hdspm_read(hdspm, hdspm->midi[id].statusIn) & 0xFF; in snd_hdspm_midi_input_available() 1831 fifo_bytes_used = hdspm_read(hdspm, hdspm->midi[id].statusOut) & 0xFF; in snd_hdspm_midi_output_possible() 2059 hdspm->midi[id].id = id; in snd_hdspm_create_midi() 2060 hdspm->midi[id].hdspm = hdspm; in snd_hdspm_create_midi() 2061 spin_lock_init (&hdspm->midi[id].lock); in snd_hdspm_create_midi() 2066 hdspm->midi[0].dataIn = HDSPM_midiDataIn2; in snd_hdspm_create_midi() 2067 hdspm->midi[0].statusIn = HDSPM_midiStatusIn2; in snd_hdspm_create_midi() [all …]
|
D | hdsp.c | 446 struct hdsp_midi midi[2]; member 1506 hdsp->midi[id].id = id; in snd_hdsp_create_midi() 1507 hdsp->midi[id].rmidi = NULL; in snd_hdsp_create_midi() 1508 hdsp->midi[id].input = NULL; in snd_hdsp_create_midi() 1509 hdsp->midi[id].output = NULL; in snd_hdsp_create_midi() 1510 hdsp->midi[id].hdsp = hdsp; in snd_hdsp_create_midi() 1511 hdsp->midi[id].istimer = 0; in snd_hdsp_create_midi() 1512 hdsp->midi[id].pending = 0; in snd_hdsp_create_midi() 1513 spin_lock_init (&hdsp->midi[id].lock); in snd_hdsp_create_midi() 1516 if (snd_rawmidi_new (card, buf, id, 1, 1, &hdsp->midi[id].rmidi) < 0) in snd_hdsp_create_midi() [all …]
|
/linux-6.6.21/sound/usb/6fire/ |
D | midi.c | 195 chip->midi = rt; in usb6fire_midi_init() 201 struct midi_runtime *rt = chip->midi; in usb6fire_midi_abort() 209 struct midi_runtime *rt = chip->midi; in usb6fire_midi_destroy() 213 chip->midi = NULL; in usb6fire_midi_destroy()
|
D | chip.h | 21 struct midi_runtime *midi; member
|
D | Makefile | 2 snd-usb-6fire-objs += chip.o comm.o midi.o control.o firmware.o pcm.o
|
/linux-6.6.21/sound/firewire/bebob/ |
D | bebob_stream.c | 257 unsigned int pcm, midi, location; in map_data_channels() local 289 midi = 0; in map_data_channels() 336 if ((midi > 0) && (stm_pos != midi)) { in map_data_channels() 341 midi = stm_pos; in map_data_channels() 369 midi += channels; in map_data_channels() 742 formation[i].midi += channels; in parse_stream_formation() 768 formation[i].midi > AM824_MAX_CHANNELS_FOR_MIDI) in parse_stream_formation() 834 if (formats[i].midi > 0) in detect_midi_ports()
|
/linux-6.6.21/sound/firewire/oxfw/ |
D | oxfw-stream.c | 233 fmt.midi == formation.midi) in keep_resources() 244 formation.midi * 8, false); in keep_resources() 556 formation->midi = channels; in snd_oxfw_stream_parse_format() 588 formation->midi > AM824_MAX_CHANNELS_FOR_MIDI) in snd_oxfw_stream_parse_format() 770 if (formation.midi > 0) in snd_oxfw_stream_discover() 798 if (formation.midi > 0) in snd_oxfw_stream_discover()
|
D | oxfw-proc.c | 43 formation.rate, formation.pcm, formation.midi); in proc_read_formation() 73 formation.rate, formation.pcm, formation.midi); in proc_read_formation()
|
/linux-6.6.21/sound/usb/line6/ |
D | midi.c | 178 struct snd_line6_midi *midi = line6->line6midi; in line6_midi_output_drain() local 180 wait_event_interruptible(midi->send_wait, in line6_midi_output_drain() 181 midi->num_active_send_urbs == 0); in line6_midi_output_drain()
|
/linux-6.6.21/sound/drivers/ |
D | virmidi.c | 65 struct snd_rawmidi *midi[MAX_MIDI_DEVICES]; member 97 vmidi->midi[idx] = rmidi; in snd_virmidi_probe()
|
/linux-6.6.21/sound/usb/caiaq/ |
D | Makefile | 2 snd-usb-caiaq-y := device.o audio.o midi.o control.o
|
/linux-6.6.21/Documentation/sound/designs/ |
D | index.rst | 18 midi-2.0
|