Lines Matching refs:urb

482 				if (same_tt (dev, here.sitd->urb->dev)) {  in tt_no_collision()
930 struct urb *urb, in intr_submit() argument
941 epnum = urb->ep->desc.bEndpointAddress; in intr_submit()
949 status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); in intr_submit()
955 qh = qh_append_tds(ehci, urb, &empty, epnum, &urb->ep->hcpriv); in intr_submit()
966 qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); in intr_submit()
983 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); in intr_submit()
987 qtd_list_free (ehci, urb, qtd_list); in intr_submit()
1043 struct urb *urb in iso_stream_init() argument
1048 struct usb_device *dev = urb->dev; in iso_stream_init()
1058 epnum = usb_pipeendpoint(urb->pipe); in iso_stream_init()
1059 is_input = usb_pipein(urb->pipe) ? USB_DIR_IN : 0; in iso_stream_init()
1060 maxp = usb_endpoint_maxp(&urb->ep->desc); in iso_stream_init()
1088 1 << (urb->ep->desc.bInterval - 1)); in iso_stream_init()
1091 stream->ps.bw_uperiod = min_t(unsigned, tmp, urb->interval); in iso_stream_init()
1093 stream->uperiod = urb->interval; in iso_stream_init()
1094 stream->ps.period = urb->interval >> 3; in iso_stream_init()
1131 1 << (urb->ep->desc.bInterval - 1)); in iso_stream_init()
1134 stream->ps.bw_period = min_t(unsigned, tmp, urb->interval); in iso_stream_init()
1137 stream->ps.period = urb->interval; in iso_stream_init()
1138 stream->uperiod = urb->interval << 3; in iso_stream_init()
1147 stream->ps.ep = urb->ep; in iso_stream_init()
1154 iso_stream_find (struct ehci_hcd *ehci, struct urb *urb) in iso_stream_find() argument
1161 epnum = usb_pipeendpoint (urb->pipe); in iso_stream_find()
1162 if (usb_pipein(urb->pipe)) in iso_stream_find()
1163 ep = urb->dev->ep_in[epnum]; in iso_stream_find()
1165 ep = urb->dev->ep_out[epnum]; in iso_stream_find()
1174 iso_stream_init(ehci, stream, urb); in iso_stream_find()
1180 urb->dev->devpath, epnum, in iso_stream_find()
1181 usb_pipein(urb->pipe) ? "in" : "out"); in iso_stream_find()
1212 struct urb *urb in itd_sched_init() argument
1216 dma_addr_t dma = urb->transfer_dma; in itd_sched_init()
1219 iso_sched->span = urb->number_of_packets * stream->uperiod; in itd_sched_init()
1224 for (i = 0; i < urb->number_of_packets; i++) { in itd_sched_init()
1230 length = urb->iso_frame_desc [i].length; in itd_sched_init()
1231 buf = dma + urb->iso_frame_desc [i].offset; in itd_sched_init()
1235 if (unlikely (((i + 1) == urb->number_of_packets)) in itd_sched_init()
1236 && !(urb->transfer_flags & URB_NO_INTERRUPT)) in itd_sched_init()
1266 struct urb *urb, in itd_urb_transaction() argument
1277 sched = iso_sched_alloc (urb->number_of_packets, mem_flags); in itd_urb_transaction()
1281 itd_sched_init(ehci, sched, stream, urb); in itd_urb_transaction()
1283 if (urb->interval < 8) in itd_urb_transaction()
1286 num_itds = urb->number_of_packets; in itd_urb_transaction()
1324 urb->hcpriv = sched; in itd_urb_transaction()
1325 urb->error_count = 0; in itd_urb_transaction()
1497 struct urb *urb, in iso_stream_schedule() argument
1505 struct ehci_iso_sched *sched = urb->hcpriv; in iso_stream_schedule()
1516 ehci_to_hcd(ehci), urb->ep))) { in iso_stream_schedule()
1555 ehci_dbg(ehci, "iso sched full %p", urb); in iso_stream_schedule()
1610 urb, stream->next_uframe, base, period, mod); in iso_stream_schedule()
1620 (urb->transfer_flags & URB_ISO_ASAP))) in iso_stream_schedule()
1629 if (urb->transfer_flags & URB_ISO_ASAP) in iso_stream_schedule()
1639 urb, start + base, span - period, now2 + base, in iso_stream_schedule()
1653 urb->error_count = skip / period; in iso_stream_schedule()
1655 sched->first_packet = urb->error_count; in iso_stream_schedule()
1666 urb, start, span - period, mod + wrap); in iso_stream_schedule()
1675 urb->start_frame = start & (mod - 1); in iso_stream_schedule()
1677 urb->start_frame >>= 3; in iso_stream_schedule()
1682 urb->hcpriv = NULL; in iso_stream_schedule()
1767 struct urb *urb, in itd_link_urb() argument
1774 struct ehci_iso_sched *iso_sched = urb->hcpriv; in itd_link_urb()
1792 packet < urb->number_of_packets;) { in itd_link_urb()
1803 itd->urb = urb; in itd_link_urb()
1818 || packet == urb->number_of_packets) { in itd_link_urb()
1827 urb->hcpriv = stream; in itd_link_urb()
1847 struct urb *urb = itd->urb; in itd_complete() local
1861 desc = &urb->iso_frame_desc [urb_index]; in itd_complete()
1868 urb->error_count++; in itd_complete()
1870 desc->status = usb_pipein (urb->pipe) in itd_complete()
1881 urb->actual_length += desc->actual_length; in itd_complete()
1886 urb->actual_length += desc->actual_length; in itd_complete()
1889 urb->error_count++; in itd_complete()
1894 if (likely ((urb_index + 1) != urb->number_of_packets)) in itd_complete()
1903 dev = urb->dev; in itd_complete()
1904 ehci_urb_done(ehci, urb, 0); in itd_complete()
1906 urb = NULL; in itd_complete()
1922 itd->urb = NULL; in itd_complete()
1939 static int itd_submit (struct ehci_hcd *ehci, struct urb *urb, in itd_submit() argument
1947 stream = iso_stream_find (ehci, urb); in itd_submit()
1952 if (unlikely(urb->interval != stream->uperiod)) { in itd_submit()
1954 stream->uperiod, urb->interval); in itd_submit()
1961 __func__, urb->dev->devpath, urb, in itd_submit()
1962 usb_pipeendpoint (urb->pipe), in itd_submit()
1963 usb_pipein (urb->pipe) ? "in" : "out", in itd_submit()
1964 urb->transfer_buffer_length, in itd_submit()
1965 urb->number_of_packets, urb->interval, in itd_submit()
1970 status = itd_urb_transaction (stream, ehci, urb, mem_flags); in itd_submit()
1982 status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); in itd_submit()
1985 status = iso_stream_schedule(ehci, urb, stream); in itd_submit()
1987 itd_link_urb (ehci, urb, ehci->periodic_size << 3, stream); in itd_submit()
1990 ehci_urb_done(ehci, urb, 0); in itd_submit()
1992 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); in itd_submit()
2012 struct urb *urb in sitd_sched_init() argument
2016 dma_addr_t dma = urb->transfer_dma; in sitd_sched_init()
2019 iso_sched->span = urb->number_of_packets * stream->ps.period; in sitd_sched_init()
2024 for (i = 0; i < urb->number_of_packets; i++) { in sitd_sched_init()
2030 length = urb->iso_frame_desc [i].length & 0x03ff; in sitd_sched_init()
2031 buf = dma + urb->iso_frame_desc [i].offset; in sitd_sched_init()
2034 if (((i + 1) == urb->number_of_packets) in sitd_sched_init()
2035 && !(urb->transfer_flags & URB_NO_INTERRUPT)) in sitd_sched_init()
2060 struct urb *urb, in sitd_urb_transaction() argument
2070 iso_sched = iso_sched_alloc (urb->number_of_packets, mem_flags); in sitd_urb_transaction()
2074 sitd_sched_init(ehci, iso_sched, stream, urb); in sitd_urb_transaction()
2078 for (i = 0; i < urb->number_of_packets; i++) { in sitd_urb_transaction()
2116 urb->hcpriv = iso_sched; in sitd_urb_transaction()
2117 urb->error_count = 0; in sitd_urb_transaction()
2169 struct urb *urb, in sitd_link_urb() argument
2176 struct ehci_iso_sched *sched = urb->hcpriv; in sitd_link_urb()
2195 packet < urb->number_of_packets; in sitd_link_urb()
2207 sitd->urb = urb; in sitd_link_urb()
2219 urb->hcpriv = stream; in sitd_link_urb()
2242 struct urb *urb = sitd->urb; in sitd_complete() local
2251 desc = &urb->iso_frame_desc [urb_index]; in sitd_complete()
2256 urb->error_count++; in sitd_complete()
2258 desc->status = usb_pipein (urb->pipe) in sitd_complete()
2267 urb->error_count++; in sitd_complete()
2271 urb->actual_length += desc->actual_length; in sitd_complete()
2275 if ((urb_index + 1) != urb->number_of_packets) in sitd_complete()
2284 dev = urb->dev; in sitd_complete()
2285 ehci_urb_done(ehci, urb, 0); in sitd_complete()
2287 urb = NULL; in sitd_complete()
2303 sitd->urb = NULL; in sitd_complete()
2319 static int sitd_submit (struct ehci_hcd *ehci, struct urb *urb, in sitd_submit() argument
2327 stream = iso_stream_find (ehci, urb); in sitd_submit()
2332 if (urb->interval != stream->ps.period) { in sitd_submit()
2334 stream->ps.period, urb->interval); in sitd_submit()
2341 urb, urb->dev->devpath, in sitd_submit()
2342 usb_pipeendpoint (urb->pipe), in sitd_submit()
2343 usb_pipein (urb->pipe) ? "in" : "out", in sitd_submit()
2344 urb->transfer_buffer_length); in sitd_submit()
2348 status = sitd_urb_transaction (stream, ehci, urb, mem_flags); in sitd_submit()
2360 status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); in sitd_submit()
2363 status = iso_stream_schedule(ehci, urb, stream); in sitd_submit()
2365 sitd_link_urb (ehci, urb, ehci->periodic_size << 3, stream); in sitd_submit()
2368 ehci_urb_done(ehci, urb, 0); in sitd_submit()
2370 usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); in sitd_submit()