From 2c86432d9b11a8d9505bf1232ef6de38bb36802c Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Thu, 31 Dec 2015 00:49:00 +1000 Subject: linux-xlnx_3.19: Remove 'xilinx-v2015.2.03' kernel This kernel is superseeded by newer kernels. This recipe is being dropped in favour of newer linux-xlnx kernels. Remove the recipe and clean up any remaining kernel 3.19 patches. Signed-off-by: Nathan Rossi --- ...-Fix-RX-hang-and-TX-corruption-in-termios.patch | 62 ---------------------- recipes-kernel/linux/linux-xlnx_3.19.bb | 8 --- 2 files changed, 70 deletions(-) delete mode 100644 recipes-kernel/linux/linux-xlnx/3.19/tty-xuartps-Fix-RX-hang-and-TX-corruption-in-termios.patch delete mode 100644 recipes-kernel/linux/linux-xlnx_3.19.bb diff --git a/recipes-kernel/linux/linux-xlnx/3.19/tty-xuartps-Fix-RX-hang-and-TX-corruption-in-termios.patch b/recipes-kernel/linux/linux-xlnx/3.19/tty-xuartps-Fix-RX-hang-and-TX-corruption-in-termios.patch deleted file mode 100644 index 8ae7b85a..00000000 --- a/recipes-kernel/linux/linux-xlnx/3.19/tty-xuartps-Fix-RX-hang-and-TX-corruption-in-termios.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 6ecde472b0d943251f8f348155495391720b61b0 Mon Sep 17 00:00:00 2001 -From: Nathan Rossi -Date: Fri, 16 Jan 2015 13:49:25 +0100 -Subject: [PATCH] tty: xuartps: Fix RX hang, and TX corruption in termios call - -The implementation of flushing the RX FIFO breaks in a number of cases, -it is impossible to ensure an complete flush of the RX FIFO due to the -hardware not allowing the use of the FIFOs when the receiver is disabled -(Reading from the FIFO register does not remove it from the FIFO when -the RX_EN=0 or RX_DIS=1). Additionally during an initial set_termios -call where RX_DIS=1 causes a hang waiting forever for the RX FIFO to -empty. On top of this the FIFO will be cleared by the use of the RXRST -bits on the Control Register, making the RX flush pointless (as it does -not preserve the data read anyway). - -Due to the TXRST the TX FIFO and transmitter can be interrupted during -frame trasmission, causing corruption and additionally data lost in the -FIFO. Most other serial drivers do not flush or clear the FIFOs during -a termios configuration change and as such do not have issues with -corruption. For this UART controller is it required that the TXRST/RXRST -bit be flagged during the change, this means that the data in the FIFO -will be dropped when changing configuration. In order to prevent data -loss and corruption of the transmitted data, wait until the TX FIFO is -empty before changing the configuration. The performance of this may -cause the set_termios call to take a longer amount of time especially -on lower baud rates, however it is comparable to the same performance -hit that a console_write call costs. - -Signed-off-by: Nathan Rossi -Acked-by: Anirudha Sarangi -Acked-by: Harini Katakam -Signed-off-by: Michal Simek -Signed-off-by: Greg Kroah-Hartman -Upstream-Status: Backport [Available in 4.0] ---- - drivers/tty/serial/xilinx_uartps.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c -index 542bab3..cff531a 100644 ---- a/drivers/tty/serial/xilinx_uartps.c -+++ b/drivers/tty/serial/xilinx_uartps.c -@@ -637,10 +637,12 @@ static void cdns_uart_set_termios(struct uart_port *port, - - spin_lock_irqsave(&port->lock, flags); - -- /* Empty the receive FIFO 1st before making changes */ -- while ((cdns_uart_readl(CDNS_UART_SR_OFFSET) & -- CDNS_UART_SR_RXEMPTY) != CDNS_UART_SR_RXEMPTY) { -- cdns_uart_readl(CDNS_UART_FIFO_OFFSET); -+ /* Wait for the transmit FIFO to empty before making changes */ -+ if (!(cdns_uart_readl(CDNS_UART_CR_OFFSET) & CDNS_UART_CR_TX_DIS)) { -+ while (!(cdns_uart_readl(CDNS_UART_SR_OFFSET) & -+ CDNS_UART_SR_TXEMPTY)) { -+ cpu_relax(); -+ } - } - - /* Disable the TX and RX to set baud rate */ --- -1.7.10.4 - diff --git a/recipes-kernel/linux/linux-xlnx_3.19.bb b/recipes-kernel/linux/linux-xlnx_3.19.bb deleted file mode 100644 index 5ff735ef..00000000 --- a/recipes-kernel/linux/linux-xlnx_3.19.bb +++ /dev/null @@ -1,8 +0,0 @@ -LINUX_VERSION = "3.19" -# This points at the 'xilinx-v2015.2.03' tag -SRCREV ?= "b0b8a30bb6598b6fdfce47f0966316d138bcfb66" - -include linux-xlnx.inc - -COMPATIBLE_MACHINE_zynqmp = "zynqmp" - -- cgit v1.2.3-54-g00ecf