Lines Matching refs:oxfw
13 struct snd_oxfw *oxfw = substream->rmidi->private_data; in midi_capture_open() local
16 err = snd_oxfw_stream_lock_try(oxfw); in midi_capture_open()
20 mutex_lock(&oxfw->mutex); in midi_capture_open()
22 oxfw->capture_substreams++; in midi_capture_open()
23 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->tx_stream, 0, 0); in midi_capture_open()
25 mutex_unlock(&oxfw->mutex); in midi_capture_open()
28 snd_oxfw_stream_lock_release(oxfw); in midi_capture_open()
35 struct snd_oxfw *oxfw = substream->rmidi->private_data; in midi_playback_open() local
38 err = snd_oxfw_stream_lock_try(oxfw); in midi_playback_open()
42 mutex_lock(&oxfw->mutex); in midi_playback_open()
44 oxfw->playback_substreams++; in midi_playback_open()
45 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->rx_stream, 0, 0); in midi_playback_open()
47 mutex_unlock(&oxfw->mutex); in midi_playback_open()
50 snd_oxfw_stream_lock_release(oxfw); in midi_playback_open()
57 struct snd_oxfw *oxfw = substream->rmidi->private_data; in midi_capture_close() local
59 mutex_lock(&oxfw->mutex); in midi_capture_close()
61 oxfw->capture_substreams--; in midi_capture_close()
62 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->tx_stream); in midi_capture_close()
64 mutex_unlock(&oxfw->mutex); in midi_capture_close()
66 snd_oxfw_stream_lock_release(oxfw); in midi_capture_close()
72 struct snd_oxfw *oxfw = substream->rmidi->private_data; in midi_playback_close() local
74 mutex_lock(&oxfw->mutex); in midi_playback_close()
76 oxfw->playback_substreams--; in midi_playback_close()
77 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->rx_stream); in midi_playback_close()
79 mutex_unlock(&oxfw->mutex); in midi_playback_close()
81 snd_oxfw_stream_lock_release(oxfw); in midi_playback_close()
87 struct snd_oxfw *oxfw = substrm->rmidi->private_data; in midi_capture_trigger() local
90 spin_lock_irqsave(&oxfw->lock, flags); in midi_capture_trigger()
93 amdtp_stream_midi_trigger(&oxfw->tx_stream, in midi_capture_trigger()
96 amdtp_stream_midi_trigger(&oxfw->tx_stream, in midi_capture_trigger()
99 spin_unlock_irqrestore(&oxfw->lock, flags); in midi_capture_trigger()
104 struct snd_oxfw *oxfw = substrm->rmidi->private_data; in midi_playback_trigger() local
107 spin_lock_irqsave(&oxfw->lock, flags); in midi_playback_trigger()
110 amdtp_stream_midi_trigger(&oxfw->rx_stream, in midi_playback_trigger()
113 amdtp_stream_midi_trigger(&oxfw->rx_stream, in midi_playback_trigger()
116 spin_unlock_irqrestore(&oxfw->lock, flags); in midi_playback_trigger()
131 static void set_midi_substream_names(struct snd_oxfw *oxfw, in set_midi_substream_names() argument
139 oxfw->card->shortname, subs->number + 1); in set_midi_substream_names()
143 int snd_oxfw_create_midi(struct snd_oxfw *oxfw) in snd_oxfw_create_midi() argument
153 format = oxfw->tx_stream_formats[i]; in snd_oxfw_create_midi()
157 oxfw->midi_input_ports = 1; in snd_oxfw_create_midi()
160 format = oxfw->rx_stream_formats[i]; in snd_oxfw_create_midi()
164 oxfw->midi_output_ports = 1; in snd_oxfw_create_midi()
167 if ((oxfw->midi_input_ports == 0) && (oxfw->midi_output_ports == 0)) in snd_oxfw_create_midi()
171 err = snd_rawmidi_new(oxfw->card, oxfw->card->driver, 0, in snd_oxfw_create_midi()
172 oxfw->midi_output_ports, oxfw->midi_input_ports, in snd_oxfw_create_midi()
178 "%s MIDI", oxfw->card->shortname); in snd_oxfw_create_midi()
179 rmidi->private_data = oxfw; in snd_oxfw_create_midi()
181 if (oxfw->midi_input_ports > 0) { in snd_oxfw_create_midi()
189 set_midi_substream_names(oxfw, str); in snd_oxfw_create_midi()
192 if (oxfw->midi_output_ports > 0) { in snd_oxfw_create_midi()
200 set_midi_substream_names(oxfw, str); in snd_oxfw_create_midi()
203 if ((oxfw->midi_output_ports > 0) && (oxfw->midi_input_ports > 0)) in snd_oxfw_create_midi()