Lines Matching refs:dma

260 	struct uart_8250_dma	*dma = up->dma;  in omap8250_restore_regs()  local
262 if (dma && dma->tx_running) { in omap8250_restore_regs()
434 if (up->dma) in omap_8250_set_termios()
575 if (up->dma) { in omap8250_irq()
611 if (up->dma) { in omap_8250_startup()
616 up->dma = NULL; in omap_8250_startup()
638 if (up->dma) in omap_8250_startup()
639 up->dma->rx_dma(up, 0); in omap_8250_startup()
657 if (up->dma) in omap_8250_shutdown()
658 up->dma->rx_dma(up, UART_IIR_RX_TIMEOUT); in omap_8250_shutdown()
667 if (up->dma) in omap_8250_shutdown()
723 struct uart_8250_dma *dma = p->dma; in __dma_rx_do_complete() local
730 dma_sync_single_for_cpu(dma->rxchan->device->dev, dma->rx_addr, in __dma_rx_do_complete()
731 dma->rx_size, DMA_FROM_DEVICE); in __dma_rx_do_complete()
735 if (!dma->rx_running) in __dma_rx_do_complete()
738 dma->rx_running = 0; in __dma_rx_do_complete()
739 dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_do_complete()
740 dmaengine_terminate_all(dma->rxchan); in __dma_rx_do_complete()
742 count = dma->rx_size - state.residue; in __dma_rx_do_complete()
744 ret = tty_insert_flip_string(tty_port, dma->rx_buf, count); in __dma_rx_do_complete()
765 struct uart_8250_dma *dma = p->dma; in omap_8250_rx_dma_flush() local
771 if (!dma->rx_running) { in omap_8250_rx_dma_flush()
776 ret = dmaengine_pause(dma->rxchan); in omap_8250_rx_dma_flush()
788 struct uart_8250_dma *dma = p->dma; in omap_8250_rx_dma() local
827 if (dma->rx_running) in omap_8250_rx_dma()
830 desc = dmaengine_prep_slave_single(dma->rxchan, dma->rx_addr, in omap_8250_rx_dma()
831 dma->rx_size, DMA_DEV_TO_MEM, in omap_8250_rx_dma()
838 dma->rx_running = 1; in omap_8250_rx_dma()
842 dma->rx_cookie = dmaengine_submit(desc); in omap_8250_rx_dma()
844 dma_sync_single_for_device(dma->rxchan->device->dev, dma->rx_addr, in omap_8250_rx_dma()
845 dma->rx_size, DMA_FROM_DEVICE); in omap_8250_rx_dma()
847 dma_async_issue_pending(dma->rxchan); in omap_8250_rx_dma()
858 struct uart_8250_dma *dma = p->dma; in omap_8250_dma_tx_complete() local
864 dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr, in omap_8250_dma_tx_complete()
869 dma->tx_running = 0; in omap_8250_dma_tx_complete()
871 xmit->tail += dma->tx_size; in omap_8250_dma_tx_complete()
873 p->port.icount.tx += dma->tx_size; in omap_8250_dma_tx_complete()
895 dma->tx_err = 1; in omap_8250_dma_tx_complete()
905 struct uart_8250_dma *dma = p->dma; in omap_8250_tx_dma() local
912 if (dma->tx_running) in omap_8250_tx_dma()
921 if (dma->tx_err || p->capabilities & UART_CAP_RPM) { in omap_8250_tx_dma()
932 dma->tx_size = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE); in omap_8250_tx_dma()
956 if (dma->tx_size < 4) { in omap_8250_tx_dma()
963 desc = dmaengine_prep_slave_single(dma->txchan, in omap_8250_tx_dma()
964 dma->tx_addr + xmit->tail + skip_byte, in omap_8250_tx_dma()
965 dma->tx_size - skip_byte, DMA_MEM_TO_DEV, in omap_8250_tx_dma()
972 dma->tx_running = 1; in omap_8250_tx_dma()
977 dma->tx_cookie = dmaengine_submit(desc); in omap_8250_tx_dma()
979 dma_sync_single_for_device(dma->txchan->device->dev, dma->tx_addr, in omap_8250_tx_dma()
982 dma_async_issue_pending(dma->txchan); in omap_8250_tx_dma()
983 if (dma->tx_err) in omap_8250_tx_dma()
984 dma->tx_err = 0; in omap_8250_tx_dma()
994 dma->tx_err = 1; in omap_8250_tx_dma()
1032 if (status & UART_LSR_THRE && up->dma->tx_err) { in omap_8250_dma_handle_irq()
1035 up->dma->tx_err = 0; in omap_8250_dma_handle_irq()
1209 up.dma = &priv->omap8250_dma; in omap8250_probe()
1369 if (up->dma && up->dma->rxchan) in omap8250_runtime_suspend()
1394 if (up->dma && up->dma->rxchan) in omap8250_runtime_resume()