Lines Matching refs:urb
64 struct urb *urb = subs->completed_urb; in usX2Y_usbpcm_urb_capt_retire() local
76 if (urb->iso_frame_desc[i].status) { /* active? hmm, skip this */ in usX2Y_usbpcm_urb_capt_retire()
77 …snd_printk(KERN_ERR "active frame status %i. Most probably some hardware problem.\n", urb->iso_fra… in usX2Y_usbpcm_urb_capt_retire()
78 return urb->iso_frame_desc[i].status; in usX2Y_usbpcm_urb_capt_retire()
80 lens += urb->iso_frame_desc[i].actual_length / usX2Y->stride; in usX2Y_usbpcm_urb_capt_retire()
111 struct urb *urb) in usX2Y_hwdep_urb_play_prepare() argument
135 urb->iso_frame_desc[pack].offset = shm->captured_iso[shm->playback_iso_head].offset; in usX2Y_hwdep_urb_play_prepare()
136 urb->iso_frame_desc[pack].length = shm->captured_iso[shm->playback_iso_head].length; in usX2Y_hwdep_urb_play_prepare()
138 memset((char *)urb->transfer_buffer + urb->iso_frame_desc[pack].offset, 0, in usX2Y_hwdep_urb_play_prepare()
139 urb->iso_frame_desc[pack].length); in usX2Y_hwdep_urb_play_prepare()
144 urb->transfer_buffer_length = count * usX2Y->stride; in usX2Y_hwdep_urb_play_prepare()
150 struct urb *urb) in usX2Y_usbpcm_urb_capt_iso_advance() argument
154 struct usb_iso_packet_descriptor *desc = urb->iso_frame_desc + pack; in usX2Y_usbpcm_urb_capt_iso_advance()
160 shm->captured_iso[head].frame = urb->start_frame + pack; in usX2Y_usbpcm_urb_capt_iso_advance()
178 struct urb *urb = playbacksubs->completed_urb; in usX2Y_usbpcm_usbframe_complete() local
181 if (NULL != urb) { in usX2Y_usbpcm_usbframe_complete()
183 usX2Y_urb_play_retire(playbacksubs, urb); in usX2Y_usbpcm_usbframe_complete()
189 urb = playbacksubs->urb[0]; in usX2Y_usbpcm_usbframe_complete()
193 urb = playbacksubs->urb[1]; in usX2Y_usbpcm_usbframe_complete()
198 if (urb) { in usX2Y_usbpcm_usbframe_complete()
199 if ((err = usX2Y_hwdep_urb_play_prepare(playbacksubs, urb)) || in usX2Y_usbpcm_usbframe_complete()
200 (err = usX2Y_urb_submit(playbacksubs, urb, frame))) { in usX2Y_usbpcm_usbframe_complete()
230 static void i_usX2Y_usbpcm_urb_complete(struct urb *urb) in i_usX2Y_usbpcm_urb_complete() argument
232 struct snd_usX2Y_substream *subs = urb->context; in i_usX2Y_usbpcm_urb_complete()
239 subs->endpoint, usb_pipein(urb->pipe) ? "in" : "out", in i_usX2Y_usbpcm_urb_complete()
240 urb->status, urb->start_frame); in i_usX2Y_usbpcm_urb_complete()
243 if (unlikely(urb->status)) { in i_usX2Y_usbpcm_urb_complete()
244 usX2Y_error_urb_status(usX2Y, subs, urb); in i_usX2Y_usbpcm_urb_complete()
248 subs->completed_urb = urb; in i_usX2Y_usbpcm_urb_complete()
255 if (!usX2Y_usbpcm_usbframe_complete(capsubs, capsubs2, playbacksubs, urb->start_frame)) in i_usX2Y_usbpcm_urb_complete()
265 static void usX2Y_hwdep_urb_release(struct urb **urb) in usX2Y_hwdep_urb_release() argument
267 usb_kill_urb(*urb); in usX2Y_hwdep_urb_release()
268 usb_free_urb(*urb); in usX2Y_hwdep_urb_release()
269 *urb = NULL; in usX2Y_hwdep_urb_release()
280 usX2Y_hwdep_urb_release(subs->urb + i); in usX2Y_usbpcm_urbs_release()
289 static void i_usX2Y_usbpcm_subs_startup(struct urb *urb) in i_usX2Y_usbpcm_subs_startup() argument
291 struct snd_usX2Y_substream *subs = urb->context; in i_usX2Y_usbpcm_subs_startup()
295 urb->start_frame == prepare_subs->urb[0]->start_frame) { in i_usX2Y_usbpcm_subs_startup()
306 i_usX2Y_usbpcm_urb_complete(urb); in i_usX2Y_usbpcm_subs_startup()
327 struct urb **purb = subs->urb + i; in usX2Y_usbpcm_urbs_allocate()
398 subs->urb[0]->start_frame = -1; in usX2Y_usbpcm_subs_startup()
435 struct urb *urb = subs->urb[u]; in usX2Y_usbpcm_urbs_start() local
436 if (usb_pipein(urb->pipe)) { in usX2Y_usbpcm_urbs_start()
440 urb->dev = usX2Y->dev; in usX2Y_usbpcm_urbs_start()
442 urb->iso_frame_desc[pack].offset = subs->maxpacksize * (pack + u * nr_of_packs()); in usX2Y_usbpcm_urbs_start()
443 urb->iso_frame_desc[pack].length = subs->maxpacksize; in usX2Y_usbpcm_urbs_start()
445 urb->transfer_buffer_length = subs->maxpacksize * nr_of_packs(); in usX2Y_usbpcm_urbs_start()
446 if ((err = usb_submit_urb(urb, GFP_KERNEL)) < 0) { in usX2Y_usbpcm_urbs_start()
451 snd_printdd("%i\n", urb->start_frame); in usX2Y_usbpcm_urbs_start()
453 usX2Y->wait_iso_frame = urb->start_frame; in usX2Y_usbpcm_urbs_start()
455 urb->transfer_flags = 0; in usX2Y_usbpcm_urbs_start()