Lines Matching refs:chnum

161 	u32 grxsts, chnum, bcnt, dpid, pktsts;  in dwc2_rx_fifo_level_intr()  local
168 chnum = (grxsts & GRXSTS_HCHNUM_MASK) >> GRXSTS_HCHNUM_SHIFT; in dwc2_rx_fifo_level_intr()
169 chan = hsotg->hc_ptr_array[chnum]; in dwc2_rx_fifo_level_intr()
181 dev_vdbg(hsotg->dev, " Ch num = %d\n", chnum); in dwc2_rx_fifo_level_intr()
401 struct dwc2_host_chan *chan, int chnum, in dwc2_get_actual_xfer_length() argument
408 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); 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()
486 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); in dwc2_update_urb_state()
488 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum); in dwc2_update_urb_state()
506 struct dwc2_host_chan *chan, int chnum, in dwc2_hcd_save_data_toggle() argument
509 u32 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); in dwc2_hcd_save_data_toggle()
537 int chnum, struct dwc2_qtd *qtd, in dwc2_update_isoc_urb_state() argument
552 chan, chnum, qtd, halt_status, NULL); in dwc2_update_isoc_urb_state()
581 chan, chnum, qtd, halt_status, NULL); in dwc2_update_isoc_urb_state()
838 int chnum, struct dwc2_qtd *qtd, in dwc2_complete_non_periodic_xfer() argument
887 struct dwc2_host_chan *chan, int chnum, in dwc2_complete_periodic_xfer() argument
891 u32 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); 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()
956 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_xfercomp_intr() argument
967 chnum); in dwc2_hc_xfercomp_intr()
975 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, halt_status); in dwc2_hc_xfercomp_intr()
987 dwc2_xfercomp_isoc_split_in(hsotg, chan, chnum, in dwc2_hc_xfercomp_intr()
1010 chnum, urb, qtd); 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()
1073 chnum, qtd, DWC2_HC_XFER_COMPLETE); in dwc2_hc_xfercomp_intr()
1074 dwc2_complete_periodic_xfer(hsotg, chan, chnum, qtd, in dwc2_hc_xfercomp_intr()
1080 disable_hc_int(hsotg, chnum, HCINTMSK_XFERCOMPL); in dwc2_hc_xfercomp_intr()
1088 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_stall_intr() argument
1095 chnum); in dwc2_hc_stall_intr()
1098 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_stall_intr()
1128 disable_hc_int(hsotg, chnum, HCINTMSK_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()
1161 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); in dwc2_update_urb_state_abn()
1163 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum); in dwc2_update_urb_state_abn()
1182 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_nak_intr() argument
1187 chnum); 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()
1249 disable_hc_int(hsotg, chnum, HCINTMSK_NAK); in dwc2_hc_nak_intr()
1258 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_ack_intr() argument
1265 chnum); in dwc2_hc_ack_intr()
1326 disable_hc_int(hsotg, chnum, HCINTMSK_ACK); in dwc2_hc_ack_intr()
1337 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_nyet_intr() argument
1342 chnum); 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()
1412 disable_hc_int(hsotg, chnum, HCINTMSK_NYET); in dwc2_hc_nyet_intr()
1420 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_babble_intr() argument
1424 chnum); in dwc2_hc_babble_intr()
1429 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_babble_intr()
1440 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, chnum, in dwc2_hc_babble_intr()
1446 disable_hc_int(hsotg, chnum, HCINTMSK_BBLERR); in dwc2_hc_babble_intr()
1454 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_ahberr_intr() argument
1465 chnum); in dwc2_hc_ahberr_intr()
1472 hcchar = readl(hsotg->regs + HCCHAR(chnum)); in dwc2_hc_ahberr_intr()
1473 hcsplt = readl(hsotg->regs + HCSPLT(chnum)); in dwc2_hc_ahberr_intr()
1474 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); in dwc2_hc_ahberr_intr()
1475 hc_dma = readl(hsotg->regs + HCDMA(chnum)); in dwc2_hc_ahberr_intr()
1477 dev_err(hsotg->dev, "AHB ERROR, Channel %d\n", chnum); in dwc2_hc_ahberr_intr()
1534 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_ahberr_intr()
1549 disable_hc_int(hsotg, chnum, HCINTMSK_AHBERR); in dwc2_hc_ahberr_intr()
1557 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_xacterr_intr() argument
1561 "--Host Channel %d Interrupt: Transaction Error--\n", chnum); in dwc2_hc_xacterr_intr()
1566 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, 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()
1601 chnum, qtd, DWC2_HC_XFER_XACT_ERR); in dwc2_hc_xacterr_intr()
1608 disable_hc_int(hsotg, chnum, HCINTMSK_XACTERR); in dwc2_hc_xacterr_intr()
1616 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_frmovrun_intr() argument
1623 chnum); in dwc2_hc_frmovrun_intr()
1635 halt_status = dwc2_update_isoc_urb_state(hsotg, chan, chnum, in dwc2_hc_frmovrun_intr()
1641 disable_hc_int(hsotg, chnum, HCINTMSK_FRMOVRUN); in dwc2_hc_frmovrun_intr()
1649 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_datatglerr_intr() argument
1653 "--Host Channel %d Interrupt: Data Toggle Error--\n", chnum); in dwc2_hc_datatglerr_intr()
1660 chnum); in dwc2_hc_datatglerr_intr()
1663 disable_hc_int(hsotg, chnum, HCINTMSK_DATATGLERR); in dwc2_hc_datatglerr_intr()
1674 struct dwc2_host_chan *chan, int chnum, in dwc2_halt_status_ok() argument
1688 hcchar = readl(hsotg->regs + HCCHAR(chnum)); in dwc2_halt_status_ok()
1689 hctsiz = readl(hsotg->regs + HCTSIZ(chnum)); in dwc2_halt_status_ok()
1690 hcintmsk = readl(hsotg->regs + HCINTMSK(chnum)); in dwc2_halt_status_ok()
1691 hcsplt = readl(hsotg->regs + HCSPLT(chnum)); in dwc2_halt_status_ok()
1697 chnum, hcchar, hctsiz); in dwc2_halt_status_ok()
1706 __func__, chnum); in dwc2_halt_status_ok()
1715 hcchar = readl(hsotg->regs + HCCHAR(chnum)); in dwc2_halt_status_ok()
1734 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_chhltd_intr_dma() argument
1743 chnum); in dwc2_hc_chhltd_intr_dma()
1761 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_chhltd_intr_dma()
1775 hcintmsk = readl(hsotg->regs + HCINTMSK(chnum)); 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()
1789 dwc2_hc_stall_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1809 dwc2_hc_xacterr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1812 dwc2_hc_xacterr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1815 dwc2_hc_ahberr_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1817 dwc2_hc_babble_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1819 dwc2_hc_frmovrun_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1828 dwc2_hc_nyet_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1838 dwc2_hc_nak_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1848 dwc2_hc_ack_intr(hsotg, chan, chnum, qtd); in dwc2_hc_chhltd_intr_dma()
1860 __func__, chnum); in dwc2_hc_chhltd_intr_dma()
1866 __func__, chnum); 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()
1900 struct dwc2_host_chan *chan, int chnum, in dwc2_hc_chhltd_intr() argument
1905 chnum); 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()
1917 static void dwc2_hc_n_intr(struct dwc2_hsotg *hsotg, int chnum) in dwc2_hc_n_intr() argument
1923 chan = hsotg->hc_ptr_array[chnum]; in dwc2_hc_n_intr()
1925 hcint = readl(hsotg->regs + HCINT(chnum)); in dwc2_hc_n_intr()
1926 hcintmsk = readl(hsotg->regs + HCINTMSK(chnum)); in dwc2_hc_n_intr()
1929 writel(hcint, hsotg->regs + HCINT(chnum)); in dwc2_hc_n_intr()
1935 chnum); in dwc2_hc_n_intr()
1941 writel(hcint, hsotg->regs + HCINT(chnum)); in dwc2_hc_n_intr()
1957 dwc2_hcd_complete_xfer_ddma(hsotg, chan, chnum, in dwc2_hc_n_intr()
1971 chnum); in dwc2_hc_n_intr()
1976 disable_hc_int(hsotg, chnum, HCINTMSK_CHHLTD); 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()