Commit b92df54c authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Greg Kroah-Hartman
Browse files

serial: sprd: Use uart_xmit_advance()

parent e234ef0e
Loading
Loading
Loading
Loading
+2 −5
Original line number Original line Diff line number Diff line
@@ -206,7 +206,6 @@ static void sprd_stop_tx_dma(struct uart_port *port)
{
{
	struct sprd_uart_port *sp =
	struct sprd_uart_port *sp =
		container_of(port, struct sprd_uart_port, port);
		container_of(port, struct sprd_uart_port, port);
	struct circ_buf *xmit = &port->state->xmit;
	struct dma_tx_state state;
	struct dma_tx_state state;
	u32 trans_len;
	u32 trans_len;


@@ -215,8 +214,7 @@ static void sprd_stop_tx_dma(struct uart_port *port)
	dmaengine_tx_status(sp->tx_dma.chn, sp->tx_dma.cookie, &state);
	dmaengine_tx_status(sp->tx_dma.chn, sp->tx_dma.cookie, &state);
	if (state.residue) {
	if (state.residue) {
		trans_len = state.residue - sp->tx_dma.phys_addr;
		trans_len = state.residue - sp->tx_dma.phys_addr;
		xmit->tail = (xmit->tail + trans_len) & (UART_XMIT_SIZE - 1);
		uart_xmit_advance(port, trans_len);
		port->icount.tx += trans_len;
		dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
		dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
				 sp->tx_dma.trans_len, DMA_TO_DEVICE);
				 sp->tx_dma.trans_len, DMA_TO_DEVICE);
	}
	}
@@ -253,8 +251,7 @@ static void sprd_complete_tx_dma(void *data)
	dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
	dma_unmap_single(port->dev, sp->tx_dma.phys_addr,
			 sp->tx_dma.trans_len, DMA_TO_DEVICE);
			 sp->tx_dma.trans_len, DMA_TO_DEVICE);


	xmit->tail = (xmit->tail + sp->tx_dma.trans_len) & (UART_XMIT_SIZE - 1);
	uart_xmit_advance(port, sp->tx_dma.trans_len);
	port->icount.tx += sp->tx_dma.trans_len;


	if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
	if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
		uart_write_wakeup(port);
		uart_write_wakeup(port);