aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2022-09-03 16:34:15 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2022-09-04 15:32:22 +0200
commitbcaabe6d0586fabab72aa1fc6c06b8f83b6dfa0c (patch)
treea14ee2d05b866a146be2544c04b795eb5c2c68a8 /target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch
parent8d24ea3f31b4e60a342e579e3218e1adc282dba3 (diff)
downloadupstream-bcaabe6d0586fabab72aa1fc6c06b8f83b6dfa0c.tar.gz
upstream-bcaabe6d0586fabab72aa1fc6c06b8f83b6dfa0c.tar.bz2
upstream-bcaabe6d0586fabab72aa1fc6c06b8f83b6dfa0c.zip
kernel: bump 5.4 to 5.4.211
Similar version was upstreamed: bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch Manually adapted: ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch Compile-tested: x86/64 Run-tested: x86/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch b/target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch
deleted file mode 100644
index e083237598..0000000000
--- a/target/linux/bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From a3749ee48539fa832b1832cdcae26d34e5d20f00 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Fri, 24 Jan 2020 11:38:28 +0000
-Subject: [PATCH] tty: amba-pl011: Add un/throttle support
-
-The PL011 driver lacks throttle and unthrottle methods. As a result,
-sending more data to the Pi than it can immediately sink while CRTSCTS
-is enabled causes a NULL pointer to be followed.
-
-Add a throttle handler that disables the RX interrupts, and an
-unthrottle handler that reenables them.
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
---- a/drivers/tty/serial/amba-pl011.c
-+++ b/drivers/tty/serial/amba-pl011.c
-@@ -1326,6 +1326,32 @@ static void pl011_start_tx(struct uart_p
- pl011_start_tx_pio(uap);
- }
-
-+static void pl011_throttle(struct uart_port *port)
-+{
-+ struct uart_amba_port *uap =
-+ container_of(port, struct uart_amba_port, port);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&uap->port.lock, flags);
-+ uap->im &= ~(UART011_RTIM | UART011_RXIM);
-+ pl011_write(uap->im, uap, REG_IMSC);
-+ spin_unlock_irqrestore(&uap->port.lock, flags);
-+}
-+
-+static void pl011_unthrottle(struct uart_port *port)
-+{
-+ struct uart_amba_port *uap =
-+ container_of(port, struct uart_amba_port, port);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&uap->port.lock, flags);
-+ uap->im |= UART011_RTIM;
-+ if (!pl011_dma_rx_running(uap))
-+ uap->im |= UART011_RXIM;
-+ pl011_write(uap->im, uap, REG_IMSC);
-+ spin_unlock_irqrestore(&uap->port.lock, flags);
-+}
-+
- static void pl011_stop_rx(struct uart_port *port)
- {
- struct uart_amba_port *uap =
-@@ -2150,6 +2176,8 @@ static const struct uart_ops amba_pl011_
- .stop_tx = pl011_stop_tx,
- .start_tx = pl011_start_tx,
- .stop_rx = pl011_stop_rx,
-+ .throttle = pl011_throttle,
-+ .unthrottle = pl011_unthrottle,
- .enable_ms = pl011_enable_ms,
- .break_ctl = pl011_break_ctl,
- .startup = pl011_startup,