Lines Matching refs:substream
210 int substream; in snd_uart16550_io_loop() local
213 substream = uart->prev_in; in snd_uart16550_io_loop()
228 substream = c - 1; in snd_uart16550_io_loop()
234 && uart->midi_input[substream]) in snd_uart16550_io_loop()
235 snd_rawmidi_receive(uart->midi_input[substream], in snd_uart16550_io_loop()
238 uart->midi_input[substream]) in snd_uart16550_io_loop()
239 snd_rawmidi_receive(uart->midi_input[substream], &c, 1); in snd_uart16550_io_loop()
248 uart->prev_in = substream; in snd_uart16550_io_loop()
515 static int snd_uart16550_input_open(struct snd_rawmidi_substream *substream) in snd_uart16550_input_open() argument
518 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_input_open()
524 uart->midi_input[substream->number] = substream; in snd_uart16550_input_open()
529 static int snd_uart16550_input_close(struct snd_rawmidi_substream *substream) in snd_uart16550_input_close() argument
532 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_input_close()
536 uart->midi_input[substream->number] = NULL; in snd_uart16550_input_close()
543 static void snd_uart16550_input_trigger(struct snd_rawmidi_substream *substream, in snd_uart16550_input_trigger() argument
547 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_input_trigger()
557 static int snd_uart16550_output_open(struct snd_rawmidi_substream *substream) in snd_uart16550_output_open() argument
560 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_output_open()
566 uart->midi_output[substream->number] = substream; in snd_uart16550_output_open()
571 static int snd_uart16550_output_close(struct snd_rawmidi_substream *substream) in snd_uart16550_output_close() argument
574 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_output_close()
578 uart->midi_output[substream->number] = NULL; in snd_uart16550_output_close()
612 struct snd_rawmidi_substream *substream, in snd_uart16550_output_byte() argument
648 static void snd_uart16550_output_write(struct snd_rawmidi_substream *substream) in snd_uart16550_output_write() argument
652 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_output_write()
672 if (snd_rawmidi_transmit(substream, &midi_byte, 1) != 1) in snd_uart16550_output_write()
676 addr_byte = (1 << (substream->number + 4)) | 0x08; in snd_uart16550_output_write()
679 addr_byte = (substream->number << 4) | 0x08; in snd_uart16550_output_write()
684 snd_uart16550_output_byte(uart, substream, addr_byte); in snd_uart16550_output_write()
686 snd_uart16550_output_byte(uart, substream, midi_byte); in snd_uart16550_output_write()
690 while (snd_rawmidi_transmit_peek(substream, &midi_byte, 1) == 1) { in snd_uart16550_output_write()
696 (uart->prev_out != substream->number || in snd_uart16550_output_write()
706 uart->prev_out = substream->number; in snd_uart16550_output_write()
708 snd_uart16550_output_byte(uart, substream, in snd_uart16550_output_write()
711 snd_uart16550_output_byte(uart, substream, in snd_uart16550_output_write()
717 snd_uart16550_output_byte(uart, substream, uart->prev_status[uart->prev_out]); in snd_uart16550_output_write()
724 if (!snd_uart16550_output_byte(uart, substream, midi_byte) && in snd_uart16550_output_write()
732 snd_rawmidi_transmit_ack( substream, 1 ); in snd_uart16550_output_write()
739 static void snd_uart16550_output_trigger(struct snd_rawmidi_substream *substream, in snd_uart16550_output_trigger() argument
743 struct snd_uart16550 *uart = substream->rmidi->private_data; in snd_uart16550_output_trigger()
752 snd_uart16550_output_write(substream); in snd_uart16550_output_trigger()
865 struct snd_rawmidi_substream *substream; in snd_uart16550_substreams() local
867 list_for_each_entry(substream, &stream->substreams, list) { in snd_uart16550_substreams()
868 sprintf(substream->name, "Serial MIDI %d", substream->number + 1); in snd_uart16550_substreams()