Lines Matching refs:efw
13 struct snd_efw *efw = substream->rmidi->private_data; in midi_capture_open() local
16 err = snd_efw_stream_lock_try(efw); in midi_capture_open()
20 atomic_inc(&efw->capture_substreams); in midi_capture_open()
21 err = snd_efw_stream_start_duplex(efw, 0); in midi_capture_open()
23 snd_efw_stream_lock_release(efw); in midi_capture_open()
31 struct snd_efw *efw = substream->rmidi->private_data; in midi_playback_open() local
34 err = snd_efw_stream_lock_try(efw); in midi_playback_open()
38 atomic_inc(&efw->playback_substreams); in midi_playback_open()
39 err = snd_efw_stream_start_duplex(efw, 0); in midi_playback_open()
41 snd_efw_stream_lock_release(efw); in midi_playback_open()
48 struct snd_efw *efw = substream->rmidi->private_data; in midi_capture_close() local
50 atomic_dec(&efw->capture_substreams); in midi_capture_close()
51 snd_efw_stream_stop_duplex(efw); in midi_capture_close()
53 snd_efw_stream_lock_release(efw); in midi_capture_close()
59 struct snd_efw *efw = substream->rmidi->private_data; in midi_playback_close() local
61 atomic_dec(&efw->playback_substreams); in midi_playback_close()
62 snd_efw_stream_stop_duplex(efw); in midi_playback_close()
64 snd_efw_stream_lock_release(efw); in midi_playback_close()
70 struct snd_efw *efw = substrm->rmidi->private_data; in midi_capture_trigger() local
73 spin_lock_irqsave(&efw->lock, flags); in midi_capture_trigger()
76 amdtp_stream_midi_trigger(&efw->tx_stream, in midi_capture_trigger()
79 amdtp_stream_midi_trigger(&efw->tx_stream, in midi_capture_trigger()
82 spin_unlock_irqrestore(&efw->lock, flags); in midi_capture_trigger()
87 struct snd_efw *efw = substrm->rmidi->private_data; in midi_playback_trigger() local
90 spin_lock_irqsave(&efw->lock, flags); in midi_playback_trigger()
93 amdtp_stream_midi_trigger(&efw->rx_stream, in midi_playback_trigger()
96 amdtp_stream_midi_trigger(&efw->rx_stream, in midi_playback_trigger()
99 spin_unlock_irqrestore(&efw->lock, flags); in midi_playback_trigger()
114 static void set_midi_substream_names(struct snd_efw *efw, in set_midi_substream_names() argument
121 "%s MIDI %d", efw->card->shortname, subs->number + 1); in set_midi_substream_names()
125 int snd_efw_create_midi_devices(struct snd_efw *efw) in snd_efw_create_midi_devices() argument
132 err = snd_rawmidi_new(efw->card, efw->card->driver, 0, in snd_efw_create_midi_devices()
133 efw->midi_out_ports, efw->midi_in_ports, in snd_efw_create_midi_devices()
139 "%s MIDI", efw->card->shortname); in snd_efw_create_midi_devices()
140 rmidi->private_data = efw; in snd_efw_create_midi_devices()
142 if (efw->midi_in_ports > 0) { in snd_efw_create_midi_devices()
150 set_midi_substream_names(efw, str); in snd_efw_create_midi_devices()
153 if (efw->midi_out_ports > 0) { in snd_efw_create_midi_devices()
161 set_midi_substream_names(efw, str); in snd_efw_create_midi_devices()
164 if ((efw->midi_out_ports > 0) && (efw->midi_in_ports > 0)) in snd_efw_create_midi_devices()