serial: samsung: add DMA support for RX
authorRobert Baldyga <r.baldyga@samsung.com>
Wed, 10 Dec 2014 11:49:27 +0000 (12:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2015 22:25:39 +0000 (14:25 -0800)
commitb543c301c2c5fbf24ed160a0c227122f09f38e5f
treeb03b32eb6a783fbd68ebccd9567306eef33ba08f
parent29bef79908459d20a7a3db654bceb8f3ce4601dc
serial: samsung: add DMA support for RX

Add RX DMA transfers support for samsung serial driver. It's enabled
when DMA controller for RX channel is specified in device-tree.

DMA transactions are started when number of bytes in RX FIFO reaches
trigger level, otherwise PIO mode is used. DMA transfer size is always
PAGE_SIZE which can cause large latency when smaller data amount is
transferred, so we always terminate DMA transaction on RX timeout
interrupt. Timeout interval is set to 64 frame times.

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>
drivers/tty/serial/samsung.c
drivers/tty/serial/samsung.h