Lines Matching refs:efw

12 	struct snd_efw *efw = substream->rmidi->private_data;
15 err = snd_efw_stream_lock_try(efw);
19 mutex_lock(&efw->mutex);
20 err = snd_efw_stream_reserve_duplex(efw, 0, 0, 0);
22 ++efw->substreams_counter;
23 err = snd_efw_stream_start_duplex(efw);
25 --efw->substreams_counter;
27 mutex_unlock(&efw->mutex);
29 snd_efw_stream_lock_release(efw);
36 struct snd_efw *efw = substream->rmidi->private_data;
38 mutex_lock(&efw->mutex);
39 --efw->substreams_counter;
40 snd_efw_stream_stop_duplex(efw);
41 mutex_unlock(&efw->mutex);
43 snd_efw_stream_lock_release(efw);
49 struct snd_efw *efw = substrm->rmidi->private_data;
52 spin_lock_irqsave(&efw->lock, flags);
55 amdtp_am824_midi_trigger(&efw->tx_stream,
58 amdtp_am824_midi_trigger(&efw->tx_stream,
61 spin_unlock_irqrestore(&efw->lock, flags);
66 struct snd_efw *efw = substrm->rmidi->private_data;
69 spin_lock_irqsave(&efw->lock, flags);
72 amdtp_am824_midi_trigger(&efw->rx_stream,
75 amdtp_am824_midi_trigger(&efw->rx_stream,
78 spin_unlock_irqrestore(&efw->lock, flags);
81 static void set_midi_substream_names(struct snd_efw *efw,
88 "%s MIDI %d", efw->card->shortname, subs->number + 1);
92 int snd_efw_create_midi_devices(struct snd_efw *efw)
109 err = snd_rawmidi_new(efw->card, efw->card->driver, 0,
110 efw->midi_out_ports, efw->midi_in_ports,
116 "%s MIDI", efw->card->shortname);
117 rmidi->private_data = efw;
119 if (efw->midi_in_ports > 0) {
127 set_midi_substream_names(efw, str);
130 if (efw->midi_out_ports > 0) {
138 set_midi_substream_names(efw, str);
141 if ((efw->midi_out_ports > 0) && (efw->midi_in_ports > 0))