Lines Matching refs:urb
21 static void playback_prep_freqn(struct usb_stream_kernel *sk, struct urb *urb)
33 urb->iso_frame_desc[pack].offset = lb;
34 urb->iso_frame_desc[pack].length = l;
40 urb->number_of_packets = pack;
41 urb->transfer_buffer_length = lb;
49 struct urb **urbs, char *transfer,
59 struct urb *urb = urbs[u];
62 urb->transfer_buffer = transfer;
63 urb->dev = dev;
64 urb->pipe = pipe;
65 urb->number_of_packets = sk->n_o_ps;
66 urb->context = sk;
67 urb->interval = 1;
70 if (usb_urb_ep_type_check(urb))
73 urb->transfer_buffer_length = transfer_length;
74 desc = urb->iso_frame_desc;
243 static bool balance_check(struct usb_stream_kernel *sk, struct urb *urb)
247 if (unlikely(urb->status)) {
248 if (urb->status != -ESHUTDOWN && urb->status != -ENOENT)
249 snd_printk(KERN_WARNING "status=%i\n", urb->status);
255 sk->i_urb = urb;
259 static bool balance_playback(struct usb_stream_kernel *sk, struct urb *urb)
261 sk->iso_frame_balance += urb->number_of_packets;
262 return balance_check(sk, urb);
265 static bool balance_capture(struct usb_stream_kernel *sk, struct urb *urb)
267 sk->iso_frame_balance -= urb->number_of_packets;
268 return balance_check(sk, urb);
271 static void subs_set_complete(struct urb **urbs, void (*complete)(struct urb *))
276 struct urb *urb = urbs[u];
278 urb->complete = complete;
283 struct urb *inurb)
286 struct urb *io;
294 struct urb *ii = sk->completed_inurb;
344 static void prepare_inurb(int number_of_packets, struct urb *iu)
360 struct urb *inurb, struct urb *outurb)
392 struct urb *iu;
446 struct urb *inurb, struct urb *outurb)
514 static void i_capture_idle(struct urb *urb)
516 struct usb_stream_kernel *sk = urb->context;
518 if (balance_capture(sk, urb))
519 stream_idle(sk, urb, sk->i_urb);
522 static void i_playback_idle(struct urb *urb)
524 struct usb_stream_kernel *sk = urb->context;
526 if (balance_playback(sk, urb))
527 stream_idle(sk, sk->i_urb, urb);
531 struct urb *inurb, struct urb *outurb)
614 static void i_capture_start(struct urb *urb)
616 struct usb_iso_packet_descriptor *id = urb->iso_frame_desc;
617 struct usb_stream_kernel *sk = urb->context;
622 if (urb->status) {
623 snd_printk(KERN_WARNING "status=%i\n", urb->status);
627 for (p = 0; p < urb->number_of_packets; ++p) {
640 id[p].offset + (urb->transfer_buffer - (void *)s);
646 urb->iso_frame_desc[0].actual_length);
647 for (pack = 1; pack < urb->number_of_packets; ++pack) {
648 int l = urb->iso_frame_desc[pack].actual_length;
658 if (balance_capture(sk, urb))
659 stream_start(sk, urb, sk->i_urb);
662 static void i_playback_start(struct urb *urb)
664 struct usb_stream_kernel *sk = urb->context;
666 if (balance_playback(sk, urb))
667 stream_start(sk, sk->i_urb, urb);
692 struct urb *inurb = sk->inurb[u];
693 struct urb *outurb = sk->outurb[u];