Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f3fe3b1 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Greg Kroah-Hartman
Browse files

serial: 8250_dma: Switch to using tty_port



The tty buffer functions are converted to using tty_port
structure instead of struct tty, so we must do the same.

Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 852e4a81
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -43,8 +43,9 @@ static void __dma_rx_complete(void *param)
{
{
	struct uart_8250_port	*p = param;
	struct uart_8250_port	*p = param;
	struct uart_8250_dma	*dma = p->dma;
	struct uart_8250_dma	*dma = p->dma;
	struct tty_struct	*tty = p->port.state->port.tty;
	struct tty_port		*tty_port = &p->port.state->port;
	struct dma_tx_state	state;
	struct dma_tx_state	state;
	int			count;


	dma_sync_single_for_cpu(dma->rxchan->device->dev, dma->rx_addr,
	dma_sync_single_for_cpu(dma->rxchan->device->dev, dma->rx_addr,
				dma->rx_size, DMA_FROM_DEVICE);
				dma->rx_size, DMA_FROM_DEVICE);
@@ -52,10 +53,12 @@ static void __dma_rx_complete(void *param)
	dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state);
	dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state);
	dmaengine_terminate_all(dma->rxchan);
	dmaengine_terminate_all(dma->rxchan);


	tty_insert_flip_string(tty, dma->rx_buf, dma->rx_size - state.residue);
	count = dma->rx_size - state.residue;
	p->port.icount.rx += dma->rx_size - state.residue;


	tty_flip_buffer_push(tty);
	tty_insert_flip_string(tty_port, dma->rx_buf, count);
	p->port.icount.rx += count;

	tty_flip_buffer_push(tty_port);
}
}


int serial8250_tx_dma(struct uart_8250_port *p)
int serial8250_tx_dma(struct uart_8250_port *p)