Lines Matching refs:chan
322 offsetof(struct pasemi_mac_csring, chan)); in pasemi_mac_setup_csring()
329 chno = ring->chan.chno; in pasemi_mac_setup_csring()
335 if (pasemi_dma_alloc_ring(&ring->chan, CS_RING_SIZE)) in pasemi_mac_setup_csring()
339 PAS_DMA_TXCHAN_BASEL_BRBL(ring->chan.ring_dma)); in pasemi_mac_setup_csring()
340 val = PAS_DMA_TXCHAN_BASEU_BRBH(ring->chan.ring_dma >> 32); in pasemi_mac_setup_csring()
367 pasemi_dma_start_chan(&ring->chan, PAS_DMA_TXCHAN_TCMDSTA_SZ | in pasemi_mac_setup_csring()
380 pasemi_dma_free_ring(&ring->chan); in pasemi_mac_setup_csring()
382 pasemi_dma_free_chan(&ring->chan); in pasemi_mac_setup_csring()
404 pasemi_dma_stop_chan(&csring->chan); in pasemi_mac_free_csring()
407 pasemi_dma_free_ring(&csring->chan); in pasemi_mac_free_csring()
408 pasemi_dma_free_chan(&csring->chan); in pasemi_mac_free_csring()
420 offsetof(struct pasemi_mac_rxring, chan)); in pasemi_mac_setup_rx_resources()
426 chno = ring->chan.chno; in pasemi_mac_setup_rx_resources()
438 if (pasemi_dma_alloc_ring(&ring->chan, RX_RING_SIZE)) in pasemi_mac_setup_rx_resources()
448 PAS_DMA_RXCHAN_BASEL_BRBL(ring->chan.ring_dma)); in pasemi_mac_setup_rx_resources()
451 PAS_DMA_RXCHAN_BASEU_BRBH(ring->chan.ring_dma >> 32) | in pasemi_mac_setup_rx_resources()
487 pasemi_dma_free_chan(&ring->chan); in pasemi_mac_setup_rx_resources()
502 offsetof(struct pasemi_mac_txring, chan)); in pasemi_mac_setup_tx_resources()
509 chno = ring->chan.chno; in pasemi_mac_setup_tx_resources()
520 if (pasemi_dma_alloc_ring(&ring->chan, TX_RING_SIZE)) in pasemi_mac_setup_tx_resources()
524 PAS_DMA_TXCHAN_BASEL_BRBL(ring->chan.ring_dma)); in pasemi_mac_setup_tx_resources()
525 val = PAS_DMA_TXCHAN_BASEU_BRBH(ring->chan.ring_dma >> 32); in pasemi_mac_setup_tx_resources()
549 pasemi_dma_free_chan(&ring->chan); in pasemi_mac_setup_tx_resources()
585 pasemi_dma_free_chan(&txring->chan); in pasemi_mac_free_tx_resources()
620 pasemi_dma_free_chan(&rx_ring(mac)->chan); in pasemi_mac_free_rx_resources()
681 pcnt = *rx->chan.status & PAS_STATUS_PCNT_M; in pasemi_mac_restart_rx_intr()
685 if (*rx->chan.status & PAS_STATUS_TIMER) in pasemi_mac_restart_rx_intr()
688 write_iob_reg(PAS_IOB_DMA_RXCH_RESET(mac->rx->chan.chno), reg); in pasemi_mac_restart_rx_intr()
696 pcnt = *tx_ring(mac)->chan.status & PAS_STATUS_PCNT_M; in pasemi_mac_restart_tx_intr()
700 write_iob_reg(PAS_IOB_DMA_TXCH_RESET(tx_ring(mac)->chan.chno), reg); in pasemi_mac_restart_tx_intr()
708 struct pasemi_dmachan *chan = &rx_ring(mac)->chan; in pasemi_mac_rx_error() local
714 ccmdsta = read_dma_reg(PAS_DMA_RXCHAN_CCMDSTA(chan->chno)); in pasemi_mac_rx_error()
717 macrx, *chan->status); in pasemi_mac_rx_error()
727 struct pasemi_dmachan *chan = &tx_ring(mac)->chan; in pasemi_mac_tx_error() local
732 cmdsta = read_dma_reg(PAS_DMA_TXCHAN_TCMDSTA(chan->chno)); in pasemi_mac_tx_error()
735 "tx status 0x%016llx\n", mactx, *chan->status); in pasemi_mac_tx_error()
743 const struct pasemi_dmachan *chan = &rx->chan; in pasemi_mac_clean_rx() local
768 (*chan->status & PAS_STATUS_ERROR)) in pasemi_mac_clean_rx()
848 write_dma_reg(PAS_DMA_RXCHAN_INCR(mac->rx->chan.chno), count << 1); in pasemi_mac_clean_rx()
865 struct pasemi_dmachan *chan = &txring->chan; in pasemi_mac_clean_tx() local
901 (*chan->status & PAS_STATUS_ERROR)) in pasemi_mac_clean_tx()
959 const struct pasemi_dmachan *chan = &rxring->chan; in pasemi_mac_rx_intr() local
962 if (!(*chan->status & PAS_STATUS_CAUSE_M)) in pasemi_mac_rx_intr()
970 if (*chan->status & PAS_STATUS_SOFT) in pasemi_mac_rx_intr()
972 if (*chan->status & PAS_STATUS_ERROR) in pasemi_mac_rx_intr()
977 write_iob_reg(PAS_IOB_DMA_RXCH_RESET(chan->chno), reg); in pasemi_mac_rx_intr()
999 const struct pasemi_dmachan *chan = &txring->chan; in pasemi_mac_tx_intr() local
1003 if (!(*chan->status & PAS_STATUS_CAUSE_M)) in pasemi_mac_tx_intr()
1008 if (*chan->status & PAS_STATUS_SOFT) in pasemi_mac_tx_intr()
1010 if (*chan->status & PAS_STATUS_ERROR) in pasemi_mac_tx_intr()
1018 write_iob_reg(PAS_IOB_DMA_TXCH_RESET(chan->chno), reg); in pasemi_mac_tx_intr()
1152 write_iob_reg(PAS_IOB_DMA_RXCH_CFG(mac->rx->chan.chno), in pasemi_mac_open()
1155 write_iob_reg(PAS_IOB_DMA_TXCH_CFG(mac->tx->chan.chno), in pasemi_mac_open()
1159 PAS_MAC_IPC_CHNL_DCHNO(mac->rx->chan.chno) | in pasemi_mac_open()
1160 PAS_MAC_IPC_CHNL_BCH(mac->rx->chan.chno)); in pasemi_mac_open()
1171 pasemi_dma_start_chan(&rx_ring(mac)->chan, PAS_DMA_RXCHAN_CCMDSTA_DU | in pasemi_mac_open()
1177 pasemi_dma_start_chan(&tx_ring(mac)->chan, PAS_DMA_TXCHAN_TCMDSTA_SZ | in pasemi_mac_open()
1184 write_dma_reg(PAS_DMA_RXCHAN_INCR(rx_ring(mac)->chan.chno), in pasemi_mac_open()
1220 ret = request_irq(mac->tx->chan.irq, pasemi_mac_tx_intr, 0, in pasemi_mac_open()
1224 mac->tx->chan.irq, ret); in pasemi_mac_open()
1231 ret = request_irq(mac->rx->chan.irq, pasemi_mac_rx_intr, 0, in pasemi_mac_open()
1235 mac->rx->chan.irq, ret); in pasemi_mac_open()
1249 free_irq(mac->tx->chan.irq, mac->tx); in pasemi_mac_open()
1267 int txch = tx_ring(mac)->chan.chno; in pasemi_mac_pause_txchan()
1289 int rxch = rx_ring(mac)->chan.chno; in pasemi_mac_pause_rxchan()
1331 rxch = rx_ring(mac)->chan.chno; in pasemi_mac_close()
1332 txch = tx_ring(mac)->chan.chno; in pasemi_mac_close()
1371 free_irq(mac->tx->chan.irq, mac->tx); in pasemi_mac_close()
1372 free_irq(mac->rx->chan.irq, mac->rx); in pasemi_mac_close()
1428 csdma = csring->chan.ring_dma + (fill & (CS_RING_SIZE-1)) * 8 + 2; in pasemi_mac_queue_csdesc()
1460 write_dma_reg(PAS_DMA_TXCHAN_INCR(csring->chan.chno), (cs_size) >> 1); in pasemi_mac_queue_csdesc()
1472 write_dma_reg(PAS_DMA_TXCHAN_INCR(txring->chan.chno), 2); in pasemi_mac_queue_csdesc()
1578 write_dma_reg(PAS_DMA_TXCHAN_INCR(txring->chan.chno), (nfrags+2) >> 1); in pasemi_mac_start_tx()
1636 disable_irq(mac->tx->chan.irq); in pasemi_mac_netpoll()
1637 pasemi_mac_tx_intr(mac->tx->chan.irq, mac->tx); in pasemi_mac_netpoll()
1638 enable_irq(mac->tx->chan.irq); in pasemi_mac_netpoll()
1640 disable_irq(mac->rx->chan.irq); in pasemi_mac_netpoll()
1641 pasemi_mac_rx_intr(mac->rx->chan.irq, mac->rx); in pasemi_mac_netpoll()
1642 enable_irq(mac->rx->chan.irq); in pasemi_mac_netpoll()
1864 pasemi_dma_free_chan(&mac->tx->chan); in pasemi_mac_remove()
1865 pasemi_dma_free_chan(&mac->rx->chan); in pasemi_mac_remove()