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, in line6_midi_receive() argument
29 if (line6->line6midi->substream_receive) in line6_midi_receive()
30 snd_rawmidi_receive(line6->line6midi->substream_receive, in line6_midi_receive()
39 struct usb_line6 *line6 = in line6_midi_transmit() local
40 line6_rawmidi_substream_midi(substream)->line6; in line6_midi_transmit()
41 struct snd_line6_midi *line6midi = line6->line6midi; in line6_midi_transmit()
47 req = min(line6_midibuf_bytes_free(mb), line6->max_packet_size); in line6_midi_transmit()
64 send_midi_async(line6, chunk, done); in line6_midi_transmit()
76 struct usb_line6 *line6 = (struct usb_line6 *)urb->context; in midi_sent() local
85 spin_lock_irqsave(&line6->line6midi->lock, flags); in midi_sent()
86 num = --line6->line6midi->num_active_send_urbs; in midi_sent()
89 line6_midi_transmit(line6->line6midi->substream_transmit); in midi_sent()
90 num = line6->line6midi->num_active_send_urbs; in midi_sent()
94 wake_up(&line6->line6midi->send_wait); in midi_sent()
96 spin_unlock_irqrestore(&line6->line6midi->lock, flags); in midi_sent()
104 static int send_midi_async(struct usb_line6 *line6, unsigned char *data, in send_midi_async() argument
123 usb_fill_int_urb(urb, line6->usbdev, in send_midi_async()
124 usb_sndintpipe(line6->usbdev, in send_midi_async()
125 line6->properties->ep_ctrl_w), in send_midi_async()
126 transfer_buffer, length, midi_sent, line6, in send_midi_async()
127 line6->interval); in send_midi_async()
137 ++line6->line6midi->num_active_send_urbs; in send_midi_async()
141 dev_err(line6->ifcdev, "usb_submit_urb failed\n"); in send_midi_async()
160 struct usb_line6 *line6 = in line6_midi_output_trigger() local
161 line6_rawmidi_substream_midi(substream)->line6; in line6_midi_output_trigger()
163 line6->line6midi->substream_transmit = substream; in line6_midi_output_trigger()
164 spin_lock_irqsave(&line6->line6midi->lock, flags); in line6_midi_output_trigger()
166 if (line6->line6midi->num_active_send_urbs == 0) in line6_midi_output_trigger()
169 spin_unlock_irqrestore(&line6->line6midi->lock, flags); in line6_midi_output_trigger()
174 struct usb_line6 *line6 = in line6_midi_output_drain() local
175 line6_rawmidi_substream_midi(substream)->line6; in line6_midi_output_drain()
176 struct snd_line6_midi *midi = line6->line6midi; in line6_midi_output_drain()
195 struct usb_line6 *line6 = in line6_midi_input_trigger() local
196 line6_rawmidi_substream_midi(substream)->line6; in line6_midi_input_trigger()
199 line6->line6midi->substream_receive = substream; in line6_midi_input_trigger()
201 line6->line6midi->substream_receive = NULL; in line6_midi_input_trigger()
218 static int snd_line6_new_midi(struct usb_line6 *line6, in snd_line6_new_midi() argument
224 err = snd_rawmidi_new(line6->card, "Line 6 MIDI", 0, 1, 1, rmidi_ret); in snd_line6_new_midi()
229 strcpy(rmidi->id, line6->properties->id); in snd_line6_new_midi()
230 strcpy(rmidi->name, line6->properties->name); in snd_line6_new_midi()
256 int line6_init_midi(struct usb_line6 *line6) in line6_init_midi() argument
262 if (!(line6->properties->capabilities & LINE6_CAP_CONTROL_MIDI)) { in line6_init_midi()
267 err = snd_line6_new_midi(line6, &rmidi); in line6_init_midi()
280 line6midi->line6 = line6; in line6_init_midi()
290 line6->line6midi = line6midi; in line6_init_midi()