Lines Matching full:ff
2 * ff-midi.c - a part of driver for RME Fireface series
9 #include "ff.h"
19 struct snd_ff *ff = substream->rmidi->private_data; in midi_playback_open() local
22 ff->running_status[substream->number] = 0; in midi_playback_open()
23 ff->rx_midi_error[substream->number] = false; in midi_playback_open()
25 WRITE_ONCE(ff->rx_midi_substreams[substream->number], substream); in midi_playback_open()
38 struct snd_ff *ff = substream->rmidi->private_data; in midi_playback_close() local
40 cancel_work_sync(&ff->rx_midi_work[substream->number]); in midi_playback_close()
41 WRITE_ONCE(ff->rx_midi_substreams[substream->number], NULL); in midi_playback_close()
49 struct snd_ff *ff = substream->rmidi->private_data; in midi_capture_trigger() local
52 spin_lock_irqsave(&ff->lock, flags); in midi_capture_trigger()
55 WRITE_ONCE(ff->tx_midi_substreams[substream->number], in midi_capture_trigger()
58 WRITE_ONCE(ff->tx_midi_substreams[substream->number], NULL); in midi_capture_trigger()
60 spin_unlock_irqrestore(&ff->lock, flags); in midi_capture_trigger()
66 struct snd_ff *ff = substream->rmidi->private_data; in midi_playback_trigger() local
69 spin_lock_irqsave(&ff->lock, flags); in midi_playback_trigger()
71 if (up || !ff->rx_midi_error[substream->number]) in midi_playback_trigger()
72 schedule_work(&ff->rx_midi_work[substream->number]); in midi_playback_trigger()
74 spin_unlock_irqrestore(&ff->lock, flags); in midi_playback_trigger()
88 int snd_ff_create_midi_devices(struct snd_ff *ff) in snd_ff_create_midi_devices() argument
104 err = snd_rawmidi_new(ff->card, ff->card->driver, 0, in snd_ff_create_midi_devices()
105 ff->spec->midi_out_ports, ff->spec->midi_in_ports, in snd_ff_create_midi_devices()
111 "%s MIDI", ff->card->shortname); in snd_ff_create_midi_devices()
112 rmidi->private_data = ff; in snd_ff_create_midi_devices()
118 set_midi_substream_names(stream, ff->card->shortname); in snd_ff_create_midi_devices()
124 set_midi_substream_names(stream, ff->card->shortname); in snd_ff_create_midi_devices()