serial: 8250_dma: don't bother DMA with small transfers

If we would like to send amount of data less than FIFO size we better would do
this via PIO mode. Otherwise the overhead could be significant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Andy Shevchenko 2015-01-22 14:40:27 +02:00 committed by Greg Kroah-Hartman
parent a39d1da11b
commit 9119fba0cf
1 changed files with 4 additions and 0 deletions

View File

@ -80,6 +80,10 @@ int serial8250_tx_dma(struct uart_8250_port *p)
return 0;
dma->tx_size = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE);
if (dma->tx_size < p->port.fifosize) {
ret = -EINVAL;
goto err;
}
desc = dmaengine_prep_slave_single(dma->txchan,
dma->tx_addr + xmit->tail,