diff options
author | Robert Baldyga <r.baldyga@samsung.com> | 2014-12-10 12:49:26 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-01-09 14:25:39 -0800 |
commit | 29bef79908459d20a7a3db654bceb8f3ce4601dc (patch) | |
tree | 8bb849de9ccaf8e73e97e88debdc9ee0ae332ff4 /drivers/tty/serial/samsung.h | |
parent | 62c37eedb74c8fbf3c92f8f28a871e6bd80c181a (diff) | |
download | blackbird-op-linux-29bef79908459d20a7a3db654bceb8f3ce4601dc.tar.gz blackbird-op-linux-29bef79908459d20a7a3db654bceb8f3ce4601dc.zip |
serial: samsung: add DMA support for TX
Add TX DMA transfers support for samsung serial driver. It's enabled
when "dmas" property is defined in serial device-tree node, otherwise
TX transfers are prerformed using PIO.
TX DMA is used for data segments larger than fifosize to reduce number
of interrupts during data transmission. For buffers shorter than fifosize
PIO mode is selected.
Data blocks for DMA transfers are aligned to cache line size to avoid
problems with coherency (some areas of TX circ buffer can be used by
CPU during DMA transaction, so we have to ensure that our data is always
consistent).
Based on previous work of Sylwester Nawrocki and Lukasz Czerwinski.
Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/samsung.h')
-rw-r--r-- | drivers/tty/serial/samsung.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/tty/serial/samsung.h b/drivers/tty/serial/samsung.h index 8dc250c6b472..e60011c591e8 100644 --- a/drivers/tty/serial/samsung.h +++ b/drivers/tty/serial/samsung.h @@ -86,6 +86,9 @@ struct s3c24xx_uart_port { unsigned int rx_irq; unsigned int tx_irq; + unsigned int tx_in_progress; + unsigned int tx_mode; + struct s3c24xx_uart_info *info; struct clk *clk; struct clk *baudclk; |