Lines Matching refs:tx_dma
125 struct sprd_uart_dma tx_dma;
212 dmaengine_pause(sp->tx_dma.chn);
214 dmaengine_tx_status(sp->tx_dma.chn, sp->tx_dma.cookie, &state);
216 trans_len = state.residue - sp->tx_dma.phys_addr;
218 dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
219 sp->tx_dma.trans_len, DMA_TO_DEVICE);
222 dmaengine_terminate_all(sp->tx_dma.chn);
223 sp->tx_dma.trans_len = 0;
232 sp->tx_dma.trans_len =
235 sp->tx_dma.phys_addr = dma_map_single(port->dev,
237 sp->tx_dma.trans_len,
239 return dma_mapping_error(port->dev, sp->tx_dma.phys_addr);
251 dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
252 sp->tx_dma.trans_len, DMA_TO_DEVICE);
254 uart_xmit_advance(port, sp->tx_dma.trans_len);
261 sp->tx_dma.trans_len = 0;
300 u32 burst = sp->tx_dma.trans_len > SPRD_TX_FIFO_FULL ?
301 SPRD_TX_FIFO_FULL : sp->tx_dma.trans_len;
310 ret = dmaengine_slave_config(sp->tx_dma.chn, &cfg);
314 return sprd_uart_dma_submit(port, &sp->tx_dma, sp->tx_dma.trans_len,
336 if (sp->tx_dma.trans_len)
340 sp->tx_dma.trans_len = 0;
485 if (sp->tx_dma.enable)
486 dma_release_channel(sp->tx_dma.chn);
488 sp->tx_dma.enable = false;
497 sp->tx_dma.enable = true;
500 sp->tx_dma.chn = dma_request_chan(port->dev, "tx");
501 if (IS_ERR(sp->tx_dma.chn)) {
503 PTR_ERR(sp->tx_dma.chn));
504 sp->tx_dma.enable = false;
521 if (sp->tx_dma.enable) {
542 if (sp->tx_dma.enable) {
674 if (!(sp->rx_dma.enable || sp->tx_dma.enable))