Searched refs:dma_tx (Results 1 - 35 of 35) sorted by relevance

/linux-4.1.27/drivers/spi/
H A Dspi-rockchip.c201 struct rockchip_spi_dma_data dma_tx; member in struct:rockchip_spi
327 dmaengine_terminate_all(rs->dma_tx.ch); rockchip_spi_handle_err()
466 txconf.direction = rs->dma_tx.direction; rockchip_spi_prepare_dma()
467 txconf.dst_addr = rs->dma_tx.addr; rockchip_spi_prepare_dma()
470 dmaengine_slave_config(rs->dma_tx.ch, &txconf); rockchip_spi_prepare_dma()
473 rs->dma_tx.ch, rockchip_spi_prepare_dma()
475 rs->dma_tx.direction, DMA_PREP_INTERRUPT); rockchip_spi_prepare_dma()
495 dma_async_issue_pending(rs->dma_tx.ch); rockchip_spi_prepare_dma()
720 rs->dma_tx.ch = dma_request_slave_channel(rs->dev, "tx"); rockchip_spi_probe()
721 if (!rs->dma_tx.ch) rockchip_spi_probe()
726 if (rs->dma_tx.ch) { rockchip_spi_probe()
727 dma_release_channel(rs->dma_tx.ch); rockchip_spi_probe()
728 rs->dma_tx.ch = NULL; rockchip_spi_probe()
733 if (rs->dma_tx.ch && rs->dma_rx.ch) { rockchip_spi_probe()
734 rs->dma_tx.addr = (dma_addr_t)(mem->start + ROCKCHIP_SPI_TXDR); rockchip_spi_probe()
736 rs->dma_tx.direction = DMA_MEM_TO_DEV; rockchip_spi_probe()
740 master->dma_tx = rs->dma_tx.ch; rockchip_spi_probe()
753 if (rs->dma_tx.ch) rockchip_spi_probe()
754 dma_release_channel(rs->dma_tx.ch); rockchip_spi_probe()
777 if (rs->dma_tx.ch) rockchip_spi_remove()
778 dma_release_channel(rs->dma_tx.ch); rockchip_spi_remove()
H A Dspi-qup.c297 chan = master->dma_tx; spi_qup_prep_sg()
322 dmaengine_terminate_all(master->dma_tx); spi_qup_dma_terminate()
350 dma_async_issue_pending(master->dma_tx); spi_qup_do_dma()
681 IS_ERR_OR_NULL(master->dma_tx) || spi_qup_can_dma()
698 if (!IS_ERR_OR_NULL(master->dma_tx)) spi_qup_release_dma()
699 dma_release_channel(master->dma_tx); spi_qup_release_dma()
715 master->dma_tx = dma_request_slave_channel_reason(dev, "tx"); spi_qup_init_dma()
716 if (IS_ERR(master->dma_tx)) { spi_qup_init_dma()
717 ret = PTR_ERR(master->dma_tx); spi_qup_init_dma()
738 ret = dmaengine_slave_config(master->dma_tx, tx_conf); spi_qup_init_dma()
747 dma_release_channel(master->dma_tx); spi_qup_init_dma()
H A Dspi-omap2-mcspi.c101 struct dma_chan *dma_tx; member in struct:omap2_mcspi_dma
402 if (mcspi_dma->dma_tx) { omap2_mcspi_tx_dma()
406 dmaengine_slave_config(mcspi_dma->dma_tx, &cfg); omap2_mcspi_tx_dma()
412 tx = dmaengine_prep_slave_sg(mcspi_dma->dma_tx, &sg, 1, omap2_mcspi_tx_dma()
422 dma_async_issue_pending(mcspi_dma->dma_tx); omap2_mcspi_tx_dma()
966 mcspi_dma->dma_tx = omap2_mcspi_request_dma()
971 if (!mcspi_dma->dma_tx) { omap2_mcspi_request_dma()
1008 if (!mcspi_dma->dma_rx || !mcspi_dma->dma_tx) { omap2_mcspi_setup()
1048 if (mcspi_dma->dma_tx) { omap2_mcspi_cleanup()
1049 dma_release_channel(mcspi_dma->dma_tx); omap2_mcspi_cleanup()
1050 mcspi_dma->dma_tx = NULL; omap2_mcspi_cleanup()
1143 if ((mcspi_dma->dma_rx && mcspi_dma->dma_tx) && omap2_mcspi_work()
1154 if ((mcspi_dma->dma_rx && mcspi_dma->dma_tx) && omap2_mcspi_work()
1240 if (mcspi_dma->dma_tx && tx_buf != NULL) { omap2_mcspi_transfer_one_message()
H A Dspi-sh-msiof.c700 dma_sync_single_for_device(p->master->dma_tx->device->dev, sh_msiof_dma_once()
702 desc_tx = dmaengine_prep_slave_single(p->master->dma_tx, sh_msiof_dma_once()
738 dma_async_issue_pending(p->master->dma_tx); sh_msiof_dma_once()
774 dmaengine_terminate_all(p->master->dma_tx); sh_msiof_dma_once()
846 while (master->dma_tx && len > 15) { sh_msiof_transfer_one()
1083 master->dma_tx = sh_msiof_request_dma_chan(dev, DMA_MEM_TO_DEV, sh_msiof_request_dma()
1086 if (!master->dma_tx) sh_msiof_request_dma()
1103 tx_dev = master->dma_tx->device->dev; sh_msiof_request_dma()
1127 dma_release_channel(master->dma_tx); sh_msiof_request_dma()
1128 master->dma_tx = NULL; sh_msiof_request_dma()
1137 if (!master->dma_tx) sh_msiof_release_dma()
1143 dma_unmap_single(master->dma_tx->device->dev, p->tx_dma_addr, sh_msiof_release_dma()
1148 dma_release_channel(master->dma_tx); sh_msiof_release_dma()
H A Dspi-dw-mid.c49 struct dw_dma_slave *tx = dws->dma_tx; mid_spi_dma_init()
76 dws->master->dma_tx = dws->txchan; mid_spi_dma_init()
325 dws->dma_tx = &mid_dma_tx; dw_spi_mid_init()
H A Dspi-ep93xx.c83 * @dma_tx: TX DMA channel
102 struct dma_chan *dma_tx; member in struct:ep93xx_spi
461 chan = espi->dma_tx; ep93xx_spi_dma_prepare()
543 chan = espi->dma_tx; ep93xx_spi_dma_finish()
584 dma_async_issue_pending(espi->dma_tx); ep93xx_spi_dma_transfer()
825 espi->dma_tx = dma_request_channel(mask, ep93xx_spi_dma_filter, ep93xx_spi_setup_dma()
827 if (!espi->dma_tx) { ep93xx_spi_setup_dma()
849 if (espi->dma_tx) { ep93xx_spi_release_dma()
850 dma_release_channel(espi->dma_tx); ep93xx_spi_release_dma()
H A Dspi-imx.c809 if (master->dma_tx) { spi_imx_sdma_exit()
810 dma_release_channel(master->dma_tx); spi_imx_sdma_exit()
811 master->dma_tx = NULL; spi_imx_sdma_exit()
829 master->dma_tx = dma_request_slave_channel(dev, "tx"); spi_imx_sdma_init()
830 if (!master->dma_tx) { spi_imx_sdma_init()
840 ret = dmaengine_slave_config(master->dma_tx, &slave_config); spi_imx_sdma_init()
906 desc_tx = dmaengine_prep_slave_sg(master->dma_tx, spi_imx_dma_transfer()
944 dma_async_issue_pending(master->dma_tx); spi_imx_dma_transfer()
953 dmaengine_terminate_all(master->dma_tx); spi_imx_dma_transfer()
H A Dspi-rspi.c545 desc_tx = dmaengine_prep_slave_sg(rspi->master->dma_tx, rspi_dma_transfer()
585 dma_async_issue_pending(rspi->master->dma_tx); rspi_dma_transfer()
595 dmaengine_terminate_all(rspi->master->dma_tx); rspi_dma_transfer()
1063 master->dma_tx = rspi_request_dma_chan(dev, DMA_MEM_TO_DEV, dma_tx_id, rspi_request_dma()
1065 if (!master->dma_tx) rspi_request_dma()
1071 dma_release_channel(master->dma_tx); rspi_request_dma()
1072 master->dma_tx = NULL; rspi_request_dma()
1083 if (master->dma_tx) rspi_release_dma()
1084 dma_release_channel(master->dma_tx); rspi_release_dma()
H A Dspi-davinci.c132 struct dma_chan *dma_tx; member in struct:davinci_spi
649 dmaengine_slave_config(dspi->dma_tx, &dma_tx_conf); davinci_spi_bufs()
685 txdesc = dmaengine_prep_slave_sg(dspi->dma_tx, davinci_spi_bufs()
703 dma_async_issue_pending(dspi->dma_tx); davinci_spi_bufs()
818 dspi->dma_tx = dma_request_channel(mask, edma_filter_fn, davinci_spi_request_dma()
820 if (!dspi->dma_tx) { davinci_spi_request_dma()
1081 dma_release_channel(dspi->dma_tx); davinci_spi_probe()
H A Dspi-dw.h134 void *dma_tx; member in struct:dw_spi
H A Dspi-img-spfi.c664 master->dma_tx = spfi->tx_ch; img_spfi_probe()
H A Dspi-s3c64xx.c342 spi->dma_tx = sdd->tx_dma.ch; s3c64xx_spi_prepare_transfer()
H A Dspi.c542 tx_dev = master->dma_tx->device->dev; __spi_map_msg()
582 tx_dev = master->dma_tx->device->dev; spi_unmap_msg()
/linux-4.1.27/drivers/net/irda/
H A Dsa1100_ir.c64 struct sa1100_buf dma_tx; member in struct:sa1100_irda
230 dma_unmap_sg(si->dma_tx.dev, &si->dma_tx.sg, 1, DMA_TO_DEVICE); sa1100_irda_sirtxdma_irq()
231 dev_kfree_skb(si->dma_tx.skb); sa1100_irda_sirtxdma_irq()
232 si->dma_tx.skb = NULL; sa1100_irda_sirtxdma_irq()
235 dev->stats.tx_bytes += sg_dma_len(&si->dma_tx.sg); sa1100_irda_sirtxdma_irq()
262 si->dma_tx.skb = skb; sa1100_irda_sir_tx_start()
263 sg_set_buf(&si->dma_tx.sg, si->tx_buff.data, si->tx_buff.len); sa1100_irda_sir_tx_start()
264 if (dma_map_sg(si->dma_tx.dev, &si->dma_tx.sg, 1, DMA_TO_DEVICE) == 0) { sa1100_irda_sir_tx_start()
265 si->dma_tx.skb = NULL; sa1100_irda_sir_tx_start()
271 sa1100_irda_dma_start(&si->dma_tx, DMA_MEM_TO_DEV, sa1100_irda_sirtxdma_irq, dev); sa1100_irda_sir_tx_start()
376 skb = si->dma_tx.skb; sa1100_irda_firtxdma_irq()
378 dma_unmap_sg(si->dma_tx.dev, &si->dma_tx.sg, 1, sa1100_irda_firtxdma_irq()
383 si->dma_tx.skb = NULL; sa1100_irda_firtxdma_irq()
398 si->dma_tx.skb = skb; sa1100_irda_fir_tx_start()
399 sg_set_buf(&si->dma_tx.sg, skb->data, skb->len); sa1100_irda_fir_tx_start()
400 if (dma_map_sg(si->dma_tx.dev, &si->dma_tx.sg, 1, DMA_TO_DEVICE) == 0) { sa1100_irda_fir_tx_start()
401 si->dma_tx.skb = NULL; sa1100_irda_fir_tx_start()
408 sa1100_irda_dma_start(&si->dma_tx, DMA_MEM_TO_DEV, sa1100_irda_firtxdma_irq, dev); sa1100_irda_fir_tx_start()
558 dmaengine_slave_config(si->dma_tx.chan, sa1100_irda_set_speed()
589 dmaengine_slave_config(si->dma_tx.chan, sa1100_irda_set_speed()
681 BUG_ON(si->dma_tx.skb); sa1100_irda_hard_xmit()
783 dmaengine_terminate_all(si->dma_tx.chan); sa1100_irda_shutdown()
805 err = sa1100_irda_dma_request(si->dev, &si->dma_tx, "Ser2ICPTr", sa1100_irda_start()
844 dma_release_channel(si->dma_tx.chan); sa1100_irda_start()
873 skb = si->dma_tx.skb; sa1100_irda_stop()
875 dma_unmap_sg(si->dma_tx.dev, &si->dma_tx.sg, 1, sa1100_irda_stop()
878 si->dma_tx.skb = NULL; sa1100_irda_stop()
890 dma_release_channel(si->dma_tx.chan); sa1100_irda_stop()
955 sg_init_table(&si->dma_tx.sg, 1); sa1100_irda_probe()
/linux-4.1.27/drivers/net/ethernet/samsung/sxgbe/
H A Dsxgbe_dma.c47 int fix_burst, int pbl, dma_addr_t dma_tx, sxgbe_dma_channel_init()
69 writel(upper_32_bits(dma_tx), sxgbe_dma_channel_init()
71 writel(lower_32_bits(dma_tx), sxgbe_dma_channel_init()
83 dma_addr = dma_tx + ((t_rsize - 1) * SXGBE_DESC_SIZE_BYTES); sxgbe_dma_channel_init()
46 sxgbe_dma_channel_init(void __iomem *ioaddr, int cha_num, int fix_burst, int pbl, dma_addr_t dma_tx, dma_addr_t dma_rx, int t_rsize, int r_rsize) sxgbe_dma_channel_init() argument
H A Dsxgbe_dma.h27 int pbl, dma_addr_t dma_tx, dma_addr_t dma_rx,
H A Dsxgbe_main.c337 priv->hw->desc->init_tx_desc(&priv->txq[j]->dma_tx[i]); sxgbe_clear_descriptors()
404 tx_ring->dma_tx = dma_zalloc_coherent(dev, init_tx_ring()
407 if (!tx_ring->dma_tx) init_tx_ring()
436 tx_ring->dma_tx, tx_ring->dma_tx_phy); init_tx_ring()
553 tx_ring->dma_tx, tx_ring->dma_tx_phy); free_tx_ring()
622 struct sxgbe_tx_norm_desc *tdesc = txqueue->dma_tx + dma_desc; tx_free_ring_skbufs()
754 p = tqueue->dma_tx + entry; sxgbe_tx_queue_clean()
1326 tx_desc = tqueue->dma_tx + entry; sxgbe_xmit()
1351 first_desc = tqueue->dma_tx + entry; sxgbe_xmit()
1373 tx_desc = tqueue->dma_tx + entry; sxgbe_xmit()
H A Dsxgbe_common.h382 struct sxgbe_tx_norm_desc *dma_tx; member in struct:sxgbe_tx_queue
/linux-4.1.27/drivers/net/ethernet/stmicro/stmmac/
H A Dchain_mode.c36 struct dma_desc *desc = priv->dma_tx + entry; stmmac_jumbo_frm()
58 desc = priv->dma_tx + entry; stmmac_jumbo_frm()
H A Ddwmac100_dma.c36 int burst_len, u32 dma_tx, u32 dma_rx, int atds) dwmac100_dma_init()
63 writel(dma_tx, ioaddr + DMA_TX_BASE_ADDR); dwmac100_dma_init()
35 dwmac100_dma_init(void __iomem *ioaddr, int pbl, int fb, int mb, int burst_len, u32 dma_tx, u32 dma_rx, int atds) dwmac100_dma_init() argument
H A Dring_mode.c43 desc = priv->dma_tx + entry; stmmac_jumbo_frm()
70 desc = priv->dma_tx + entry; stmmac_jumbo_frm()
H A Dstmmac.h45 struct dma_desc *dma_tx; member in struct:stmmac_priv
H A Ddwmac1000_dma.c34 int burst_len, u32 dma_tx, u32 dma_rx, int atds) dwmac1000_dma_init()
103 writel(dma_tx, ioaddr + DMA_TX_BASE_ADDR); dwmac1000_dma_init()
33 dwmac1000_dma_init(void __iomem *ioaddr, int pbl, int fb, int mb, int burst_len, u32 dma_tx, u32 dma_rx, int atds) dwmac1000_dma_init() argument
H A Dstmmac_main.c360 desc = (priv->dma_tx + entry); stmmac_get_tx_hwtstamp()
914 stmmac_display_ring((void *)priv->dma_tx, txsize, 0); stmmac_display_rings()
962 priv->hw->desc->init_tx_desc(&priv->dma_tx[i], stmmac_clear_descriptors()
1083 priv->hw->mode->init(priv->dma_tx, priv->dma_tx_phy, init_dma_desc_rings()
1094 p = priv->dma_tx + i; init_dma_desc_rings()
1135 p = priv->dma_tx + i; dma_free_tx_skbufs()
1222 priv->dma_tx = dma_zalloc_coherent(priv->device, txsize * alloc_dma_desc_resources()
1226 if (!priv->dma_tx) { alloc_dma_desc_resources()
1257 priv->dma_tx, priv->dma_tx_phy); free_dma_desc_resources()
1326 p = priv->dma_tx + entry; stmmac_tx_clean()
1430 priv->hw->desc->init_tx_desc(&priv->dma_tx[i], stmmac_tx_err()
1971 desc = priv->dma_tx + entry; stmmac_xmit()
2003 desc = priv->dma_tx + entry; stmmac_xmit()
2052 stmmac_display_ring((void *)priv->dma_tx, txsize, 0); stmmac_xmit()
2559 sysfs_display_ring((void *)priv->dma_tx, txsize, 0, seq); stmmac_sysfs_ring_read()
H A Dcommon.h355 int burst_len, u32 dma_tx, u32 dma_rx, int atds);
/linux-4.1.27/drivers/net/ethernet/micrel/
H A Dks8842.c159 #define KS8842_USE_DMA(adapter) (((adapter)->dma_tx.channel != -1) && \
171 struct ks8842_tx_dma_ctl dma_tx; member in struct:ks8842_adapter
434 struct ks8842_tx_dma_ctl *ctl = &adapter->dma_tx; ks8842_tx_frame_dma()
857 struct ks8842_tx_dma_ctl *ctl = &adapter->dma_tx; ks8842_dma_tx_cb()
873 struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx; ks8842_stop_dma()
895 struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx; ks8842_dealloc_dma_bufs()
927 struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx; ks8842_alloc_dma_bufs()
1002 adapter->dma_tx.channel = -1; ks8842_open()
1056 if (adapter->dma_tx.adesc) ks8842_xmit_frame()
1183 adapter->dma_tx.channel = pdata->tx_dma_channel; ks8842_probe()
1186 adapter->dma_tx.channel = -1; ks8842_probe()
/linux-4.1.27/drivers/mmc/host/
H A Ddavinci_mmc.c206 struct dma_chan *dma_tx; member in struct:mmc_davinci_host
413 sync_dev = host->dma_tx; davinci_abort_dma()
433 chan = host->dma_tx; mmc_davinci_send_dma_request()
434 dmaengine_slave_config(host->dma_tx, &dma_tx_conf); mmc_davinci_send_dma_request()
436 desc = dmaengine_prep_slave_sg(host->dma_tx, mmc_davinci_send_dma_request()
514 dma_release_channel(host->dma_tx); davinci_release_dma_channels()
526 host->dma_tx = davinci_acquire_dma_channels()
529 if (!host->dma_tx) { davinci_acquire_dma_channels()
530 dev_err(mmc_dev(host->mmc), "Can't get dma_tx channel\n"); davinci_acquire_dma_channels()
546 dma_release_channel(host->dma_tx); davinci_acquire_dma_channels()
H A Domap.c132 struct dma_chan *dma_tx; member in struct:mmc_omap_host
414 c = host->dma_tx; mmc_omap_release_dma()
1003 c = host->dma_tx; mmc_omap_prepare_data()
1077 host->dma_tx : host->dma_rx; mmc_omap_start_request()
1393 host->dma_tx = dma_request_slave_channel_compat(mask, mmc_omap_probe()
1395 if (!host->dma_tx) mmc_omap_probe()
1445 if (host->dma_tx) mmc_omap_probe()
1446 dma_release_channel(host->dma_tx); mmc_omap_probe()
1475 if (host->dma_tx) mmc_omap_remove()
1476 dma_release_channel(host->dma_tx); mmc_omap_remove()
H A Djz4740_mmc.c150 struct dma_chan *dma_tx; member in struct:jz4740_mmc_host
170 dma_release_channel(host->dma_tx); jz4740_mmc_release_dma_channels()
181 host->dma_tx = dma_request_channel(mask, NULL, host); jz4740_mmc_acquire_dma_channels()
182 if (!host->dma_tx) { jz4740_mmc_acquire_dma_channels()
183 dev_err(mmc_dev(host->mmc), "Failed to get dma_tx channel\n"); jz4740_mmc_acquire_dma_channels()
199 dma_release_channel(host->dma_tx); jz4740_mmc_acquire_dma_channels()
211 return (data->flags & MMC_DATA_READ) ? host->dma_rx : host->dma_tx; jz4740_mmc_get_dma_chan()
287 chan = host->dma_tx; jz4740_mmc_start_dma_transfer()
/linux-4.1.27/drivers/i2c/busses/
H A Di2c-sh_mobile.c145 struct dma_chan *dma_tx; member in struct:sh_mobile_i2c_data
521 ? pd->dma_rx : pd->dma_tx; sh_mobile_i2c_dma_unmap()
536 dmaengine_terminate_all(pd->dma_tx); sh_mobile_i2c_cleanup_dma()
592 struct dma_chan *chan = read ? pd->dma_rx : pd->dma_tx; sh_mobile_i2c_xfer_dma()
602 chan = pd->dma_tx = sh_mobile_i2c_request_dma_chan(pd->dev, DMA_MEM_TO_DEV, sh_mobile_i2c_xfer_dma()
808 if (!IS_ERR(pd->dma_tx)) { sh_mobile_i2c_release_dma()
809 dma_release_channel(pd->dma_tx); sh_mobile_i2c_release_dma()
810 pd->dma_tx = ERR_PTR(-EPROBE_DEFER); sh_mobile_i2c_release_dma()
909 pd->dma_rx = pd->dma_tx = ERR_PTR(-EPROBE_DEFER); sh_mobile_i2c_probe()
/linux-4.1.27/drivers/net/ethernet/calxeda/
H A Dxgmac.c370 struct xgmac_dma_desc *dma_tx; member in struct:xgmac_priv
760 priv->dma_tx = dma_alloc_coherent(priv->device, xgmac_dma_desc_rings_init()
765 if (!priv->dma_tx) xgmac_dma_desc_rings_init()
770 priv->dma_rx, priv->dma_tx, xgmac_dma_desc_rings_init()
781 desc_init_tx_desc(priv->dma_tx, DMA_TX_RING_SZ); xgmac_dma_desc_rings_init()
832 p = priv->dma_tx + i; xgmac_free_tx_skbufs()
853 if (priv->dma_tx) { xgmac_free_dma_desc_rings()
856 priv->dma_tx, priv->dma_tx_phy); xgmac_free_dma_desc_rings()
857 priv->dma_tx = NULL; xgmac_free_dma_desc_rings()
881 struct xgmac_dma_desc *p = priv->dma_tx + entry; xgmac_tx_complete()
933 desc_init_tx_desc(priv->dma_tx, DMA_TX_RING_SZ); xgmac_tx_timeout_work()
1102 desc = priv->dma_tx + entry; xgmac_xmit()
1125 desc = priv->dma_tx + entry; xgmac_xmit()
1163 desc = priv->dma_tx + entry; xgmac_xmit()
/linux-4.1.27/drivers/net/wan/
H A Dz85230.c541 if(!chan->dma_tx) z8530_dma_tx()
572 if(chan->dma_tx) z8530_dma_status()
807 c->dma_tx = 0; z8530_sync_open()
897 c->dma_tx = 1; z8530_sync_dma_open()
1098 c->dma_tx = 1; z8530_sync_txdma_open()
1444 if(c->dma_tx) z8530_tx_begin()
1465 if(c->dma_tx) z8530_tx_begin()
1747 if(c->dma_tx && ((unsigned long)(virt_to_bus(skb->data+skb->len))>=16*1024*1024 || spans_boundary(skb))) z8530_queue_xmit()
H A Dz85230.h302 u8 dma_tx; /* TX is to use DMA */ member in struct:z8530_channel
/linux-4.1.27/include/linux/spi/
H A Dspi.h299 * @dma_tx: DMA transmit channel
403 * not modify or store xfer and dma_tx and dma_rx must be set
456 struct dma_chan *dma_tx; member in struct:spi_master
/linux-4.1.27/drivers/net/wireless/b43legacy/
H A Ddma.c1266 * Some fields of txstat are already filled in dma_tx(). b43legacy_dma_handle_txstatus()

Completed in 678 milliseconds