Lines Matching refs:urb

637 	struct urb *urb;  in process_done_list()  local
649 urb = td->urb; in process_done_list()
650 urb_priv = urb->hcpriv; in process_done_list()
654 fhci_done_td(urb, td); in process_done_list()
664 fhci_urb_complete_free(fhci, urb); in process_done_list()
701 void fhci_queue_urb(struct fhci_hcd *fhci, struct urb *urb) in fhci_queue_urb() argument
703 struct ed *ed = urb->ep->hcpriv; in fhci_queue_urb()
704 struct urb_priv *urb_priv = urb->hcpriv; in fhci_queue_urb()
705 u32 data_len = urb->transfer_buffer_length; in fhci_queue_urb()
714 ed->dev_addr = usb_pipedevice(urb->pipe); in fhci_queue_urb()
715 ed->ep_addr = usb_pipeendpoint(urb->pipe); in fhci_queue_urb()
716 switch (usb_pipetype(urb->pipe)) { in fhci_queue_urb()
732 ed->speed = (urb->dev->speed == USB_SPEED_LOW) ? in fhci_queue_urb()
734 ed->max_pkt_size = usb_maxpacket(urb->dev, in fhci_queue_urb()
735 urb->pipe, usb_pipeout(urb->pipe)); in fhci_queue_urb()
736 urb->ep->hcpriv = ed; in fhci_queue_urb()
744 urb->start_frame = ed->td_head ? ed->next_iso : in fhci_queue_urb()
746 ed->next_iso = (urb->start_frame + urb->interval * in fhci_queue_urb()
747 urb->number_of_packets) & 0x07ff; in fhci_queue_urb()
754 if (usb_gettoggle(urb->dev, usb_pipeendpoint(urb->pipe), in fhci_queue_urb()
755 usb_pipeout(urb->pipe))) in fhci_queue_urb()
759 usb_settoggle(urb->dev, usb_pipeendpoint(urb->pipe), in fhci_queue_urb()
760 usb_pipeout(urb->pipe), 1); in fhci_queue_urb()
766 data = urb->transfer_buffer; in fhci_queue_urb()
772 if (urb->transfer_flags & URB_ZERO_PACKET && in fhci_queue_urb()
773 urb->transfer_buffer_length > 0 && in fhci_queue_urb()
774 ((urb->transfer_buffer_length % in fhci_queue_urb()
775 usb_maxpacket(urb->dev, urb->pipe, in fhci_queue_urb()
776 usb_pipeout(urb->pipe))) == 0)) in fhci_queue_urb()
779 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, in fhci_queue_urb()
780 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : in fhci_queue_urb()
790 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, in fhci_queue_urb()
791 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN, in fhci_queue_urb()
796 if (urb->transfer_flags & URB_ZERO_PACKET && in fhci_queue_urb()
798 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, in fhci_queue_urb()
799 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : in fhci_queue_urb()
806 urb->start_frame = get_frame_num(fhci) + 1; in fhci_queue_urb()
807 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, in fhci_queue_urb()
808 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN, in fhci_queue_urb()
810 urb->interval, urb->start_frame, true); in fhci_queue_urb()
813 ed->dev_addr = usb_pipedevice(urb->pipe); in fhci_queue_urb()
814 ed->max_pkt_size = usb_maxpacket(urb->dev, urb->pipe, in fhci_queue_urb()
815 usb_pipeout(urb->pipe)); in fhci_queue_urb()
817 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP, in fhci_queue_urb()
818 USB_TD_TOGGLE_DATA0, urb->setup_packet, 8, 0, 0, true); in fhci_queue_urb()
822 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, in fhci_queue_urb()
823 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : in fhci_queue_urb()
831 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, in fhci_queue_urb()
832 (usb_pipeout(urb->pipe) ? FHCI_TA_IN : in fhci_queue_urb()
836 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, in fhci_queue_urb()
843 for (cnt = 0; cnt < urb->number_of_packets; cnt++) { in fhci_queue_urb()
844 u16 frame = urb->start_frame; in fhci_queue_urb()
851 frame += cnt * urb->interval; in fhci_queue_urb()
853 td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, in fhci_queue_urb()
854 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : in fhci_queue_urb()
857 data + urb->iso_frame_desc[cnt].offset, in fhci_queue_urb()
858 urb->iso_frame_desc[cnt].length, in fhci_queue_urb()
859 urb->interval, frame, true); in fhci_queue_urb()
871 urb->pipe &= ~0x1f; in fhci_queue_urb()
872 urb->pipe |= urb_state & 0x1f; in fhci_queue_urb()