Lines Matching refs:epnum
73 static dma_addr_t read_txq_cur_addr(void __iomem *mbase, u8 epnum)
78 txcpr = mtu3_readl(mbase, USB_QMU_TQCPR(epnum));
79 txhiar = mtu3_readl(mbase, USB_QMU_TQHIAR(epnum));
84 static dma_addr_t read_rxq_cur_addr(void __iomem *mbase, u8 epnum)
89 rxcpr = mtu3_readl(mbase, USB_QMU_RQCPR(epnum));
90 rxhiar = mtu3_readl(mbase, USB_QMU_RQHIAR(epnum));
95 static void write_txq_start_addr(void __iomem *mbase, u8 epnum, dma_addr_t dma)
99 mtu3_writel(mbase, USB_QMU_TQSAR(epnum),
101 tqhiar = mtu3_readl(mbase, USB_QMU_TQHIAR(epnum));
104 mtu3_writel(mbase, USB_QMU_TQHIAR(epnum), tqhiar);
107 static void write_rxq_start_addr(void __iomem *mbase, u8 epnum, dma_addr_t dma)
111 mtu3_writel(mbase, USB_QMU_RQSAR(epnum),
113 rqhiar = mtu3_readl(mbase, USB_QMU_RQHIAR(epnum));
116 mtu3_writel(mbase, USB_QMU_RQHIAR(epnum), rqhiar);
193 int epnum = mep->epnum;
196 offset = mep->is_in ? USB_QMU_TQCSR(epnum) : USB_QMU_RQCSR(epnum);
263 mep->epnum, gpd, enq, &enq_dma);
306 mep->epnum, gpd, enq, &enq_dma);
336 u8 epnum = mep->epnum;
340 write_txq_start_addr(mbase, epnum, ring->dma);
341 mtu3_setbits(mbase, MU3D_EP_TXCR0(epnum), TX_DMAREQEN);
343 mtu3_setbits(mbase, U3D_QCR1, QMU_TX_ZLP(epnum));
345 QMU_TX_LEN_ERR(epnum) | QMU_TX_CS_ERR(epnum));
347 if (mtu3_readl(mbase, USB_QMU_TQCSR(epnum)) & QMU_Q_ACTIVE) {
348 dev_warn(mtu->dev, "Tx %d Active Now!\n", epnum);
351 mtu3_writel(mbase, USB_QMU_TQCSR(epnum), QMU_Q_START);
354 write_rxq_start_addr(mbase, epnum, ring->dma);
355 mtu3_setbits(mbase, MU3D_EP_RXCR0(epnum), RX_DMAREQEN);
357 mtu3_clrbits(mbase, U3D_QCR3, QMU_RX_ZLP(epnum));
359 mtu3_setbits(mbase, U3D_QCR3, QMU_RX_COZ(epnum));
361 QMU_RX_LEN_ERR(epnum) | QMU_RX_CS_ERR(epnum));
362 mtu3_writel(mbase, U3D_RQERRIESR1, QMU_RX_ZLP_ERR(epnum));
364 if (mtu3_readl(mbase, USB_QMU_RQCSR(epnum)) & QMU_Q_ACTIVE) {
365 dev_warn(mtu->dev, "Rx %d Active Now!\n", epnum);
368 mtu3_writel(mbase, USB_QMU_RQCSR(epnum), QMU_Q_START);
379 int epnum = mep->epnum;
384 qcsr = mep->is_in ? USB_QMU_TQCSR(epnum) : USB_QMU_RQCSR(epnum);
418 static void qmu_tx_zlp_error_handler(struct mtu3 *mtu, u8 epnum)
420 struct mtu3_ep *mep = mtu->in_eps + epnum;
433 cur_gpd_dma = read_txq_cur_addr(mbase, epnum);
437 dev_err(mtu->dev, "TX EP%d buffer length error(!=0)\n", epnum);
444 mtu3_clrbits(mbase, MU3D_EP_TXCR0(mep->epnum), TX_DMAREQEN);
446 ret = readl_poll_timeout_atomic(mbase + MU3D_EP_TXCR0(mep->epnum),
452 mtu3_setbits(mbase, MU3D_EP_TXCR0(mep->epnum), TX_TXPKTRDY);
459 mtu3_setbits(mbase, MU3D_EP_TXCR0(mep->epnum), TX_DMAREQEN);
470 static void qmu_done_tx(struct mtu3 *mtu, u8 epnum)
472 struct mtu3_ep *mep = mtu->in_eps + epnum;
482 cur_gpd_dma = read_txq_cur_addr(mbase, epnum);
486 __func__, epnum, gpd, gpd_current, ring->enqueue);
506 __func__, epnum, ring->dequeue, ring->enqueue);
510 static void qmu_done_rx(struct mtu3 *mtu, u8 epnum)
512 struct mtu3_ep *mep = mtu->out_eps + epnum;
521 cur_gpd_dma = read_rxq_cur_addr(mbase, epnum);
525 __func__, epnum, gpd, gpd_current, ring->enqueue);
545 __func__, epnum, ring->dequeue, ring->enqueue);