Lines Matching refs:urb
21 static void playback_prep_freqn(struct usb_stream_kernel *sk, struct urb *urb)
32 urb->iso_frame_desc[pack].offset = lb;
33 urb->iso_frame_desc[pack].length = l;
39 urb->number_of_packets = pack;
40 urb->transfer_buffer_length = lb;
47 struct urb **urbs, char *transfer,
57 struct urb *urb = urbs[u];
59 urb->transfer_buffer = transfer;
60 urb->dev = dev;
61 urb->pipe = pipe;
62 urb->number_of_packets = sk->n_o_ps;
63 urb->context = sk;
64 urb->interval = 1;
67 if (usb_urb_ep_type_check(urb))
70 urb->transfer_buffer_length = transfer_length;
71 desc = urb->iso_frame_desc;
240 static bool balance_check(struct usb_stream_kernel *sk, struct urb *urb)
243 if (unlikely(urb->status)) {
244 if (urb->status != -ESHUTDOWN && urb->status != -ENOENT)
245 snd_printk(KERN_WARNING "status=%i\n", urb->status);
251 sk->i_urb = urb;
255 static bool balance_playback(struct usb_stream_kernel *sk, struct urb *urb)
257 sk->iso_frame_balance += urb->number_of_packets;
258 return balance_check(sk, urb);
261 static bool balance_capture(struct usb_stream_kernel *sk, struct urb *urb)
263 sk->iso_frame_balance -= urb->number_of_packets;
264 return balance_check(sk, urb);
267 static void subs_set_complete(struct urb **urbs, void (*complete)(struct urb *))
272 struct urb *urb = urbs[u];
273 urb->complete = complete;
278 struct urb *inurb)
281 struct urb *io;
289 struct urb *ii = sk->completed_inurb;
338 static void prepare_inurb(int number_of_packets, struct urb *iu)
354 struct urb *inurb, struct urb *outurb)
385 struct urb *iu;
439 struct urb *inurb, struct urb *outurb)
506 static void i_capture_idle(struct urb *urb)
508 struct usb_stream_kernel *sk = urb->context;
509 if (balance_capture(sk, urb))
510 stream_idle(sk, urb, sk->i_urb);
513 static void i_playback_idle(struct urb *urb)
515 struct usb_stream_kernel *sk = urb->context;
516 if (balance_playback(sk, urb))
517 stream_idle(sk, sk->i_urb, urb);
521 struct urb *inurb, struct urb *outurb)
600 static void i_capture_start(struct urb *urb)
602 struct usb_iso_packet_descriptor *id = urb->iso_frame_desc;
603 struct usb_stream_kernel *sk = urb->context;
608 if (urb->status) {
609 snd_printk(KERN_WARNING "status=%i\n", urb->status);
613 for (p = 0; p < urb->number_of_packets; ++p) {
625 id[p].offset + (urb->transfer_buffer - (void *)s);
631 urb->iso_frame_desc[0].actual_length);
632 for (pack = 1; pack < urb->number_of_packets; ++pack) {
633 int l = urb->iso_frame_desc[pack].actual_length;
642 if (balance_capture(sk, urb))
643 stream_start(sk, urb, sk->i_urb);
646 static void i_playback_start(struct urb *urb)
648 struct usb_stream_kernel *sk = urb->context;
649 if (balance_playback(sk, urb))
650 stream_start(sk, sk->i_urb, urb);
675 struct urb *inurb = sk->inurb[u];
676 struct urb *outurb = sk->outurb[u];