Lines Matching refs:urb

161 		struct urb *urb, u32 token)  in ehci_clear_tt_buffer()  argument
170 if (urb->dev->tt && !usb_pipeint(urb->pipe) && !qh->clearing_tt) { in ehci_clear_tt_buffer()
172 struct usb_device *tt = urb->dev->tt->hub; in ehci_clear_tt_buffer()
175 urb->dev->ttport, urb->dev->devnum, in ehci_clear_tt_buffer()
176 usb_pipeendpoint(urb->pipe), token); in ehci_clear_tt_buffer()
179 || urb->dev->tt->hub != in ehci_clear_tt_buffer()
181 if (usb_hub_clear_tt_buffer(urb) == 0) in ehci_clear_tt_buffer()
194 struct urb *urb, in qtd_copy_status() argument
203 urb->actual_length += length - QTD_LENGTH (token); in qtd_copy_status()
206 if (unlikely(urb->unlinked)) in qtd_copy_status()
236 urb->dev->devpath, in qtd_copy_status()
237 usb_pipeendpoint(urb->pipe), in qtd_copy_status()
238 usb_pipein(urb->pipe) ? "in" : "out"); in qtd_copy_status()
249 ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) in ehci_urb_done() argument
251 if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) { in ehci_urb_done()
256 if (unlikely(urb->unlinked)) { in ehci_urb_done()
268 __func__, urb->dev->devpath, urb, in ehci_urb_done()
269 usb_pipeendpoint (urb->pipe), in ehci_urb_done()
270 usb_pipein (urb->pipe) ? "in" : "out", in ehci_urb_done()
272 urb->actual_length, urb->transfer_buffer_length); in ehci_urb_done()
275 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); in ehci_urb_done()
276 usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); in ehci_urb_done()
322 struct urb *urb; in qh_completions() local
326 urb = qtd->urb; in qh_completions()
330 if (likely (last->urb != urb)) { in qh_completions()
331 ehci_urb_done(ehci, last->urb, last_status); in qh_completions()
354 urb, in qh_completions()
355 usb_endpoint_num(&urb->ep->desc), in qh_completions()
356 usb_endpoint_dir_in(&urb->ep->desc) ? "in" : "out", in qh_completions()
357 urb->transfer_buffer_length, in qh_completions()
372 !urb->unlinked) { in qh_completions()
425 else if (last_status == -EINPROGRESS && !urb->unlinked) in qh_completions()
446 ehci_clear_tt_buffer(ehci, qh, urb, token); in qh_completions()
458 last_status = qtd_copy_status(ehci, urb, in qh_completions()
480 ehci_clear_tt_buffer(ehci, qh, urb, in qh_completions()
504 ehci_urb_done(ehci, last->urb, last_status); in qh_completions()
555 struct urb *urb, in qtd_list_free() argument
575 struct urb *urb, in qh_urb_transaction() argument
594 qtd->urb = urb; in qh_urb_transaction()
600 len = urb->transfer_buffer_length; in qh_urb_transaction()
601 is_input = usb_pipein (urb->pipe); in qh_urb_transaction()
602 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction()
604 qtd_fill(ehci, qtd, urb->setup_dma, in qh_urb_transaction()
614 qtd->urb = urb; in qh_urb_transaction()
626 i = urb->num_mapped_sgs; in qh_urb_transaction()
628 sg = urb->sg; in qh_urb_transaction()
637 buf = urb->transfer_dma; in qh_urb_transaction()
645 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction()
685 qtd->urb = urb; in qh_urb_transaction()
695 if (likely ((urb->transfer_flags & URB_SHORT_NOT_OK) == 0 in qh_urb_transaction()
696 || usb_pipecontrol (urb->pipe))) in qh_urb_transaction()
704 if (likely (urb->transfer_buffer_length != 0)) { in qh_urb_transaction()
707 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction()
711 } else if (usb_pipeout(urb->pipe) in qh_urb_transaction()
712 && (urb->transfer_flags & URB_ZERO_PACKET) in qh_urb_transaction()
713 && !(urb->transfer_buffer_length % maxpacket)) { in qh_urb_transaction()
721 qtd->urb = urb; in qh_urb_transaction()
731 if (likely (!(urb->transfer_flags & URB_NO_INTERRUPT))) in qh_urb_transaction()
736 qtd_list_free (ehci, urb, head); in qh_urb_transaction()
760 struct urb *urb, in qh_make() argument
767 struct usb_tt *tt = urb->dev->tt; in qh_make()
776 info1 |= usb_pipeendpoint (urb->pipe) << 8; in qh_make()
777 info1 |= usb_pipedevice (urb->pipe) << 0; in qh_make()
779 is_input = usb_pipein (urb->pipe); in qh_make()
780 type = usb_pipetype (urb->pipe); in qh_make()
781 maxp = usb_maxpacket (urb->dev, urb->pipe, !is_input); in qh_make()
807 if (urb->dev->speed == USB_SPEED_HIGH) { in qh_make()
811 if (urb->interval > 1 && urb->interval < 8) { in qh_make()
816 urb->interval = 1; in qh_make()
817 } else if (urb->interval > ehci->periodic_size << 3) { in qh_make()
818 urb->interval = ehci->periodic_size << 3; in qh_make()
820 qh->ps.period = urb->interval >> 3; in qh_make()
824 1 << (urb->ep->desc.bInterval - 1)); in qh_make()
827 qh->ps.bw_uperiod = min_t(unsigned, tmp, urb->interval); in qh_make()
833 qh->gap_uf = 1 + usb_calc_bus_time (urb->dev->speed, in qh_make()
847 usb_calc_bus_time (urb->dev->speed, in qh_make()
849 if (urb->interval > ehci->periodic_size) in qh_make()
850 urb->interval = ehci->periodic_size; in qh_make()
851 qh->ps.period = urb->interval; in qh_make()
855 urb->ep->desc.bInterval); in qh_make()
859 qh->ps.bw_period = min_t(unsigned, tmp, urb->interval); in qh_make()
865 qh->ps.udev = urb->dev; in qh_make()
866 qh->ps.ep = urb->ep; in qh_make()
869 switch (urb->dev->speed) { in qh_make()
890 info2 |= (urb->dev->ttport-1) << 23; in qh_make()
892 info2 |= urb->dev->ttport << 23; in qh_make()
927 ehci_dbg(ehci, "bogus dev %p speed %d\n", urb->dev, in qh_make()
928 urb->dev->speed); in qh_make()
942 usb_settoggle (urb->dev, usb_pipeendpoint (urb->pipe), !is_input, 1); in qh_make()
1017 struct urb *urb, in qh_append_tds() argument
1029 qh = qh_make (ehci, urb, GFP_ATOMIC); in qh_append_tds()
1045 if (usb_pipedevice (urb->pipe) == 0) in qh_append_tds()
1088 urb->hcpriv = qh; in qh_append_tds()
1099 struct urb *urb, in submit_async() argument
1108 epnum = urb->ep->desc.bEndpointAddress; in submit_async()
1116 __func__, urb->dev->devpath, urb, in submit_async()
1118 urb->transfer_buffer_length, in submit_async()
1119 qtd, urb->ep->hcpriv); in submit_async()
1128 rc = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); in submit_async()
1132 qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); in submit_async()
1134 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); in submit_async()
1147 qtd_list_free (ehci, urb, qtd_list); in submit_async()
1165 struct urb *urb, in submit_single_step_set_feature() argument
1185 qtd->urb = urb; in submit_single_step_set_feature()
1190 len = urb->transfer_buffer_length; in submit_single_step_set_feature()
1198 qtd_fill(ehci, qtd, urb->setup_dma, in submit_single_step_set_feature()
1202 submit_async(ehci, urb, &qtd_list, GFP_ATOMIC); in submit_single_step_set_feature()
1211 buf = urb->transfer_dma; in submit_single_step_set_feature()
1215 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, 0)); in submit_single_step_set_feature()
1233 qtd->urb = urb; in submit_single_step_set_feature()
1241 if (likely(!(urb->transfer_flags & URB_NO_INTERRUPT))) in submit_single_step_set_feature()
1244 submit_async(ehci, urb, &qtd_list, GFP_KERNEL); in submit_single_step_set_feature()
1249 qtd_list_free(ehci, urb, head); in submit_single_step_set_feature()