summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2015-12-31 00:49:00 +1000
committerNathan Rossi <nathan@nathanrossi.com>2016-01-06 13:10:44 +1000
commit2c86432d9b11a8d9505bf1232ef6de38bb36802c (patch)
tree62254df46d93f0dcdcd0711d0b559c20279684d5
parent7da3067a62fd0f2ead7e5a1ad017a146948080ee (diff)
downloadmeta-xilinx-2c86432d9b11a8d9505bf1232ef6de38bb36802c.tar.gz
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 <nathan@nathanrossi.com>
-rw-r--r--recipes-kernel/linux/linux-xlnx/3.19/tty-xuartps-Fix-RX-hang-and-TX-corruption-in-termios.patch62
-rw-r--r--recipes-kernel/linux/linux-xlnx_3.19.bb8
2 files changed, 0 insertions, 70 deletions
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 @@
1From 6ecde472b0d943251f8f348155495391720b61b0 Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan.rossi@xilinx.com>
3Date: Fri, 16 Jan 2015 13:49:25 +0100
4Subject: [PATCH] tty: xuartps: Fix RX hang, and TX corruption in termios call
5
6The implementation of flushing the RX FIFO breaks in a number of cases,
7it is impossible to ensure an complete flush of the RX FIFO due to the
8hardware not allowing the use of the FIFOs when the receiver is disabled
9(Reading from the FIFO register does not remove it from the FIFO when
10the RX_EN=0 or RX_DIS=1). Additionally during an initial set_termios
11call where RX_DIS=1 causes a hang waiting forever for the RX FIFO to
12empty. On top of this the FIFO will be cleared by the use of the RXRST
13bits on the Control Register, making the RX flush pointless (as it does
14not preserve the data read anyway).
15
16Due to the TXRST the TX FIFO and transmitter can be interrupted during
17frame trasmission, causing corruption and additionally data lost in the
18FIFO. Most other serial drivers do not flush or clear the FIFOs during
19a termios configuration change and as such do not have issues with
20corruption. For this UART controller is it required that the TXRST/RXRST
21bit be flagged during the change, this means that the data in the FIFO
22will be dropped when changing configuration. In order to prevent data
23loss and corruption of the transmitted data, wait until the TX FIFO is
24empty before changing the configuration. The performance of this may
25cause the set_termios call to take a longer amount of time especially
26on lower baud rates, however it is comparable to the same performance
27hit that a console_write call costs.
28
29Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
30Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
31Acked-by: Harini Katakam <harinik@xilinx.com>
32Signed-off-by: Michal Simek <michal.simek@xilinx.com>
33Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
34Upstream-Status: Backport [Available in 4.0]
35---
36 drivers/tty/serial/xilinx_uartps.c | 10 ++++++----
37 1 file changed, 6 insertions(+), 4 deletions(-)
38
39diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
40index 542bab3..cff531a 100644
41--- a/drivers/tty/serial/xilinx_uartps.c
42+++ b/drivers/tty/serial/xilinx_uartps.c
43@@ -637,10 +637,12 @@ static void cdns_uart_set_termios(struct uart_port *port,
44
45 spin_lock_irqsave(&port->lock, flags);
46
47- /* Empty the receive FIFO 1st before making changes */
48- while ((cdns_uart_readl(CDNS_UART_SR_OFFSET) &
49- CDNS_UART_SR_RXEMPTY) != CDNS_UART_SR_RXEMPTY) {
50- cdns_uart_readl(CDNS_UART_FIFO_OFFSET);
51+ /* Wait for the transmit FIFO to empty before making changes */
52+ if (!(cdns_uart_readl(CDNS_UART_CR_OFFSET) & CDNS_UART_CR_TX_DIS)) {
53+ while (!(cdns_uart_readl(CDNS_UART_SR_OFFSET) &
54+ CDNS_UART_SR_TXEMPTY)) {
55+ cpu_relax();
56+ }
57 }
58
59 /* Disable the TX and RX to set baud rate */
60--
611.7.10.4
62
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 @@
1LINUX_VERSION = "3.19"
2# This points at the 'xilinx-v2015.2.03' tag
3SRCREV ?= "b0b8a30bb6598b6fdfce47f0966316d138bcfb66"
4
5include linux-xlnx.inc
6
7COMPATIBLE_MACHINE_zynqmp = "zynqmp"
8