Lines Matching refs:stream
57 static int scs_output_open(struct snd_rawmidi_substream *stream) in scs_output_open() argument
59 struct scs *scs = stream->rmidi->private_data; in scs_output_open()
68 static int scs_output_close(struct snd_rawmidi_substream *stream) in scs_output_close() argument
73 static void scs_output_trigger(struct snd_rawmidi_substream *stream, int up) in scs_output_trigger() argument
75 struct scs *scs = stream->rmidi->private_data; in scs_output_trigger()
77 ACCESS_ONCE(scs->output) = up ? stream : NULL; in scs_output_trigger()
133 struct snd_rawmidi_substream *stream; in scs_output_tasklet() local
142 stream = ACCESS_ONCE(scs->output); in scs_output_tasklet()
143 if (!stream) { in scs_output_tasklet()
151 if (snd_rawmidi_transmit(stream, &byte, 1) != 1) { in scs_output_tasklet()
228 static void scs_output_drain(struct snd_rawmidi_substream *stream) in scs_output_drain() argument
230 struct scs *scs = stream->rmidi->private_data; in scs_output_drain()
242 static int scs_input_open(struct snd_rawmidi_substream *stream) in scs_input_open() argument
244 struct scs *scs = stream->rmidi->private_data; in scs_input_open()
251 static int scs_input_close(struct snd_rawmidi_substream *stream) in scs_input_close() argument
256 static void scs_input_trigger(struct snd_rawmidi_substream *stream, int up) in scs_input_trigger() argument
258 struct scs *scs = stream->rmidi->private_data; in scs_input_trigger()
260 ACCESS_ONCE(scs->input) = up ? stream : NULL; in scs_input_trigger()
263 static void scs_input_escaped_byte(struct snd_rawmidi_substream *stream, in scs_input_escaped_byte() argument
270 snd_rawmidi_receive(stream, nibbles, 2); in scs_input_escaped_byte()
274 struct snd_rawmidi_substream *stream, in scs_input_midi_byte() argument
278 scs_input_escaped_byte(stream, byte); in scs_input_midi_byte()
281 snd_rawmidi_receive(stream, (const u8[]) { 0xf7 }, 1); in scs_input_midi_byte()
283 snd_rawmidi_receive(stream, sysex_escape_prefix, in scs_input_midi_byte()
285 scs_input_escaped_byte(stream, 0x00); in scs_input_midi_byte()
286 scs_input_escaped_byte(stream, 0xf9); in scs_input_midi_byte()
289 snd_rawmidi_receive(stream, &byte, 1); in scs_input_midi_byte()
294 struct snd_rawmidi_substream *stream, in scs_input_packet() argument
301 scs_input_midi_byte(scs, stream, data[i]); in scs_input_packet()
303 snd_rawmidi_receive(stream, sysex_escape_prefix, in scs_input_packet()
306 scs_input_escaped_byte(stream, data[i]); in scs_input_packet()
307 snd_rawmidi_receive(stream, (const u8[]) { 0xf7 }, 1); in scs_input_packet()
343 struct snd_rawmidi_substream *stream; in handle_hss() local
356 stream = ACCESS_ONCE(scs->input); in handle_hss()
357 if (stream) in handle_hss()
358 scs_input_packet(scs, stream, data, length); in handle_hss()