Lines Matching refs:urb

2273   struct urb *urb,  in qtd_copy_status()  argument
2328 urb->actual_length += length - QTD_LENGTH (token); in qtd_copy_status()
2331 if (unlikely (urb->status != -EINPROGRESS)) in qtd_copy_status()
2336 urb->status = -EREMOTEIO; in qtd_copy_status()
2390 urb->status = -EOVERFLOW; in qtd_copy_status()
2394 urb->status = -EPROTO; in qtd_copy_status()
2397 urb->status = (QTD_PID (token) == 1) /* IN ? */ in qtd_copy_status()
2404 urb->status = -EPIPE; in qtd_copy_status()
2456 urb->dev->devpath, in qtd_copy_status()
2457 usb_pipeendpoint (urb->pipe), in qtd_copy_status()
2458 usb_pipein (urb->pipe) ? "in" : "out"); in qtd_copy_status()
2459 urb->status = -EPROTO; in qtd_copy_status()
2463 urb->status = -EPIPE; in qtd_copy_status()
2465 urb->status = -EPROTO; in qtd_copy_status()
2469 usb_pipedevice (urb->pipe), in qtd_copy_status()
2470 usb_pipeendpoint (urb->pipe), in qtd_copy_status()
2471 usb_pipein (urb->pipe) ? "in" : "out", in qtd_copy_status()
2472 token, urb->status); in qtd_copy_status()
2522 if( urb->status < 0 ) in qtd_copy_status()
2526 usb_pipedevice (urb->pipe), in qtd_copy_status()
2527 usb_pipeendpoint (urb->pipe), in qtd_copy_status()
2528 usb_pipein (urb->pipe) ? "in" : "out", in qtd_copy_status()
2529 token, urb->status, urb->transfer_buffer_length); in qtd_copy_status()
2534 if (urb->status == -EPIPE) { in qtd_copy_status()
2535 int pipe = urb->pipe; in qtd_copy_status()
2538 usb_endpoint_halt (urb->dev, in qtd_copy_status()
2592 } else if (urb->dev->tt && !usb_pipeint (urb->pipe) in qtd_copy_status()
2595 struct usb_device *tt = urb->dev->tt->hub; in qtd_copy_status()
2598 urb->dev->ttport, urb->dev->devnum, in qtd_copy_status()
2599 usb_pipeendpoint (urb->pipe), token); in qtd_copy_status()
2601 usb_hub_tt_clear_buffer (urb->dev, urb->pipe); in qtd_copy_status()
2658 ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs) in ehci_urb_done() argument
2660 if (likely (urb->hcpriv != 0)) { in ehci_urb_done()
2661 struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_done()
2768 spin_lock (&urb->lock); in ehci_urb_done()
2769 urb->hcpriv = 0; in ehci_urb_done()
2770 switch (urb->status) { in ehci_urb_done()
2772 urb->status = 0; in ehci_urb_done()
2777 if (!(urb->transfer_flags & URB_SHORT_NOT_OK)) in ehci_urb_done()
2778 urb->status = 0; in ehci_urb_done()
2835 spin_unlock (&urb->lock); in ehci_urb_done()
2840 urb_print (urb, "RET", usb_pipeout (urb->pipe)); in ehci_urb_done()
2842 usb_hcd_giveback_urb (&ehci->hcd, urb, regs); in ehci_urb_done()
3013 struct urb *urb; in qh_completions() local
3018 urb = qtd->urb; in qh_completions()
3028 if (likely (last->urb != urb)) { in qh_completions()
3029 ehci_urb_done (ehci, last->urb, regs); in qh_completions()
3217 if (likely (urb->status == -EINPROGRESS)) in qh_completions()
3289 spin_lock (&urb->lock); in qh_completions()
3290 qtd_copy_status (ehci, urb, qtd->length, token); in qh_completions()
3294 urb->status = (QTD_PID (token) == 1) /* IN ? */ in qh_completions()
3298 do_status = (urb->status == -EREMOTEIO) in qh_completions()
3299 && usb_pipecontrol (urb->pipe); in qh_completions()
3300 spin_unlock (&urb->lock); in qh_completions()
3313 ehci_urb_done (ehci, last->urb, regs); in qh_completions()
3444 struct urb *urb, in qtd_list_free() argument
3559 struct urb *urb, in qh_urb_transaction() argument
3669 qtd->urb = urb; in qh_urb_transaction()
3723 len = urb->transfer_buffer_length; in qh_urb_transaction()
3724 is_input = usb_pipein (urb->pipe); in qh_urb_transaction()
3725 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction()
3727 qtd_fill (qtd, urb->setup_dma, sizeof (struct usb_ctrlrequest), in qh_urb_transaction()
3784 qtd->urb = urb; in qh_urb_transaction()
3842 buf = urb->transfer_dma; in qh_urb_transaction()
3850 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction()
3852 if (usb_pipebulk(urb->pipe)) { in qh_urb_transaction()
3853 switch (urb->dev->speed) { in qh_urb_transaction()
3855 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction()
3864 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction()
3986 qtd->urb = urb; in qh_urb_transaction()
4039 if (likely ((urb->transfer_flags & URB_SHORT_NOT_OK) == 0 in qh_urb_transaction()
4040 || usb_pipecontrol (urb->pipe))) in qh_urb_transaction()
4095 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction()
4099 } else if (usb_pipebulk (urb->pipe) in qh_urb_transaction()
4100 && (urb->transfer_flags & URB_ZERO_PACKET) in qh_urb_transaction()
4101 && !(urb->transfer_buffer_length % maxpacket)) { in qh_urb_transaction()
4158 qtd->urb = urb; in qh_urb_transaction()
4216 if (likely (!(urb->transfer_flags & URB_NO_INTERRUPT))) in qh_urb_transaction()
4271 qtd_list_free (ehci, urb, head); in qh_urb_transaction()
4437 struct urb *urb, in qh_make() argument
4496 info1 |= usb_pipeendpoint (urb->pipe) << 8; in qh_make()
4497 info1 |= usb_pipedevice (urb->pipe) << 0; in qh_make()
4547 is_input = usb_pipein (urb->pipe); in qh_make()
4548 type = usb_pipetype (urb->pipe); in qh_make()
4549 maxp = usb_maxpacket (urb->dev, urb->pipe, !is_input); in qh_make()
4611 if (urb->dev->speed == USB_SPEED_HIGH) { in qh_make()
4616 qh->period = urb->interval >> 3; in qh_make()
4619 urb->interval); in qh_make()
4674 qh->gap_uf = 1 + usb_calc_bus_time (urb->dev->speed, in qh_make()
4685 qh->period = urb->interval; in qh_make()
4687 qh->period = urb->interval >> 3; in qh_make()
4743 switch (urb->dev->speed) { in qh_make()
4754 dbg ("unknow speed %d", urb->dev->speed); in qh_make()
4761 switch (urb->dev->speed) { in qh_make()
4771 if (type == PIPE_CONTROL && (urb->dev->speed == USB_SPEED_FULL) ) { in qh_make()
4839 if (urb->dev->tt->hub->devnum != 1) // Skip the Root Hub devnum == 1 in qh_make()
4841 info2 |= urb->dev->ttport << 23; in qh_make()
4842 info2 |= urb->dev->tt->hub->devnum << 16; in qh_make()
4918 dbg ("bogus dev %p speed %d", urb->dev, urb->dev->speed); in qh_make()
4979 usb_settoggle (urb->dev, usb_pipeendpoint (urb->pipe), !is_input, 1); in qh_make()
5262 struct urb *urb, in qh_append_tds() argument
5273 qh = qh_make (ehci, urb, SLAB_ATOMIC); in qh_append_tds()
5329 if ( usb_pipecontrol(urb->pipe) ) in qh_append_tds()
5332 …oCPU(qh->hw_info1)&(~(((1<<11)-1)<<16)))|(usb_maxpacket (urb->dev, urb->pipe, !(usb_pipein (urb->p… in qh_append_tds()
5351 usb_pipedevice (urb->pipe)); in qh_append_tds()
5407 max = urb->dev->descriptor.bMaxPacketSize0; in qh_append_tds()
5416 if (usb_pipedevice (urb->pipe) == 0) in qh_append_tds()
5420 if (unlikely (!usb_gettoggle (urb->dev, in qh_append_tds()
5422 && !usb_pipecontrol (urb->pipe)) { in qh_append_tds()
5427 …lear toggle dev%d ep%d%s: not idle\n", usb_pipedevice (urb->pipe), epnum & 0x0f, usb_pipein (urb-… in qh_append_tds()
5429 clear_toggle (urb->dev, in qh_append_tds()
5561 urb->hcpriv = qh_get (qh); in qh_append_tds()
5572 struct urb *urb, in submit_async() argument
5632 dev = (struct hcd_dev *)urb->dev->hcpriv; in submit_async()
5633 epnum = usb_pipeendpoint (urb->pipe); in submit_async()
5634 if (usb_pipein (urb->pipe) && !usb_pipecontrol (urb->pipe)) in submit_async()
5638 urb, urb->transfer_buffer,urb->transfer_buffer_length, in submit_async()
5691 qh = qh_append_tds (ehci, urb, qtd_list, epnum, &dev->ep [epnum]); in submit_async()
5707 qtd_list_free (ehci, urb, qtd_list); in submit_async()
8290 struct urb *urb, in ehci_urb_enqueue() argument
8298 urb_print (urb, "SUB", usb_pipein (urb->pipe)); in ehci_urb_enqueue()
8309 urb->transfer_flags &= ~EHCI_STATE_UNLINK; in ehci_urb_enqueue()
8313 switch (usb_pipetype (urb->pipe)) { in ehci_urb_enqueue()
8368 INIT_LIST_HEAD (&urb->qtd_list); in ehci_urb_enqueue()
8369 if (!qh_urb_transaction (ehci, urb, &urb->qtd_list, mem_flags)) in ehci_urb_enqueue()
8376 return submit_async (ehci, urb, &urb->qtd_list, mem_flags); in ehci_urb_enqueue()
8380 if (!qh_urb_transaction (ehci, urb, &qtd_list, mem_flags)) in ehci_urb_enqueue()
8382 return submit_async (ehci, urb, &qtd_list, mem_flags); in ehci_urb_enqueue()
8386 if (!qh_urb_transaction (ehci, urb, &qtd_list, mem_flags)) in ehci_urb_enqueue()
8388 return intr_submit (ehci, urb, &qtd_list, mem_flags); in ehci_urb_enqueue()
8392 if (urb->dev->speed == USB_SPEED_HIGH) in ehci_urb_enqueue()
8393 return itd_submit (ehci, urb, mem_flags); in ehci_urb_enqueue()
8397 return sitd_submit (ehci, urb, mem_flags); in ehci_urb_enqueue()
8417 int ehci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb) in ehci_urb_dequeue() argument
8424 urb_print (urb, "UNLINK", 1); in ehci_urb_dequeue()
8427 switch (usb_pipetype (urb->pipe)) { in ehci_urb_dequeue()
8480 qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_dequeue()
8685 qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_dequeue()
8863 urb->transfer_flags |= EHCI_STATE_UNLINK; in ehci_urb_dequeue()
9434 extern int ehci_urb_enqueue ( struct usb_hcd *hcd, struct urb *urb, int mem_flags) ;
9435 extern int ehci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb);
9853 struct urb *urb, in qh_urb_transaction_EHSET() argument
9916 qtd->urb = urb; in qh_urb_transaction_EHSET()
9921 len = urb->transfer_buffer_length; in qh_urb_transaction_EHSET()
9922 is_input = usb_pipein (urb->pipe); in qh_urb_transaction_EHSET()
9925 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction_EHSET()
9926 qtd_fill (qtd, urb->setup_dma, sizeof (struct usb_ctrlrequest), in qh_urb_transaction_EHSET()
9933 if (likely (!(urb->transfer_flags & URB_NO_INTERRUPT))) in qh_urb_transaction_EHSET()
9989 buf = urb->transfer_dma; in qh_urb_transaction_EHSET()
9995 if (usb_pipebulk(urb->pipe)) { in qh_urb_transaction_EHSET()
9996 switch (urb->dev->speed) { in qh_urb_transaction_EHSET()
9998 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction_EHSET()
10007 maxpacket = max_packet(usb_maxpacket(urb->dev, urb->pipe, !is_input)); in qh_urb_transaction_EHSET()
10173 qtd->urb = urb; in qh_urb_transaction_EHSET()
10226 if (likely ((urb->transfer_flags & URB_SHORT_NOT_OK) == 0 in qh_urb_transaction_EHSET()
10227 || usb_pipecontrol (urb->pipe))) in qh_urb_transaction_EHSET()
10233 if (usb_pipecontrol (urb->pipe)) { in qh_urb_transaction_EHSET()
10237 } else if (usb_pipebulk (urb->pipe) in qh_urb_transaction_EHSET()
10238 && (urb->transfer_flags & URB_ZERO_PACKET) in qh_urb_transaction_EHSET()
10239 && !(urb->transfer_buffer_length % maxpacket)) { in qh_urb_transaction_EHSET()
10247 qtd->urb = urb; in qh_urb_transaction_EHSET()
10303 if (likely (!(urb->transfer_flags & URB_NO_INTERRUPT))) in qh_urb_transaction_EHSET()
10310 qtd_list_free (ehci, urb, head); in qh_urb_transaction_EHSET()
10316 struct urb *urb, in submit_async_EHSET() argument
10320 return submit_async(ehci, urb, qtd_list, mem_flags); in submit_async_EHSET()