Lines Matching refs:urb

633 	struct urb *urb;
645 urb = td->urb;
646 urb_priv = urb->hcpriv;
650 fhci_done_td(urb, td);
654 * if all this urb's TDs are done, call complete()
660 fhci_urb_complete_free(fhci, urb);
691 * adds urb to the endpoint descriptor list
695 * urb USB request block data structure
697 void fhci_queue_urb(struct fhci_hcd *fhci, struct urb *urb)
699 struct ed *ed = urb->ep->hcpriv;
700 struct urb_priv *urb_priv = urb->hcpriv;
701 u32 data_len = urb->transfer_buffer_length;
709 ed->dev_addr = usb_pipedevice(urb->pipe);
710 ed->ep_addr = usb_pipeendpoint(urb->pipe);
711 switch (usb_pipetype(urb->pipe)) {
727 ed->speed = (urb->dev->speed == USB_SPEED_LOW) ?
729 ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc);
730 urb->ep->hcpriv = ed;
738 urb->start_frame = ed->td_head ? ed->next_iso :
740 ed->next_iso = (urb->start_frame + urb->interval *
741 urb->number_of_packets) & 0x07ff;
748 if (usb_gettoggle(urb->dev, usb_pipeendpoint(urb->pipe),
749 usb_pipeout(urb->pipe)))
753 usb_settoggle(urb->dev, usb_pipeendpoint(urb->pipe),
754 usb_pipeout(urb->pipe), 1);
760 data = urb->transfer_buffer;
766 if (urb->transfer_flags & URB_ZERO_PACKET &&
767 urb->transfer_buffer_length > 0 &&
768 ((urb->transfer_buffer_length %
769 usb_endpoint_maxp(&urb->ep->desc)) == 0))
772 fhci_td_fill(fhci, urb, urb_priv, ed, cnt,
773 usb_pipeout(urb->pipe) ? FHCI_TA_OUT :
783 fhci_td_fill(fhci, urb, urb_priv, ed, cnt,
784 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN,
789 if (urb->transfer_flags & URB_ZERO_PACKET &&
791 fhci_td_fill(fhci, urb, urb_priv, ed, cnt,
792 usb_pipeout(urb->pipe) ? FHCI_TA_OUT :
799 urb->start_frame = get_frame_num(fhci) + 1;
800 fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
801 usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN,
803 urb->interval, urb->start_frame, true);
806 ed->dev_addr = usb_pipedevice(urb->pipe);
807 ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc);
810 fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP,
811 USB_TD_TOGGLE_DATA0, urb->setup_packet, 8, 0, 0, true);
815 fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
816 usb_pipeout(urb->pipe) ? FHCI_TA_OUT :
824 fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
825 (usb_pipeout(urb->pipe) ? FHCI_TA_IN :
829 fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
836 for (cnt = 0; cnt < urb->number_of_packets; cnt++) {
837 u16 frame = urb->start_frame;
844 frame += cnt * urb->interval;
846 fhci_td_fill(fhci, urb, urb_priv, ed, cnt,
847 usb_pipeout(urb->pipe) ? FHCI_TA_OUT :
850 data + urb->iso_frame_desc[cnt].offset,
851 urb->iso_frame_desc[cnt].length,
852 urb->interval, frame, true);
864 urb->pipe &= ~0x1f;
865 urb->pipe |= urb_state & 0x1f;