Lines Matching refs:chan

87 				    struct dwc2_host_chan *chan,  in dwc2_hc_handle_tt_clear()  argument
92 if (!chan->qh) in dwc2_hc_handle_tt_clear()
95 if (chan->qh->dev_speed == USB_SPEED_HIGH) in dwc2_hc_handle_tt_clear()
106 chan->qh->tt_buffer_dirty = 1; in dwc2_hc_handle_tt_clear()
109 chan->qh->tt_buffer_dirty = 0; in dwc2_hc_handle_tt_clear()
162 struct dwc2_host_chan *chan; in dwc2_rx_fifo_level_intr() local
169 chan = hsotg->hc_ptr_array[chnum]; in dwc2_rx_fifo_level_intr()
170 if (!chan) { in dwc2_rx_fifo_level_intr()
184 chan->data_pid_start); in dwc2_rx_fifo_level_intr()
192 dwc2_read_packet(hsotg, chan->xfer_buf, bcnt); in dwc2_rx_fifo_level_intr()
195 chan->xfer_count += bcnt; in dwc2_rx_fifo_level_intr()
196 chan->xfer_buf += bcnt; in dwc2_rx_fifo_level_intr()
401 struct dwc2_host_chan *chan, int chnum, in dwc2_get_actual_xfer_length() argument
411 if (chan->ep_is_in) { in dwc2_get_actual_xfer_length()
414 length = chan->xfer_len - count; in dwc2_get_actual_xfer_length()
417 } else if (chan->qh->do_split) { in dwc2_get_actual_xfer_length()
420 length = chan->xfer_len; in dwc2_get_actual_xfer_length()
433 length = (chan->start_pkt_count - count) * chan->max_packet; in dwc2_get_actual_xfer_length()
449 struct dwc2_host_chan *chan, int chnum, in dwc2_update_urb_state() argument
456 int xfer_length = dwc2_get_actual_xfer_length(hsotg, chan, chnum, qtd, in dwc2_update_urb_state()
466 if (chan->align_buf && xfer_length && chan->ep_is_in) { in dwc2_update_urb_state()
468 memcpy(urb->buf + urb->actual_length, chan->qh->dw_align_buf, in dwc2_update_urb_state()
476 if (xfer_length && chan->ep_type == USB_ENDPOINT_XFER_BULK && in dwc2_update_urb_state()
479 !(urb->length % chan->max_packet)) { in dwc2_update_urb_state()
488 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum); in dwc2_update_urb_state()
489 dev_vdbg(hsotg->dev, " chan->xfer_len %d\n", chan->xfer_len); in dwc2_update_urb_state()
506 struct dwc2_host_chan *chan, int chnum, in dwc2_hcd_save_data_toggle() argument
512 if (chan->ep_type != USB_ENDPOINT_XFER_CONTROL) { in dwc2_hcd_save_data_toggle()
514 chan->qh->data_toggle = DWC2_HC_PID_DATA0; in dwc2_hcd_save_data_toggle()
516 chan->qh->data_toggle = DWC2_HC_PID_DATA1; in dwc2_hcd_save_data_toggle()
536 struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, in dwc2_update_isoc_urb_state() argument
552 chan, chnum, qtd, halt_status, NULL); in dwc2_update_isoc_urb_state()
555 if (chan->align_buf && frame_desc->actual_length && in dwc2_update_isoc_urb_state()
556 chan->ep_is_in) { in dwc2_update_isoc_urb_state()
560 qtd->isoc_split_offset, chan->qh->dw_align_buf, in dwc2_update_isoc_urb_state()
566 if (chan->ep_is_in) in dwc2_update_isoc_urb_state()
581 chan, chnum, qtd, halt_status, NULL); in dwc2_update_isoc_urb_state()
584 if (chan->align_buf && frame_desc->actual_length && in dwc2_update_isoc_urb_state()
585 chan->ep_is_in) { in dwc2_update_isoc_urb_state()
589 qtd->isoc_split_offset, chan->qh->dw_align_buf, in dwc2_update_isoc_urb_state()
594 if (chan->qh->do_split && in dwc2_update_isoc_urb_state()
595 chan->ep_type == USB_ENDPOINT_XFER_ISOC && chan->ep_is_in && in dwc2_update_isoc_urb_state()
678 struct dwc2_host_chan *chan, in dwc2_release_channel() argument
686 if (dbg_hc(chan)) in dwc2_release_channel()
688 __func__, chan->hc_num, halt_status); in dwc2_release_channel()
724 dwc2_deactivate_qh(hsotg, chan->qh, free_qtd); in dwc2_release_channel()
732 if (!list_empty(&chan->hc_list_entry)) in dwc2_release_channel()
733 list_del(&chan->hc_list_entry); in dwc2_release_channel()
734 dwc2_hc_cleanup(hsotg, chan); in dwc2_release_channel()
735 list_add_tail(&chan->hc_list_entry, &hsotg->free_hc_list); in dwc2_release_channel()
740 switch (chan->ep_type) { in dwc2_release_channel()
757 haintmsk &= ~(1 << chan->hc_num); in dwc2_release_channel()
777 struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, in dwc2_halt_channel() argument
780 if (dbg_hc(chan)) in dwc2_halt_channel()
784 if (dbg_hc(chan)) in dwc2_halt_channel()
786 dwc2_release_channel(hsotg, chan, qtd, halt_status); in dwc2_halt_channel()
791 dwc2_hc_halt(hsotg, chan, halt_status); in dwc2_halt_channel()
793 if (chan->halt_on_queue) { in dwc2_halt_channel()
797 if (chan->ep_type == USB_ENDPOINT_XFER_CONTROL || in dwc2_halt_channel()
798 chan->ep_type == USB_ENDPOINT_XFER_BULK) { in dwc2_halt_channel()
816 list_move(&chan->qh->qh_list_entry, in dwc2_halt_channel()
837 struct dwc2_host_chan *chan, in dwc2_complete_non_periodic_xfer() argument
845 if (chan->hcint & HCINTMSK_NYET) { in dwc2_complete_non_periodic_xfer()
852 chan->qh->ping_state = 1; in dwc2_complete_non_periodic_xfer()
865 if (chan->ep_is_in) { in dwc2_complete_non_periodic_xfer()
871 dwc2_halt_channel(hsotg, chan, qtd, halt_status); in dwc2_complete_non_periodic_xfer()
877 dwc2_release_channel(hsotg, chan, qtd, halt_status); in dwc2_complete_non_periodic_xfer()
887 struct dwc2_host_chan *chan, int chnum, in dwc2_complete_periodic_xfer() argument
895 if (!chan->ep_is_in || (hctsiz & TSIZ_PKTCNT_MASK) == 0) in dwc2_complete_periodic_xfer()
897 dwc2_release_channel(hsotg, chan, qtd, halt_status); in dwc2_complete_periodic_xfer()
900 dwc2_halt_channel(hsotg, chan, qtd, halt_status); in dwc2_complete_periodic_xfer()
904 struct dwc2_host_chan *chan, int chnum, in dwc2_xfercomp_isoc_split_in() argument
914 len = dwc2_get_actual_xfer_length(hsotg, chan, chnum, qtd, in dwc2_xfercomp_isoc_split_in()
924 if (chan->align_buf) { in dwc2_xfercomp_isoc_split_in()
927 qtd->isoc_split_offset, chan->qh->dw_align_buf, len); in dwc2_xfercomp_isoc_split_in()
941 dwc2_release_channel(hsotg, chan, qtd, in dwc2_xfercomp_isoc_split_in()
944 dwc2_release_channel(hsotg, chan, qtd, in dwc2_xfercomp_isoc_split_in()
956 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_xfercomp_intr() argument
964 if (dbg_hc(chan)) in dwc2_hc_xfercomp_intr()
975 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, halt_status); in dwc2_hc_xfercomp_intr()
983 if (chan->qh->do_split) { in dwc2_hc_xfercomp_intr()
984 if (chan->ep_type == USB_ENDPOINT_XFER_ISOC && chan->ep_is_in && in dwc2_hc_xfercomp_intr()
987 dwc2_xfercomp_isoc_split_in(hsotg, chan, chnum, in dwc2_hc_xfercomp_intr()
1009 urb_xfer_done = dwc2_update_urb_state(hsotg, chan, in dwc2_hc_xfercomp_intr()
1016 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, in dwc2_hc_xfercomp_intr()
1030 dwc2_complete_non_periodic_xfer(hsotg, chan, chnum, qtd, in dwc2_hc_xfercomp_intr()
1035 urb_xfer_done = dwc2_update_urb_state(hsotg, chan, chnum, urb, in dwc2_hc_xfercomp_intr()
1044 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_xfercomp_intr()
1045 dwc2_complete_non_periodic_xfer(hsotg, chan, chnum, qtd, in dwc2_hc_xfercomp_intr()
1050 urb_xfer_done = dwc2_update_urb_state(hsotg, chan, chnum, urb, in dwc2_hc_xfercomp_intr()
1064 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_xfercomp_intr()
1065 dwc2_complete_periodic_xfer(hsotg, chan, chnum, qtd, in dwc2_hc_xfercomp_intr()
1072 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, in dwc2_hc_xfercomp_intr()
1074 dwc2_complete_periodic_xfer(hsotg, chan, chnum, qtd, in dwc2_hc_xfercomp_intr()
1088 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_stall_intr() argument
1098 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_stall_intr()
1121 chan->qh->data_toggle = 0; in dwc2_hc_stall_intr()
1125 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_STALL); in dwc2_hc_stall_intr()
1138 struct dwc2_host_chan *chan, int chnum, in dwc2_update_urb_state_abn() argument
1143 u32 xfer_length = dwc2_get_actual_xfer_length(hsotg, chan, chnum, in dwc2_update_urb_state_abn()
1153 if (chan->align_buf && xfer_length && chan->ep_is_in) { in dwc2_update_urb_state_abn()
1155 memcpy(urb->buf + urb->actual_length, chan->qh->dw_align_buf, in dwc2_update_urb_state_abn()
1163 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum); in dwc2_update_urb_state_abn()
1165 chan->start_pkt_count); in dwc2_update_urb_state_abn()
1168 dev_vdbg(hsotg->dev, " chan->max_packet %d\n", chan->max_packet); in dwc2_update_urb_state_abn()
1182 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_nak_intr() argument
1185 if (dbg_hc(chan)) in dwc2_hc_nak_intr()
1193 if (chan->do_split) { in dwc2_hc_nak_intr()
1194 if (chan->complete_split) in dwc2_hc_nak_intr()
1197 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NAK); in dwc2_hc_nak_intr()
1204 if (hsotg->core_params->dma_enable > 0 && chan->ep_is_in) { in dwc2_hc_nak_intr()
1222 if (!chan->qh->ping_state) { in dwc2_hc_nak_intr()
1223 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, in dwc2_hc_nak_intr()
1225 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_nak_intr()
1227 if (chan->speed == USB_SPEED_HIGH) in dwc2_hc_nak_intr()
1228 chan->qh->ping_state = 1; in dwc2_hc_nak_intr()
1236 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NAK); in dwc2_hc_nak_intr()
1240 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NAK); in dwc2_hc_nak_intr()
1258 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_ack_intr() argument
1263 if (dbg_hc(chan)) in dwc2_hc_ack_intr()
1267 if (chan->do_split) { in dwc2_hc_ack_intr()
1269 if (!chan->ep_is_in && in dwc2_hc_ack_intr()
1270 chan->data_pid_start != DWC2_HC_PID_SETUP) in dwc2_hc_ack_intr()
1271 qtd->ssplit_out_xfer_count = chan->xfer_len; in dwc2_hc_ack_intr()
1273 if (chan->ep_type != USB_ENDPOINT_XFER_ISOC || chan->ep_is_in) { in dwc2_hc_ack_intr()
1275 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_ACK); in dwc2_hc_ack_intr()
1278 switch (chan->xact_pos) { in dwc2_hc_ack_intr()
1309 if (chan->qh->ping_state) { in dwc2_hc_ack_intr()
1310 chan->qh->ping_state = 0; in dwc2_hc_ack_intr()
1318 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_ACK); in dwc2_hc_ack_intr()
1337 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_nyet_intr() argument
1340 if (dbg_hc(chan)) in dwc2_hc_nyet_intr()
1348 if (chan->do_split && chan->complete_split) { in dwc2_hc_nyet_intr()
1349 if (chan->ep_is_in && chan->ep_type == USB_ENDPOINT_XFER_ISOC && in dwc2_hc_nyet_intr()
1357 dwc2_release_channel(hsotg, chan, qtd, in dwc2_hc_nyet_intr()
1360 dwc2_release_channel(hsotg, chan, qtd, in dwc2_hc_nyet_intr()
1366 if (chan->ep_type == USB_ENDPOINT_XFER_INT || in dwc2_hc_nyet_intr()
1367 chan->ep_type == USB_ENDPOINT_XFER_ISOC) { in dwc2_hc_nyet_intr()
1371 dwc2_full_frame_num(chan->qh->sched_frame)) { in dwc2_hc_nyet_intr()
1387 dwc2_halt_channel(hsotg, chan, qtd, in dwc2_hc_nyet_intr()
1394 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NYET); in dwc2_hc_nyet_intr()
1398 chan->qh->ping_state = 1; in dwc2_hc_nyet_intr()
1401 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, qtd, in dwc2_hc_nyet_intr()
1403 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_nyet_intr()
1409 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_NYET); in dwc2_hc_nyet_intr()
1420 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_babble_intr() argument
1426 dwc2_hc_handle_tt_clear(hsotg, chan, qtd); in dwc2_hc_babble_intr()
1429 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_babble_intr()
1434 if (chan->ep_type != USB_ENDPOINT_XFER_ISOC) { in dwc2_hc_babble_intr()
1436 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_BABBLE_ERR); in dwc2_hc_babble_intr()
1440 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, chnum, in dwc2_hc_babble_intr()
1442 dwc2_halt_channel(hsotg, chan, qtd, halt_status); in dwc2_hc_babble_intr()
1454 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_ahberr_intr() argument
1470 dwc2_hc_handle_tt_clear(hsotg, chan, qtd); in dwc2_hc_ahberr_intr()
1506 switch (chan->speed) { in dwc2_hc_ahberr_intr()
1534 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_ahberr_intr()
1546 dwc2_hc_halt(hsotg, chan, DWC2_HC_XFER_AHB_ERR); in dwc2_hc_ahberr_intr()
1557 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_xacterr_intr() argument
1563 dwc2_hc_handle_tt_clear(hsotg, chan, qtd); in dwc2_hc_xacterr_intr()
1566 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_xacterr_intr()
1575 if (!chan->qh->ping_state) { in dwc2_hc_xacterr_intr()
1577 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, in dwc2_hc_xacterr_intr()
1579 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_xacterr_intr()
1580 if (!chan->ep_is_in && chan->speed == USB_SPEED_HIGH) in dwc2_hc_xacterr_intr()
1581 chan->qh->ping_state = 1; in dwc2_hc_xacterr_intr()
1588 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_XACT_ERR); in dwc2_hc_xacterr_intr()
1592 if (chan->do_split && chan->complete_split) in dwc2_hc_xacterr_intr()
1594 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_XACT_ERR); in dwc2_hc_xacterr_intr()
1600 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, in dwc2_hc_xacterr_intr()
1602 dwc2_halt_channel(hsotg, chan, qtd, halt_status); in dwc2_hc_xacterr_intr()
1616 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_frmovrun_intr() argument
1621 if (dbg_hc(chan)) in dwc2_hc_frmovrun_intr()
1625 dwc2_hc_handle_tt_clear(hsotg, chan, qtd); in dwc2_hc_frmovrun_intr()
1632 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_FRAME_OVERRUN); in dwc2_hc_frmovrun_intr()
1635 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, chnum, in dwc2_hc_frmovrun_intr()
1637 dwc2_halt_channel(hsotg, chan, qtd, halt_status); in dwc2_hc_frmovrun_intr()
1649 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_datatglerr_intr() argument
1655 if (chan->ep_is_in) in dwc2_hc_datatglerr_intr()
1662 dwc2_hc_handle_tt_clear(hsotg, chan, qtd); in dwc2_hc_datatglerr_intr()
1674 struct dwc2_host_chan *chan, int chnum, in dwc2_halt_status_ok() argument
1683 if (chan->halt_status == DWC2_HC_XFER_NO_HALT_STATUS) { in dwc2_halt_status_ok()
1700 chan->hcint, hcintmsk, hcsplt); in dwc2_halt_status_ok()
1720 chan->halt_pending = 0; in dwc2_halt_status_ok()
1721 dwc2_halt_channel(hsotg, chan, qtd, chan->halt_status); in dwc2_halt_status_ok()
1734 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_chhltd_intr_dma() argument
1740 if (dbg_hc(chan)) in dwc2_hc_chhltd_intr_dma()
1750 if (chan->speed == USB_SPEED_HIGH && !chan->ep_is_in && in dwc2_hc_chhltd_intr_dma()
1751 (chan->ep_type == USB_ENDPOINT_XFER_CONTROL || in dwc2_hc_chhltd_intr_dma()
1752 chan->ep_type == USB_ENDPOINT_XFER_BULK)) { in dwc2_hc_chhltd_intr_dma()
1757 if (chan->halt_status == DWC2_HC_XFER_URB_DEQUEUE || in dwc2_hc_chhltd_intr_dma()
1758 (chan->halt_status == DWC2_HC_XFER_AHB_ERR && in dwc2_hc_chhltd_intr_dma()
1761 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_chhltd_intr_dma()
1762 chan->halt_status); in dwc2_hc_chhltd_intr_dma()
1770 dwc2_release_channel(hsotg, chan, qtd, in dwc2_hc_chhltd_intr_dma()
1771 chan->halt_status); in dwc2_hc_chhltd_intr_dma()
1777 if (chan->hcint & HCINTMSK_XFERCOMPL) { in dwc2_hc_chhltd_intr_dma()
1785 if (chan->ep_type == USB_ENDPOINT_XFER_ISOC && !chan->ep_is_in) in dwc2_hc_chhltd_intr_dma()
1786 dwc2_hc_ack_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1787 dwc2_hc_xfercomp_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1788 } else if (chan->hcint & HCINTMSK_STALL) { in dwc2_hc_chhltd_intr_dma()
1789 dwc2_hc_stall_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1790 } else if ((chan->hcint & HCINTMSK_XACTERR) && in dwc2_hc_chhltd_intr_dma()
1793 if (chan->hcint & in dwc2_hc_chhltd_intr_dma()
1809 dwc2_hc_xacterr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1810 } else if ((chan->hcint & HCINTMSK_XCS_XACT) && in dwc2_hc_chhltd_intr_dma()
1812 dwc2_hc_xacterr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1813 } else if ((chan->hcint & HCINTMSK_AHBERR) && in dwc2_hc_chhltd_intr_dma()
1815 dwc2_hc_ahberr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1816 } else if (chan->hcint & HCINTMSK_BBLERR) { in dwc2_hc_chhltd_intr_dma()
1817 dwc2_hc_babble_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1818 } else if (chan->hcint & HCINTMSK_FRMOVRUN) { in dwc2_hc_chhltd_intr_dma()
1819 dwc2_hc_frmovrun_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1821 if (chan->hcint & HCINTMSK_NYET) { in dwc2_hc_chhltd_intr_dma()
1828 dwc2_hc_nyet_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1829 } else if ((chan->hcint & HCINTMSK_NAK) && in dwc2_hc_chhltd_intr_dma()
1838 dwc2_hc_nak_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1839 } else if ((chan->hcint & HCINTMSK_ACK) && in dwc2_hc_chhltd_intr_dma()
1848 dwc2_hc_ack_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1850 if (chan->ep_type == USB_ENDPOINT_XFER_INT || in dwc2_hc_chhltd_intr_dma()
1851 chan->ep_type == USB_ENDPOINT_XFER_ISOC) { in dwc2_hc_chhltd_intr_dma()
1861 dwc2_halt_channel(hsotg, chan, qtd, in dwc2_hc_chhltd_intr_dma()
1869 chan->hcint, in dwc2_hc_chhltd_intr_dma()
1877 chan->hcint); in dwc2_hc_chhltd_intr_dma()
1881 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, in dwc2_hc_chhltd_intr_dma()
1883 dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1884 dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_XACT_ERR); in dwc2_hc_chhltd_intr_dma()
1900 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_chhltd_intr() argument
1903 if (dbg_hc(chan)) in dwc2_hc_chhltd_intr()
1908 dwc2_hc_chhltd_intr_dma(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr()
1910 if (!dwc2_halt_status_ok(hsotg, chan, chnum, qtd)) in dwc2_hc_chhltd_intr()
1912 dwc2_release_channel(hsotg, chan, qtd, chan->halt_status); in dwc2_hc_chhltd_intr()
1920 struct dwc2_host_chan *chan; in dwc2_hc_n_intr() local
1923 chan = hsotg->hc_ptr_array[chnum]; in dwc2_hc_n_intr()
1927 if (!chan) { in dwc2_hc_n_intr()
1933 if (dbg_hc(chan)) { in dwc2_hc_n_intr()
1942 chan->hcint = hcint; in dwc2_hc_n_intr()
1950 if (chan->halt_status == DWC2_HC_XFER_URB_DEQUEUE) { in dwc2_hc_n_intr()
1957 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_n_intr()
1958 chan->halt_status); in dwc2_hc_n_intr()
1960 dwc2_release_channel(hsotg, chan, NULL, in dwc2_hc_n_intr()
1961 chan->halt_status); in dwc2_hc_n_intr()
1965 if (list_empty(&chan->qh->qtd_list)) { in dwc2_hc_n_intr()
1974 chan->hcint, hcintmsk, hcint); in dwc2_hc_n_intr()
1975 chan->halt_status = DWC2_HC_XFER_NO_HALT_STATUS; in dwc2_hc_n_intr()
1977 chan->hcint = 0; in dwc2_hc_n_intr()
1981 qtd = list_first_entry(&chan->qh->qtd_list, struct dwc2_qtd, in dwc2_hc_n_intr()
1990 dwc2_hc_xfercomp_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
1999 dwc2_hc_chhltd_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2001 dwc2_hc_ahberr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2003 dwc2_hc_stall_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2005 dwc2_hc_nak_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2007 dwc2_hc_ack_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2009 dwc2_hc_nyet_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2011 dwc2_hc_xacterr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2013 dwc2_hc_babble_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2015 dwc2_hc_frmovrun_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2017 dwc2_hc_datatglerr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_n_intr()
2019 chan->hcint = 0; in dwc2_hc_n_intr()