Lines Matching refs:sitd
57 return &periodic->sitd->sitd_next; in periodic_next_shadow()
482 if (same_tt (dev, here.sitd->urb->dev)) { in tt_no_collision()
485 mask = hc32_to_cpu(ehci, here.sitd in tt_no_collision()
492 type = Q_NEXT_TYPE(ehci, here.sitd->hw_next); in tt_no_collision()
493 here = here.sitd->sitd_next; in tt_no_collision()
2064 struct ehci_sitd *sitd; in sitd_urb_transaction() local
2090 sitd = list_first_entry(&stream->free_list, in sitd_urb_transaction()
2092 if (sitd->frame == ehci->now_frame) in sitd_urb_transaction()
2094 list_del (&sitd->sitd_list); in sitd_urb_transaction()
2095 sitd_dma = sitd->sitd_dma; in sitd_urb_transaction()
2099 sitd = dma_pool_alloc (ehci->sitd_pool, mem_flags, in sitd_urb_transaction()
2102 if (!sitd) { in sitd_urb_transaction()
2109 memset (sitd, 0, sizeof *sitd); in sitd_urb_transaction()
2110 sitd->sitd_dma = sitd_dma; in sitd_urb_transaction()
2111 sitd->frame = NO_FRAME; in sitd_urb_transaction()
2112 list_add (&sitd->sitd_list, &iso_sched->td_list); in sitd_urb_transaction()
2129 struct ehci_sitd *sitd, in sitd_patch() argument
2137 sitd->hw_next = EHCI_LIST_END(ehci); in sitd_patch()
2138 sitd->hw_fullspeed_ep = stream->address; in sitd_patch()
2139 sitd->hw_uframe = stream->splits; in sitd_patch()
2140 sitd->hw_results = uf->transaction; in sitd_patch()
2141 sitd->hw_backpointer = EHCI_LIST_END(ehci); in sitd_patch()
2144 sitd->hw_buf[0] = cpu_to_hc32(ehci, bufp); in sitd_patch()
2145 sitd->hw_buf_hi[0] = cpu_to_hc32(ehci, bufp >> 32); in sitd_patch()
2147 sitd->hw_buf[1] = cpu_to_hc32(ehci, uf->buf1); in sitd_patch()
2150 sitd->hw_buf_hi[1] = cpu_to_hc32(ehci, bufp >> 32); in sitd_patch()
2151 sitd->index = index; in sitd_patch()
2155 sitd_link (struct ehci_hcd *ehci, unsigned frame, struct ehci_sitd *sitd) in sitd_link() argument
2158 sitd->sitd_next = ehci->pshadow [frame]; in sitd_link()
2159 sitd->hw_next = ehci->periodic [frame]; in sitd_link()
2160 ehci->pshadow [frame].sitd = sitd; in sitd_link()
2161 sitd->frame = frame; in sitd_link()
2163 ehci->periodic[frame] = cpu_to_hc32(ehci, sitd->sitd_dma | Q_TYPE_SITD); in sitd_link()
2177 struct ehci_sitd *sitd; in sitd_link_urb() local
2194 for (packet = sched->first_packet, sitd = NULL; in sitd_link_urb()
2203 sitd = list_entry (sched->td_list.next, in sitd_link_urb()
2205 list_move_tail (&sitd->sitd_list, &stream->td_list); in sitd_link_urb()
2206 sitd->stream = stream; in sitd_link_urb()
2207 sitd->urb = urb; in sitd_link_urb()
2209 sitd_patch(ehci, stream, sitd, sched, packet); in sitd_link_urb()
2211 sitd); in sitd_link_urb()
2240 static bool sitd_complete(struct ehci_hcd *ehci, struct ehci_sitd *sitd) in sitd_complete() argument
2242 struct urb *urb = sitd->urb; in sitd_complete()
2246 struct ehci_iso_stream *stream = sitd->stream; in sitd_complete()
2250 urb_index = sitd->index; in sitd_complete()
2252 t = hc32_to_cpup(ehci, &sitd->hw_results); in sitd_complete()
2303 sitd->urb = NULL; in sitd_complete()
2306 list_move_tail(&sitd->sitd_list, &stream->free_list); in sitd_complete()
2465 && (q.sitd->hw_results & in scan_isoc()
2468 q_p = &q.sitd->sitd_next; in scan_isoc()
2469 hw_p = &q.sitd->hw_next; in scan_isoc()
2471 q.sitd->hw_next); in scan_isoc()
2480 *q_p = q.sitd->sitd_next; in scan_isoc()
2482 q.sitd->hw_next != EHCI_LIST_END(ehci)) in scan_isoc()
2483 *hw_p = q.sitd->hw_next; in scan_isoc()
2487 type = Q_NEXT_TYPE(ehci, q.sitd->hw_next); in scan_isoc()
2489 modified = sitd_complete (ehci, q.sitd); in scan_isoc()