Lines Matching refs:td
367 struct cdnsp_td *td, *td_temp; in cdnsp_ring_doorbell_for_active_rings() local
380 list_for_each_entry_safe(td, td_temp, &ep_ring->td_list, in cdnsp_ring_doorbell_for_active_rings()
382 if (td->drbl) in cdnsp_ring_doorbell_for_active_rings()
387 td->drbl = 1; in cdnsp_ring_doorbell_for_active_rings()
505 struct cdnsp_td *td, in cdnsp_td_to_noop() argument
508 struct cdnsp_segment *seg = td->start_seg; in cdnsp_td_to_noop()
509 union cdnsp_trb *trb = td->first_trb; in cdnsp_td_to_noop()
515 if (flip_cycle && trb != td->first_trb && trb != td->last_trb) in cdnsp_td_to_noop()
518 if (trb == td->last_trb) in cdnsp_td_to_noop()
599 struct cdnsp_td *td) in cdnsp_unmap_td_bounce_buffer() argument
601 struct cdnsp_segment *seg = td->bounce_seg; in cdnsp_unmap_td_bounce_buffer()
608 preq = td->preq; in cdnsp_unmap_td_bounce_buffer()
610 trace_cdnsp_bounce_unmap(td->preq, seg->bounce_len, seg->bounce_offs, in cdnsp_unmap_td_bounce_buffer()
707 cur_td = &preq->td; in cdnsp_remove_request()
890 struct cdnsp_td *td, in cdnsp_td_cleanup() argument
894 struct cdnsp_request *preq = td->preq; in cdnsp_td_cleanup()
897 cdnsp_unmap_td_bounce_buffer(pdev, ep_ring, td); in cdnsp_td_cleanup()
908 list_del_init(&td->td_list); in cdnsp_td_cleanup()
916 struct cdnsp_td *td, in cdnsp_finish_td() argument
939 while (ep_ring->dequeue != td->last_trb) in cdnsp_finish_td()
944 cdnsp_td_cleanup(pdev, td, ep_ring, status); in cdnsp_finish_td()
993 struct cdnsp_td *td, in cdnsp_process_ctrl_td() argument
1013 td->request_length_set = true; in cdnsp_process_ctrl_td()
1014 td->preq->request.actual = td->preq->request.length - remaining; in cdnsp_process_ctrl_td()
1018 if (!td->request_length_set) in cdnsp_process_ctrl_td()
1019 td->preq->request.actual = td->preq->request.length; in cdnsp_process_ctrl_td()
1023 td = list_entry(ep_ring->td_list.next, struct cdnsp_td, in cdnsp_process_ctrl_td()
1028 &td->last_trb->generic); in cdnsp_process_ctrl_td()
1034 cdnsp_finish_td(pdev, td, event, pep, status); in cdnsp_process_ctrl_td()
1041 struct cdnsp_td *td, in cdnsp_process_isoc_td() argument
1047 struct cdnsp_request *preq = td->preq; in cdnsp_process_isoc_td()
1099 td->preq->request.actual += td_length; in cdnsp_process_isoc_td()
1101 cdnsp_finish_td(pdev, td, event, pep, &status); in cdnsp_process_isoc_td()
1105 struct cdnsp_td *td, in cdnsp_skip_isoc_td() argument
1113 td->preq->request.status = -EXDEV; in cdnsp_skip_isoc_td()
1114 td->preq->request.actual = 0; in cdnsp_skip_isoc_td()
1117 while (ep_ring->dequeue != td->last_trb) in cdnsp_skip_isoc_td()
1122 cdnsp_td_cleanup(pdev, td, ep_ring, &status); in cdnsp_skip_isoc_td()
1129 struct cdnsp_td *td, in cdnsp_process_bulk_intr_td() argument
1143 requested = td->preq->request.length; in cdnsp_process_bulk_intr_td()
1151 td->preq->request.actual = remaining; in cdnsp_process_bulk_intr_td()
1160 if (ep_trb == td->last_trb) in cdnsp_process_bulk_intr_td()
1165 td->preq->request.actual = ep_trb_len; in cdnsp_process_bulk_intr_td()
1170 cdnsp_finish_td(pdev, td, event, ep, status); in cdnsp_process_bulk_intr_td()
1205 struct cdnsp_td *td, *td_temp; in cdnsp_handle_tx_nrdy() local
1212 list_for_each_entry_safe(td, td_temp, &ep_ring->td_list, in cdnsp_handle_tx_nrdy()
1214 td->drbl = 0; in cdnsp_handle_tx_nrdy()
1236 struct cdnsp_td *td; in cdnsp_handle_tx_event() local
1328 td = list_entry(ep_ring->td_list.next, struct cdnsp_td, in cdnsp_handle_tx_event()
1333 ep_ring->dequeue, td->last_trb, in cdnsp_handle_tx_event()
1350 desc = td->preq->pep->endpoint.desc; in cdnsp_handle_tx_event()
1362 cdnsp_skip_isoc_td(pdev, td, event, pep, status); in cdnsp_handle_tx_event()
1373 cdnsp_skip_isoc_td(pdev, td, event, pep, status); in cdnsp_handle_tx_event()
1387 cdnsp_process_ctrl_td(pdev, td, ep_trb, event, pep, in cdnsp_handle_tx_event()
1390 cdnsp_process_isoc_td(pdev, td, ep_trb, event, pep, in cdnsp_handle_tx_event()
1393 cdnsp_process_bulk_intr_td(pdev, td, ep_trb, event, pep, in cdnsp_handle_tx_event()
1682 INIT_LIST_HEAD(&preq->td.td_list); in cdnsp_prepare_transfer()
1683 preq->td.preq = preq; in cdnsp_prepare_transfer()
1686 list_add_tail(&preq->td.td_list, &ep_ring->td_list); in cdnsp_prepare_transfer()
1690 preq->td.start_seg = ep_ring->enq_seg; in cdnsp_prepare_transfer()
1691 preq->td.first_trb = ep_ring->enqueue; in cdnsp_prepare_transfer()
1946 preq->td.bounce_seg = ring->enq_seg; in cdnsp_queue_bulk_tx()
1960 preq->td.last_trb = ring->enqueue; in cdnsp_queue_bulk_tx()
2005 preq->td.drbl = 1; in cdnsp_queue_bulk_tx()
2078 preq->td.last_trb = ep_ring->enqueue; in cdnsp_queue_ctrl_tx()
2282 preq->td.last_trb = ep_ring->enqueue; in cdnsp_queue_isoc_tx()
2309 list_del_init(&preq->td.td_list); in cdnsp_queue_isoc_tx()
2319 preq->td.last_trb = ep_ring->enqueue; in cdnsp_queue_isoc_tx()
2321 cdnsp_td_to_noop(pdev, ep_ring, &preq->td, true); in cdnsp_queue_isoc_tx()
2324 ep_ring->enqueue = preq->td.first_trb; in cdnsp_queue_isoc_tx()
2325 ep_ring->enq_seg = preq->td.start_seg; in cdnsp_queue_isoc_tx()