Lines Matching refs:chan
217 struct dwc2_host_chan *chan; in dwc2_update_frame_list() local
236 chan = qh->channel; in dwc2_update_frame_list()
246 hsotg->frame_list[j] |= 1 << chan->hc_num; in dwc2_update_frame_list()
248 hsotg->frame_list[j] &= ~(1 << chan->hc_num); in dwc2_update_frame_list()
255 chan->schinfo = 0; in dwc2_update_frame_list()
256 if (chan->speed == USB_SPEED_HIGH && qh->interval) { in dwc2_update_frame_list()
261 chan->schinfo |= j; in dwc2_update_frame_list()
265 chan->schinfo = 0xff; in dwc2_update_frame_list()
272 struct dwc2_host_chan *chan = qh->channel; in dwc2_release_channel_ddma() local
287 if (chan->qh) { in dwc2_release_channel_ddma()
288 if (!list_empty(&chan->hc_list_entry)) in dwc2_release_channel_ddma()
289 list_del(&chan->hc_list_entry); in dwc2_release_channel_ddma()
290 dwc2_hc_cleanup(hsotg, chan); in dwc2_release_channel_ddma()
291 list_add_tail(&chan->hc_list_entry, &hsotg->free_hc_list); in dwc2_release_channel_ddma()
292 chan->qh = NULL; in dwc2_release_channel_ddma()
617 struct dwc2_host_chan *chan, in dwc2_fill_host_dma_desc() argument
622 int len = chan->xfer_len; in dwc2_fill_host_dma_desc()
624 if (len > MAX_DMA_DESC_SIZE - (chan->max_packet - 1)) in dwc2_fill_host_dma_desc()
625 len = MAX_DMA_DESC_SIZE - (chan->max_packet - 1); in dwc2_fill_host_dma_desc()
627 if (chan->ep_is_in) { in dwc2_fill_host_dma_desc()
630 if (len > 0 && chan->max_packet) in dwc2_fill_host_dma_desc()
631 num_packets = (len + chan->max_packet - 1) in dwc2_fill_host_dma_desc()
632 / chan->max_packet; in dwc2_fill_host_dma_desc()
638 len = num_packets * chan->max_packet; in dwc2_fill_host_dma_desc()
648 dma_desc->buf = (u32)chan->xfer_dma; in dwc2_fill_host_dma_desc()
654 if (len > chan->xfer_len) { in dwc2_fill_host_dma_desc()
655 chan->xfer_len = 0; in dwc2_fill_host_dma_desc()
657 chan->xfer_dma += len; in dwc2_fill_host_dma_desc()
658 chan->xfer_len -= len; in dwc2_fill_host_dma_desc()
666 struct dwc2_host_chan *chan = qh->channel; in dwc2_init_non_isoc_dma_desc() local
670 (unsigned long)chan->xfer_dma, chan->xfer_len); in dwc2_init_non_isoc_dma_desc()
684 chan->xfer_dma = qtd->urb->dma + in dwc2_init_non_isoc_dma_desc()
686 chan->xfer_len = qtd->urb->length - in dwc2_init_non_isoc_dma_desc()
689 (unsigned long)chan->xfer_dma, chan->xfer_len); in dwc2_init_non_isoc_dma_desc()
701 dwc2_fill_host_dma_desc(hsotg, chan, qtd, qh, n_desc); in dwc2_init_non_isoc_dma_desc()
709 } while (chan->xfer_len > 0 && in dwc2_init_non_isoc_dma_desc()
730 chan->ntd = n_desc; in dwc2_init_non_isoc_dma_desc()
756 struct dwc2_host_chan *chan = qh->channel; in dwc2_hcd_start_xfer_ddma() local
759 switch (chan->ep_type) { in dwc2_hcd_start_xfer_ddma()
763 dwc2_hc_start_transfer_ddma(hsotg, chan); in dwc2_hcd_start_xfer_ddma()
768 dwc2_hc_start_transfer_ddma(hsotg, chan); in dwc2_hcd_start_xfer_ddma()
775 if (!chan->xfer_started) { in dwc2_hcd_start_xfer_ddma()
783 chan->ntd = dwc2_max_desc_num(qh); in dwc2_hcd_start_xfer_ddma()
786 dwc2_hc_start_transfer_ddma(hsotg, chan); in dwc2_hcd_start_xfer_ddma()
799 struct dwc2_host_chan *chan, in dwc2_cmpl_host_isoc_dma_desc() argument
813 if (chan->ep_is_in) in dwc2_cmpl_host_isoc_dma_desc()
846 if (chan->halt_status == DWC2_HC_XFER_URB_DEQUEUE) in dwc2_cmpl_host_isoc_dma_desc()
861 struct dwc2_host_chan *chan, in dwc2_complete_isoc_xfer_ddma() argument
870 qh = chan->qh; in dwc2_complete_isoc_xfer_ddma()
873 if (chan->halt_status == DWC2_HC_XFER_URB_DEQUEUE) { in dwc2_complete_isoc_xfer_ddma()
915 rc = dwc2_cmpl_host_isoc_dma_desc(hsotg, chan, qtd, qh, in dwc2_complete_isoc_xfer_ddma()
920 chan->speed); in dwc2_complete_isoc_xfer_ddma()
933 struct dwc2_host_chan *chan, in dwc2_update_non_isoc_urb_state_ddma() argument
942 if (chan->ep_is_in) in dwc2_update_non_isoc_urb_state_ddma()
980 chan->hc_num); in dwc2_update_non_isoc_urb_state_ddma()
984 if (chan->ep_type == USB_ENDPOINT_XFER_CONTROL) { in dwc2_update_non_isoc_urb_state_ddma()
1015 struct dwc2_host_chan *chan, in dwc2_process_non_isoc_desc() argument
1021 struct dwc2_qh *qh = chan->qh; in dwc2_process_non_isoc_desc()
1037 failed = dwc2_update_non_isoc_urb_state_ddma(hsotg, chan, qtd, dma_desc, in dwc2_process_non_isoc_desc()
1068 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, in dwc2_process_non_isoc_desc()
1081 struct dwc2_host_chan *chan, in dwc2_complete_non_isoc_xfer_ddma() argument
1086 struct dwc2_qh *qh = chan->qh; in dwc2_complete_non_isoc_xfer_ddma()
1091 if (chan->halt_status == DWC2_HC_XFER_URB_DEQUEUE) { in dwc2_complete_non_isoc_xfer_ddma()
1104 if (dwc2_process_non_isoc_desc(hsotg, chan, chnum, qtd, in dwc2_complete_non_isoc_xfer_ddma()
1122 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_complete_non_isoc_xfer_ddma()
1126 if (chan->hcint & HCINTMSK_NYET) { in dwc2_complete_non_isoc_xfer_ddma()
1155 struct dwc2_host_chan *chan, int chnum, in dwc2_hcd_complete_xfer_ddma() argument
1158 struct dwc2_qh *qh = chan->qh; in dwc2_hcd_complete_xfer_ddma()
1162 if (chan->ep_type == USB_ENDPOINT_XFER_ISOC) { in dwc2_hcd_complete_xfer_ddma()
1163 dwc2_complete_isoc_xfer_ddma(hsotg, chan, halt_status); in dwc2_hcd_complete_xfer_ddma()
1170 dwc2_hc_halt(hsotg, chan, halt_status); in dwc2_hcd_complete_xfer_ddma()
1188 dwc2_complete_non_isoc_xfer_ddma(hsotg, chan, chnum, in dwc2_hcd_complete_xfer_ddma()