Lines Matching refs:urb
126 struct urb *urb; member
156 struct urb *urb; member
518 struct urb *urb; in last_qtd_of_urb() local
523 urb = qtd->urb; in last_qtd_of_urb()
525 return (qtd->urb != urb); in last_qtd_of_urb()
547 maxpacket = usb_maxpacket(qtd->urb->dev, qtd->urb->pipe, in create_ptd_atl()
548 usb_pipeout(qtd->urb->pipe)); in create_ptd_atl()
556 ptd->dw0 |= TO_DW0_ENDPOINT(usb_pipeendpoint(qtd->urb->pipe)); in create_ptd_atl()
559 ptd->dw1 = usb_pipeendpoint(qtd->urb->pipe) >> 1; in create_ptd_atl()
560 ptd->dw1 |= TO_DW1_DEVICE_ADDR(usb_pipedevice(qtd->urb->pipe)); in create_ptd_atl()
563 if (usb_pipebulk(qtd->urb->pipe)) in create_ptd_atl()
565 else if (usb_pipeint(qtd->urb->pipe)) in create_ptd_atl()
568 if (qtd->urb->dev->speed != USB_SPEED_HIGH) { in create_ptd_atl()
572 if (qtd->urb->dev->speed == USB_SPEED_LOW) in create_ptd_atl()
575 ptd->dw1 |= TO_DW1_PORT_NUM(qtd->urb->dev->ttport); in create_ptd_atl()
576 ptd->dw1 |= TO_DW1_HUB_NUM(qtd->urb->dev->tt->hub->devnum); in create_ptd_atl()
579 if (usb_pipeint(qtd->urb->pipe) && in create_ptd_atl()
580 (qtd->urb->dev->speed == USB_SPEED_LOW)) in create_ptd_atl()
587 if (usb_pipecontrol(qtd->urb->pipe) || in create_ptd_atl()
588 usb_pipebulk(qtd->urb->pipe)) in create_ptd_atl()
599 if (usb_pipecontrol(qtd->urb->pipe)) { in create_ptd_atl()
600 if (qtd->data_buffer == qtd->urb->setup_packet) in create_ptd_atl()
626 if (qtd->urb->dev->speed == USB_SPEED_HIGH) { in transform_add_int()
628 period = qtd->urb->interval >> 3; in transform_add_int()
630 if (qtd->urb->interval > 4) in transform_add_int()
633 else if (qtd->urb->interval > 2) in transform_add_int()
635 else if (qtd->urb->interval > 1) in transform_add_int()
641 period = qtd->urb->interval; in transform_add_int()
670 static void isp1760_urb_done(struct usb_hcd *hcd, struct urb *urb) in isp1760_urb_done() argument
676 if (!urb->unlinked) { in isp1760_urb_done()
677 if (urb->status == -EINPROGRESS) in isp1760_urb_done()
678 urb->status = 0; in isp1760_urb_done()
681 if (usb_pipein(urb->pipe) && usb_pipetype(urb->pipe) != PIPE_CONTROL) { in isp1760_urb_done()
683 for (ptr = urb->transfer_buffer; in isp1760_urb_done()
684 ptr < urb->transfer_buffer + urb->transfer_buffer_length; in isp1760_urb_done()
690 usb_hcd_unlink_urb_from_ep(hcd, urb); in isp1760_urb_done()
692 usb_hcd_giveback_urb(hcd, urb, urb->status); in isp1760_urb_done()
696 static struct isp1760_qtd *qtd_alloc(gfp_t flags, struct urb *urb, in qtd_alloc() argument
706 qtd->urb = urb; in qtd_alloc()
765 return (usb_pipebulk(qtd->urb->pipe) && in is_short_bulk()
794 qtd->urb->actual_length += in collect_qtds()
803 if (qtd->urb->transfer_flags & URB_SHORT_NOT_OK) in collect_qtds()
804 qtd->urb->status = -EREMOTEIO; in collect_qtds()
815 (qtd->urb->status == -EINPROGRESS)) in collect_qtds()
816 qtd->urb->status = -EPIPE; in collect_qtds()
822 urb_listitem->urb = qtd->urb; in collect_qtds()
852 qtd_list)->urb->pipe)) { in enqueue_qtds()
894 if (usb_pipeint(qtd->urb->pipe)) in enqueue_qtds()
941 isp1760_urb_done(hcd, urb_listitem->urb); in schedule_ptds()
981 struct urb *urb) in check_int_transfer() argument
994 urb->status = -EPROTO; /* Default unknown error */ in check_int_transfer()
1002 urb->status = -ECOMM; /* Could not write data */ in check_int_transfer()
1008 urb->status = -EPROTO; /* timeout, bad CRC, PID in check_int_transfer()
1015 urb->status = -EOVERFLOW; in check_int_transfer()
1028 struct urb *urb) in check_atl_transfer() argument
1033 urb->status = -EOVERFLOW; in check_atl_transfer()
1035 urb->status = -EPIPE; /* Stall */ in check_atl_transfer()
1037 urb->status = -EPROTO; /* XactErr */ in check_atl_transfer()
1039 urb->status = -EPROTO; /* Unknown */ in check_atl_transfer()
1104 slots[slot].qtd->urb); in handle_done_ptds()
1119 slots[slot].qtd->urb); in handle_done_ptds()
1132 if ((usb_pipeint(qtd->urb->pipe)) && in handle_done_ptds()
1133 (qtd->urb->dev->speed != USB_SPEED_HIGH)) in handle_done_ptds()
1166 if ((qtd->urb->dev->speed != USB_SPEED_HIGH) && in handle_done_ptds()
1167 (qtd->urb->status != -EPIPE) && in handle_done_ptds()
1168 (qtd->urb->status != -EREMOTEIO)) { in handle_done_ptds()
1170 if (usb_hub_clear_tt_buffer(qtd->urb)) in handle_done_ptds()
1392 struct urb *urb, struct list_head *head, gfp_t flags) in packetize_urb() argument
1403 if (!urb->transfer_buffer && urb->transfer_buffer_length) { in packetize_urb()
1407 (long unsigned)urb->transfer_dma, in packetize_urb()
1408 urb->transfer_buffer_length); in packetize_urb()
1412 if (usb_pipein(urb->pipe)) in packetize_urb()
1417 if (usb_pipecontrol(urb->pipe)) { in packetize_urb()
1418 qtd = qtd_alloc(flags, urb, SETUP_PID); in packetize_urb()
1421 qtd_fill(qtd, urb->setup_packet, sizeof(struct usb_ctrlrequest)); in packetize_urb()
1425 if (urb->transfer_buffer_length == 0) in packetize_urb()
1429 maxpacketsize = max_packet(usb_maxpacket(urb->dev, urb->pipe, in packetize_urb()
1430 usb_pipeout(urb->pipe))); in packetize_urb()
1437 buf = urb->transfer_buffer; in packetize_urb()
1438 len = urb->transfer_buffer_length; in packetize_urb()
1443 qtd = qtd_alloc(flags, urb, packet_type); in packetize_urb()
1460 if (urb->transfer_buffer_length != 0) { in packetize_urb()
1463 if (usb_pipecontrol(urb->pipe)) { in packetize_urb()
1469 } else if (usb_pipebulk(urb->pipe) in packetize_urb()
1470 && (urb->transfer_flags & URB_ZERO_PACKET) in packetize_urb()
1471 && !(urb->transfer_buffer_length % in packetize_urb()
1476 qtd = qtd_alloc(flags, urb, packet_type); in packetize_urb()
1492 static int isp1760_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, in isp1760_urb_enqueue() argument
1503 switch (usb_pipetype(urb->pipe)) { in isp1760_urb_enqueue()
1511 if (urb->interval < 0) in isp1760_urb_enqueue()
1527 if (usb_pipein(urb->pipe)) in isp1760_urb_enqueue()
1528 urb->actual_length = 0; in isp1760_urb_enqueue()
1530 packetize_urb(hcd, urb, &new_qtds, mem_flags); in isp1760_urb_enqueue()
1542 retval = usb_hcd_link_urb_to_ep(hcd, urb); in isp1760_urb_enqueue()
1548 qh = urb->ep->hcpriv; in isp1760_urb_enqueue()
1563 usb_hcd_unlink_urb_from_ep(hcd, urb); in isp1760_urb_enqueue()
1568 urb->ep->hcpriv = qh; in isp1760_urb_enqueue()
1579 static void kill_transfer(struct usb_hcd *hcd, struct urb *urb, in kill_transfer() argument
1589 if (usb_pipecontrol(urb->pipe) || usb_pipebulk(urb->pipe)) { in kill_transfer()
1613 struct urb *urb; in dequeue_urb_from_qtd() local
1616 urb = qtd->urb; in dequeue_urb_from_qtd()
1619 if (qtd->urb != urb) in dequeue_urb_from_qtd()
1629 kill_transfer(hcd, urb, qh); in dequeue_urb_from_qtd()
1633 if ((urb->dev->speed != USB_SPEED_HIGH) && urb_was_running) { in dequeue_urb_from_qtd()
1635 if (usb_hub_clear_tt_buffer(urb)) in dequeue_urb_from_qtd()
1641 static int isp1760_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, in isp1760_urb_dequeue() argument
1651 retval = usb_hcd_check_unlink_urb(hcd, urb, status); in isp1760_urb_dequeue()
1655 qh = urb->ep->hcpriv; in isp1760_urb_dequeue()
1662 if (qtd->urb == urb) { in isp1760_urb_dequeue()
1668 urb->status = status; in isp1760_urb_dequeue()