Lines Matching refs:line6
20 static int send_midi_async(struct usb_line6 *line6, unsigned char *data,
26 void line6_midi_receive(struct usb_line6 *line6, unsigned char *data,
29 if (line6->line6midi->substream_receive)
30 snd_rawmidi_receive(line6->line6midi->substream_receive,
39 struct usb_line6 *line6 =
40 line6_rawmidi_substream_midi(substream)->line6;
41 struct snd_line6_midi *line6midi = line6->line6midi;
47 req = min3(line6_midibuf_bytes_free(mb), line6->max_packet_size,
66 send_midi_async(line6, chunk, done);
78 struct usb_line6 *line6 = (struct usb_line6 *)urb->context;
87 spin_lock_irqsave(&line6->line6midi->lock, flags);
88 num = --line6->line6midi->num_active_send_urbs;
91 line6_midi_transmit(line6->line6midi->substream_transmit);
92 num = line6->line6midi->num_active_send_urbs;
96 wake_up(&line6->line6midi->send_wait);
98 spin_unlock_irqrestore(&line6->line6midi->lock, flags);
103 Assumes that line6->line6midi->lock is held
106 static int send_midi_async(struct usb_line6 *line6, unsigned char *data,
125 usb_fill_int_urb(urb, line6->usbdev,
126 usb_sndintpipe(line6->usbdev,
127 line6->properties->ep_ctrl_w),
128 transfer_buffer, length, midi_sent, line6,
129 line6->interval);
139 ++line6->line6midi->num_active_send_urbs;
143 dev_err(line6->ifcdev, "usb_submit_urb failed\n");
162 struct usb_line6 *line6 =
163 line6_rawmidi_substream_midi(substream)->line6;
165 line6->line6midi->substream_transmit = substream;
166 spin_lock_irqsave(&line6->line6midi->lock, flags);
168 if (line6->line6midi->num_active_send_urbs == 0)
171 spin_unlock_irqrestore(&line6->line6midi->lock, flags);
176 struct usb_line6 *line6 =
177 line6_rawmidi_substream_midi(substream)->line6;
178 struct snd_line6_midi *midi = line6->line6midi;
197 struct usb_line6 *line6 =
198 line6_rawmidi_substream_midi(substream)->line6;
201 line6->line6midi->substream_receive = substream;
203 line6->line6midi->substream_receive = NULL;
220 static int snd_line6_new_midi(struct usb_line6 *line6,
226 err = snd_rawmidi_new(line6->card, "Line 6 MIDI", 0, 1, 1, rmidi_ret);
231 strcpy(rmidi->id, line6->properties->id);
232 strcpy(rmidi->name, line6->properties->name);
258 int line6_init_midi(struct usb_line6 *line6)
264 if (!(line6->properties->capabilities & LINE6_CAP_CONTROL_MIDI)) {
269 err = snd_line6_new_midi(line6, &rmidi);
282 line6midi->line6 = line6;
292 line6->line6midi = line6midi;