mirror of https://gitee.com/openkylin/linux.git
TTY/Serial fixes for 4.0-rc6
Here are 3 serial driver fixes for 4.0-rc6. They fix some reported issues with the samsung and fsl_lpuart drivers. All have been in linux-next for a while. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlUfxjQACgkQMUfUDdst+ykl3gCfXUHCu4NypB8RvqjThs6TMIgG kpUAoLvnaNRD+HLyCMxDphxuN7DlBMVq =9SnO -----END PGP SIGNATURE----- Merge tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are 3 serial driver fixes for 4.0-rc6. They fix some reported issues with the samsung and fsl_lpuart drivers. All have been in linux-next for a while" * tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: tty: serial: fsl_lpuart: clear receive flag on FIFO flush tty: serial: fsl_lpuart: specify transmit FIFO size serial: samsung: Clear operation mode on UART shutdown
This commit is contained in:
commit
eca8258be3
|
@ -921,6 +921,9 @@ static void lpuart_setup_watermark(struct lpuart_port *sport)
|
||||||
writeb(val | UARTPFIFO_TXFE | UARTPFIFO_RXFE,
|
writeb(val | UARTPFIFO_TXFE | UARTPFIFO_RXFE,
|
||||||
sport->port.membase + UARTPFIFO);
|
sport->port.membase + UARTPFIFO);
|
||||||
|
|
||||||
|
/* explicitly clear RDRF */
|
||||||
|
readb(sport->port.membase + UARTSR1);
|
||||||
|
|
||||||
/* flush Tx and Rx FIFO */
|
/* flush Tx and Rx FIFO */
|
||||||
writeb(UARTCFIFO_TXFLUSH | UARTCFIFO_RXFLUSH,
|
writeb(UARTCFIFO_TXFLUSH | UARTCFIFO_RXFLUSH,
|
||||||
sport->port.membase + UARTCFIFO);
|
sport->port.membase + UARTCFIFO);
|
||||||
|
@ -1076,6 +1079,8 @@ static int lpuart_startup(struct uart_port *port)
|
||||||
sport->txfifo_size = 0x1 << (((temp >> UARTPFIFO_TXSIZE_OFF) &
|
sport->txfifo_size = 0x1 << (((temp >> UARTPFIFO_TXSIZE_OFF) &
|
||||||
UARTPFIFO_FIFOSIZE_MASK) + 1);
|
UARTPFIFO_FIFOSIZE_MASK) + 1);
|
||||||
|
|
||||||
|
sport->port.fifosize = sport->txfifo_size;
|
||||||
|
|
||||||
sport->rxfifo_size = 0x1 << (((temp >> UARTPFIFO_RXSIZE_OFF) &
|
sport->rxfifo_size = 0x1 << (((temp >> UARTPFIFO_RXSIZE_OFF) &
|
||||||
UARTPFIFO_FIFOSIZE_MASK) + 1);
|
UARTPFIFO_FIFOSIZE_MASK) + 1);
|
||||||
|
|
||||||
|
|
|
@ -963,6 +963,7 @@ static void s3c24xx_serial_shutdown(struct uart_port *port)
|
||||||
free_irq(ourport->tx_irq, ourport);
|
free_irq(ourport->tx_irq, ourport);
|
||||||
tx_enabled(port) = 0;
|
tx_enabled(port) = 0;
|
||||||
ourport->tx_claimed = 0;
|
ourport->tx_claimed = 0;
|
||||||
|
ourport->tx_mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ourport->rx_claimed) {
|
if (ourport->rx_claimed) {
|
||||||
|
|
Loading…
Reference in New Issue