Hi, This patch introduces DMA mode in samsung serial driver. It reduces number of interrupts and CPU usage while sending large data blocks. For TX transfers DMA mode is used when number of bytes to send it larger than TX FIFO size, for smaller transfers PIO mode is used. For RX transfers DMA mode is used when number of bytes in RX FIFO is larger than threshold level. If it's not, we obtain RX timeout interrupt and we receive data in PIO mode. DMA mode is enabled when "dmas" property is defined in device-tree node of serial port. Otherwise PIO mode is used. To have this working, proper residue handling and DMA_PAUSE support in DMAC driver are necessary. At many samsung platforms DMAC is pl330, which does not have those features in mainline driver yet, so if you would like to test series, my patches for pl330 driver are needed. You can find them here: https://lkml.org/lkml/2014/12/10/156 Entire series is based on previous work of Sylwester Nawrocki and Lukasz Czerwinski. Best regards, Robert Baldyga Robert Baldyga (6): serial: samsung: add struct s3c24xx_uart_dma serial: samsung: alloc dma stucture in ourport serial: s3c: add missing register definitions serial: samsung: add dma reqest/release functions serial: samsung: add DMA support for TX serial: samsung: add DMA support for RX drivers/tty/serial/samsung.c | 582 +++++++++++++++++++++++++++++++++++++++++-- drivers/tty/serial/samsung.h | 42 ++++ include/linux/serial_s3c.h | 28 +++ 3 files changed, 634 insertions(+), 18 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html