Lines Matching refs:itd

164 dbg_itd (const char *label, struct fusbh200_hcd *fusbh200, struct fusbh200_itd *itd)  in dbg_itd()  argument
167 label, itd->frame, itd, hc32_to_cpu(fusbh200, itd->hw_next), in dbg_itd()
168 itd->urb); in dbg_itd()
171 hc32_to_cpu(fusbh200, itd->hw_transaction[0]), in dbg_itd()
172 hc32_to_cpu(fusbh200, itd->hw_transaction[1]), in dbg_itd()
173 hc32_to_cpu(fusbh200, itd->hw_transaction[2]), in dbg_itd()
174 hc32_to_cpu(fusbh200, itd->hw_transaction[3]), in dbg_itd()
175 hc32_to_cpu(fusbh200, itd->hw_transaction[4]), in dbg_itd()
176 hc32_to_cpu(fusbh200, itd->hw_transaction[5]), in dbg_itd()
177 hc32_to_cpu(fusbh200, itd->hw_transaction[6]), in dbg_itd()
178 hc32_to_cpu(fusbh200, itd->hw_transaction[7])); in dbg_itd()
181 hc32_to_cpu(fusbh200, itd->hw_bufp[0]), in dbg_itd()
182 hc32_to_cpu(fusbh200, itd->hw_bufp[1]), in dbg_itd()
183 hc32_to_cpu(fusbh200, itd->hw_bufp[2]), in dbg_itd()
184 hc32_to_cpu(fusbh200, itd->hw_bufp[3]), in dbg_itd()
185 hc32_to_cpu(fusbh200, itd->hw_bufp[4]), in dbg_itd()
186 hc32_to_cpu(fusbh200, itd->hw_bufp[5]), in dbg_itd()
187 hc32_to_cpu(fusbh200, itd->hw_bufp[6])); in dbg_itd()
189 itd->index[0], itd->index[1], itd->index[2], in dbg_itd()
190 itd->index[3], itd->index[4], itd->index[5], in dbg_itd()
191 itd->index[6], itd->index[7]); in dbg_itd()
603 " itd/%p", p.itd); in fill_periodic_buffer()
604 tag = Q_NEXT_TYPE(fusbh200, p.itd->hw_next); in fill_periodic_buffer()
605 p = p.itd->itd_next; in fill_periodic_buffer()
1251 struct fusbh200_itd *itd, *n; in end_free_itds() local
1257 list_for_each_entry_safe(itd, n, &fusbh200->cached_itd_list, itd_list) { in end_free_itds()
1258 list_del(&itd->itd_list); in end_free_itds()
1259 dma_pool_free(fusbh200->itd_pool, itd, itd->itd_dma); in end_free_itds()
1260 if (itd == fusbh200->last_itd_to_free) in end_free_itds()
3380 return &periodic->itd->itd_next; in periodic_next_shadow()
3462 if (q->itd->hw_transaction[uframe]) in periodic_usecs()
3463 usecs += q->itd->stream->usecs; in periodic_usecs()
3464 hw_p = &q->itd->hw_next; in periodic_usecs()
3465 q = &q->itd->itd_next; in periodic_usecs()
3518 type = Q_NEXT_TYPE(fusbh200, here.itd->hw_next); in tt_no_collision()
3519 here = here.itd->itd_next; in tt_no_collision()
4209 struct fusbh200_itd *itd; in itd_urb_transaction() local
4236 itd = list_first_entry(&stream->free_list, in itd_urb_transaction()
4238 if (itd->frame == fusbh200->now_frame) in itd_urb_transaction()
4240 list_del (&itd->itd_list); in itd_urb_transaction()
4241 itd_dma = itd->itd_dma; in itd_urb_transaction()
4245 itd = dma_pool_alloc (fusbh200->itd_pool, mem_flags, in itd_urb_transaction()
4248 if (!itd) { in itd_urb_transaction()
4255 memset (itd, 0, sizeof *itd); in itd_urb_transaction()
4256 itd->itd_dma = itd_dma; in itd_urb_transaction()
4257 list_add (&itd->itd_list, &sched->td_list); in itd_urb_transaction()
4432 struct fusbh200_itd *itd) in itd_init() argument
4437 itd->hw_next = FUSBH200_LIST_END(fusbh200); in itd_init()
4438 itd->hw_bufp [0] = stream->buf0; in itd_init()
4439 itd->hw_bufp [1] = stream->buf1; in itd_init()
4440 itd->hw_bufp [2] = stream->buf2; in itd_init()
4443 itd->index[i] = -1; in itd_init()
4451 struct fusbh200_itd *itd, in itd_patch() argument
4458 unsigned pg = itd->pg; in itd_patch()
4463 itd->index [uframe] = index; in itd_patch()
4465 itd->hw_transaction[uframe] = uf->transaction; in itd_patch()
4466 itd->hw_transaction[uframe] |= cpu_to_hc32(fusbh200, pg << 12); in itd_patch()
4467 itd->hw_bufp[pg] |= cpu_to_hc32(fusbh200, uf->bufp & ~(u32)0); in itd_patch()
4468 itd->hw_bufp_hi[pg] |= cpu_to_hc32(fusbh200, (u32)(uf->bufp >> 32)); in itd_patch()
4474 itd->pg = ++pg; in itd_patch()
4475 itd->hw_bufp[pg] |= cpu_to_hc32(fusbh200, bufp & ~(u32)0); in itd_patch()
4476 itd->hw_bufp_hi[pg] |= cpu_to_hc32(fusbh200, (u32)(bufp >> 32)); in itd_patch()
4481 itd_link (struct fusbh200_hcd *fusbh200, unsigned frame, struct fusbh200_itd *itd) in itd_link() argument
4498 itd->itd_next = here; in itd_link()
4499 itd->hw_next = *hw_p; in itd_link()
4500 prev->itd = itd; in itd_link()
4501 itd->frame = frame; in itd_link()
4503 *hw_p = cpu_to_hc32(fusbh200, itd->itd_dma | Q_TYPE_ITD); in itd_link()
4517 struct fusbh200_itd *itd; in itd_link_urb() local
4533 for (packet = 0, itd = NULL; packet < urb->number_of_packets; ) { in itd_link_urb()
4534 if (itd == NULL) { in itd_link_urb()
4540 itd = list_entry (iso_sched->td_list.next, in itd_link_urb()
4542 list_move_tail (&itd->itd_list, &stream->td_list); in itd_link_urb()
4543 itd->stream = stream; in itd_link_urb()
4544 itd->urb = urb; in itd_link_urb()
4545 itd_init (fusbh200, stream, itd); in itd_link_urb()
4551 itd_patch(fusbh200, itd, iso_sched, packet, uframe); in itd_link_urb()
4560 itd_link(fusbh200, frame & (fusbh200->periodic_size - 1), itd); in itd_link_urb()
4561 itd = NULL; in itd_link_urb()
4586 static bool itd_complete(struct fusbh200_hcd *fusbh200, struct fusbh200_itd *itd) in itd_complete() argument
4588 struct urb *urb = itd->urb; in itd_complete()
4593 struct fusbh200_iso_stream *stream = itd->stream; in itd_complete()
4599 if (likely (itd->index[uframe] == -1)) in itd_complete()
4601 urb_index = itd->index[uframe]; in itd_complete()
4604 t = hc32_to_cpup(fusbh200, &itd->hw_transaction [uframe]); in itd_complete()
4605 itd->hw_transaction [uframe] = 0; in itd_complete()
4662 itd->urb = NULL; in itd_complete()
4665 list_move_tail(&itd->itd_list, &stream->free_list); in itd_complete()
4784 if (q.itd->hw_transaction[uf] & in scan_isoc()
4789 q_p = &q.itd->itd_next; in scan_isoc()
4790 hw_p = &q.itd->hw_next; in scan_isoc()
4792 q.itd->hw_next); in scan_isoc()
4803 *q_p = q.itd->itd_next; in scan_isoc()
4804 *hw_p = q.itd->hw_next; in scan_isoc()
4805 type = Q_NEXT_TYPE(fusbh200, q.itd->hw_next); in scan_isoc()
4807 modified = itd_complete (fusbh200, q.itd); in scan_isoc()