Lines Matching refs:itd
144 dbg_itd(const char *label, struct fotg210_hcd *fotg210, struct fotg210_itd *itd) in dbg_itd() argument
147 itd->frame, itd, hc32_to_cpu(fotg210, itd->hw_next), in dbg_itd()
148 itd->urb); in dbg_itd()
152 hc32_to_cpu(fotg210, itd->hw_transaction[0]), in dbg_itd()
153 hc32_to_cpu(fotg210, itd->hw_transaction[1]), in dbg_itd()
154 hc32_to_cpu(fotg210, itd->hw_transaction[2]), in dbg_itd()
155 hc32_to_cpu(fotg210, itd->hw_transaction[3]), in dbg_itd()
156 hc32_to_cpu(fotg210, itd->hw_transaction[4]), in dbg_itd()
157 hc32_to_cpu(fotg210, itd->hw_transaction[5]), in dbg_itd()
158 hc32_to_cpu(fotg210, itd->hw_transaction[6]), in dbg_itd()
159 hc32_to_cpu(fotg210, itd->hw_transaction[7])); in dbg_itd()
163 hc32_to_cpu(fotg210, itd->hw_bufp[0]), in dbg_itd()
164 hc32_to_cpu(fotg210, itd->hw_bufp[1]), in dbg_itd()
165 hc32_to_cpu(fotg210, itd->hw_bufp[2]), in dbg_itd()
166 hc32_to_cpu(fotg210, itd->hw_bufp[3]), in dbg_itd()
167 hc32_to_cpu(fotg210, itd->hw_bufp[4]), in dbg_itd()
168 hc32_to_cpu(fotg210, itd->hw_bufp[5]), in dbg_itd()
169 hc32_to_cpu(fotg210, itd->hw_bufp[6])); in dbg_itd()
172 itd->index[0], itd->index[1], itd->index[2], in dbg_itd()
173 itd->index[3], itd->index[4], itd->index[5], in dbg_itd()
174 itd->index[6], itd->index[7]); in dbg_itd()
602 " itd/%p", p.itd); in fill_periodic_buffer()
603 tag = Q_NEXT_TYPE(fotg210, p.itd->hw_next); in fill_periodic_buffer()
604 p = p.itd->itd_next; in fill_periodic_buffer()
1237 struct fotg210_itd *itd, *n; in end_free_itds() local
1242 list_for_each_entry_safe(itd, n, &fotg210->cached_itd_list, itd_list) { in end_free_itds()
1243 list_del(&itd->itd_list); in end_free_itds()
1244 dma_pool_free(fotg210->itd_pool, itd, itd->itd_dma); in end_free_itds()
1245 if (itd == fotg210->last_itd_to_free) in end_free_itds()
3285 return &periodic->itd->itd_next; in periodic_next_shadow()
3367 if (q->itd->hw_transaction[uframe]) in periodic_usecs()
3368 usecs += q->itd->stream->usecs; in periodic_usecs()
3369 hw_p = &q->itd->hw_next; in periodic_usecs()
3370 q = &q->itd->itd_next; in periodic_usecs()
3416 type = Q_NEXT_TYPE(fotg210, here.itd->hw_next); in tt_no_collision()
3417 here = here.itd->itd_next; in tt_no_collision()
4076 struct fotg210_itd *itd; in itd_urb_transaction() local
4103 itd = list_first_entry(&stream->free_list, in itd_urb_transaction()
4105 if (itd->frame == fotg210->now_frame) in itd_urb_transaction()
4107 list_del(&itd->itd_list); in itd_urb_transaction()
4108 itd_dma = itd->itd_dma; in itd_urb_transaction()
4112 itd = dma_pool_alloc(fotg210->itd_pool, mem_flags, in itd_urb_transaction()
4115 if (!itd) { in itd_urb_transaction()
4122 memset(itd, 0, sizeof(*itd)); in itd_urb_transaction()
4123 itd->itd_dma = itd_dma; in itd_urb_transaction()
4124 list_add(&itd->itd_list, &sched->td_list); in itd_urb_transaction()
4284 struct fotg210_iso_stream *stream, struct fotg210_itd *itd) in itd_init() argument
4289 itd->hw_next = FOTG210_LIST_END(fotg210); in itd_init()
4290 itd->hw_bufp[0] = stream->buf0; in itd_init()
4291 itd->hw_bufp[1] = stream->buf1; in itd_init()
4292 itd->hw_bufp[2] = stream->buf2; in itd_init()
4295 itd->index[i] = -1; in itd_init()
4301 struct fotg210_itd *itd, struct fotg210_iso_sched *iso_sched, in itd_patch() argument
4305 unsigned pg = itd->pg; in itd_patch()
4308 itd->index[uframe] = index; in itd_patch()
4310 itd->hw_transaction[uframe] = uf->transaction; in itd_patch()
4311 itd->hw_transaction[uframe] |= cpu_to_hc32(fotg210, pg << 12); in itd_patch()
4312 itd->hw_bufp[pg] |= cpu_to_hc32(fotg210, uf->bufp & ~(u32)0); in itd_patch()
4313 itd->hw_bufp_hi[pg] |= cpu_to_hc32(fotg210, (u32)(uf->bufp >> 32)); in itd_patch()
4319 itd->pg = ++pg; in itd_patch()
4320 itd->hw_bufp[pg] |= cpu_to_hc32(fotg210, bufp & ~(u32)0); in itd_patch()
4321 itd->hw_bufp_hi[pg] |= cpu_to_hc32(fotg210, (u32)(bufp >> 32)); in itd_patch()
4326 struct fotg210_itd *itd) in itd_link() argument
4343 itd->itd_next = here; in itd_link()
4344 itd->hw_next = *hw_p; in itd_link()
4345 prev->itd = itd; in itd_link()
4346 itd->frame = frame; in itd_link()
4348 *hw_p = cpu_to_hc32(fotg210, itd->itd_dma | Q_TYPE_ITD); in itd_link()
4358 struct fotg210_itd *itd; in itd_link_urb() local
4374 for (packet = 0, itd = NULL; packet < urb->number_of_packets;) { in itd_link_urb()
4375 if (itd == NULL) { in itd_link_urb()
4380 itd = list_entry(iso_sched->td_list.next, in itd_link_urb()
4382 list_move_tail(&itd->itd_list, &stream->td_list); in itd_link_urb()
4383 itd->stream = stream; in itd_link_urb()
4384 itd->urb = urb; in itd_link_urb()
4385 itd_init(fotg210, stream, itd); in itd_link_urb()
4391 itd_patch(fotg210, itd, iso_sched, packet, uframe); in itd_link_urb()
4401 itd); in itd_link_urb()
4402 itd = NULL; in itd_link_urb()
4428 static bool itd_complete(struct fotg210_hcd *fotg210, struct fotg210_itd *itd) in itd_complete() argument
4430 struct urb *urb = itd->urb; in itd_complete()
4435 struct fotg210_iso_stream *stream = itd->stream; in itd_complete()
4441 if (likely(itd->index[uframe] == -1)) in itd_complete()
4443 urb_index = itd->index[uframe]; in itd_complete()
4446 t = hc32_to_cpup(fotg210, &itd->hw_transaction[uframe]); in itd_complete()
4447 itd->hw_transaction[uframe] = 0; in itd_complete()
4504 itd->urb = NULL; in itd_complete()
4507 list_move_tail(&itd->itd_list, &stream->free_list); in itd_complete()
4604 if (q.itd->hw_transaction[uf] & in scan_frame_queue()
4609 q_p = &q.itd->itd_next; in scan_frame_queue()
4610 hw_p = &q.itd->hw_next; in scan_frame_queue()
4612 q.itd->hw_next); in scan_frame_queue()
4623 *q_p = q.itd->itd_next; in scan_frame_queue()
4624 *hw_p = q.itd->hw_next; in scan_frame_queue()
4625 type = Q_NEXT_TYPE(fotg210, q.itd->hw_next); in scan_frame_queue()
4627 modified = itd_complete(fotg210, q.itd); in scan_frame_queue()