Lines Matching refs:td

203 	etd->td = NULL;  in reset_etd()
571 struct td *td; in schedule_isoc_etds() local
590 td = list_entry(ep_priv->td_list.next, struct td, list); in schedule_isoc_etds()
591 list_del(&td->list); in schedule_isoc_etds()
592 urb_priv = td->urb->hcpriv; in schedule_isoc_etds()
595 if (frame_after(cur_frame, td->frame)) { in schedule_isoc_etds()
597 cur_frame, td->frame); in schedule_isoc_etds()
599 td->urb->iso_frame_desc[ in schedule_isoc_etds()
600 td->isoc_index].actual_length = 0; in schedule_isoc_etds()
601 td->urb->iso_frame_desc[td->isoc_index].status = -EXDEV; in schedule_isoc_etds()
603 urb_done(hcd, td->urb, urb_priv->isoc_status); in schedule_isoc_etds()
608 etd->td = td; in schedule_isoc_etds()
609 etd->ep = td->ep; in schedule_isoc_etds()
610 etd->urb = td->urb; in schedule_isoc_etds()
611 etd->len = td->len; in schedule_isoc_etds()
612 etd->dma_handle = td->dma_handle; in schedule_isoc_etds()
613 etd->cpu_buffer = td->cpu_buffer; in schedule_isoc_etds()
615 debug_isoc_submitted(imx21, cur_frame, td); in schedule_isoc_etds()
617 dir = usb_pipeout(td->urb->pipe) ? TD_DIR_OUT : TD_DIR_IN; in schedule_isoc_etds()
618 setup_etd_dword0(imx21, etd_num, td->urb, dir, etd->dmem_size); in schedule_isoc_etds()
622 ((td->frame & 0xFFFF) << DW2_STARTFRM)); in schedule_isoc_etds()
625 (td->len << DW3_PKTLEN0)); in schedule_isoc_etds()
638 struct td *td = etd->td; in isoc_etd_done() local
640 int isoc_index = td->isoc_index; in isoc_etd_done()
661 imx21_hc_get_frame(hcd), td, cc, bytes_xfrd); in isoc_etd_done()
667 cc, imx21_hc_get_frame(hcd), td->frame, in isoc_etd_done()
668 bytes_xfrd, td->len, urb, etd_num, isoc_index); in isoc_etd_done()
683 etd->td = NULL; in isoc_etd_done()
747 struct td *td = NULL; in imx21_hc_urb_enqueue_isoc() local
758 sizeof(struct td) * urb->number_of_packets, mem_flags); in imx21_hc_urb_enqueue_isoc()
821 struct td, list)->frame + urb->interval); in imx21_hc_urb_enqueue_isoc()
844 td = urb_priv->isoc_td; in imx21_hc_urb_enqueue_isoc()
845 for (; i < urb->number_of_packets; i++, td++) { in imx21_hc_urb_enqueue_isoc()
847 td->ep = ep; in imx21_hc_urb_enqueue_isoc()
848 td->urb = urb; in imx21_hc_urb_enqueue_isoc()
849 td->len = urb->iso_frame_desc[i].length; in imx21_hc_urb_enqueue_isoc()
850 td->isoc_index = i; in imx21_hc_urb_enqueue_isoc()
851 td->frame = wrap_frame(urb->start_frame + urb->interval * i); in imx21_hc_urb_enqueue_isoc()
852 td->dma_handle = urb->transfer_dma + offset; in imx21_hc_urb_enqueue_isoc()
853 td->cpu_buffer = urb->transfer_buffer + offset; in imx21_hc_urb_enqueue_isoc()
854 list_add_tail(&td->list, &ep_priv->td_list); in imx21_hc_urb_enqueue_isoc()
858 urb->number_of_packets, urb->start_frame, td->frame); in imx21_hc_urb_enqueue_isoc()
884 struct td *td, *tmp; in dequeue_isoc_urb() local
899 list_for_each_entry_safe(td, tmp, &ep_priv->td_list, list) { in dequeue_isoc_urb()
900 if (td->urb == urb) { in dequeue_isoc_urb()
901 dev_vdbg(imx21->dev, "removing td %p\n", td); in dequeue_isoc_urb()
902 list_del(&td->list); in dequeue_isoc_urb()