mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-20 17:32:57 +00:00
kernel: bump 5.10 to 5.10.132
All patches automatically rebased. The following patch was replaced by a similar version upstream: bcm27xx/patches-5.10/950-0036-tty-amba-pl011-Add-un-throttle-support.patch Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 7d3c0928de191b203dd5b27ddf208698d08639e3)
This commit is contained in:
parent
a409bd7705
commit
aedcbaae37
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.10 = .131
|
||||
LINUX_KERNEL_HASH-5.10.131 = 8bc441442c16c330a7148fe3cca9edcd98bc0fc9f68304633c7eb641770d21ce
|
||||
LINUX_VERSION-5.10 = .132
|
||||
LINUX_KERNEL_HASH-5.10.132 = 7d05a931eee01dea64fc73849e275ff14664ff98813f95f40588f04fdf1cfa2a
|
||||
|
@ -14,7 +14,7 @@ use the same logic.
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -2578,7 +2578,12 @@ static int pl011_setup_port(struct devic
|
||||
@@ -2597,7 +2597,12 @@ static int pl011_setup_port(struct devic
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -1642,6 +1642,23 @@ static void pl011_put_poll_char(struct u
|
||||
@@ -1651,6 +1651,23 @@ static void pl011_put_poll_char(struct u
|
||||
|
||||
#endif /* CONFIG_CONSOLE_POLL */
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static int pl011_hwinit(struct uart_port *port)
|
||||
{
|
||||
struct uart_amba_port *uap =
|
||||
@@ -1658,7 +1675,7 @@ static int pl011_hwinit(struct uart_port
|
||||
@@ -1667,7 +1684,7 @@ static int pl011_hwinit(struct uart_port
|
||||
if (retval)
|
||||
return retval;
|
||||
|
||||
@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
/* Clear pending error and receive interrupts */
|
||||
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
|
||||
@@ -2292,7 +2309,7 @@ static int pl011_console_setup(struct co
|
||||
@@ -2311,7 +2328,7 @@ static int pl011_console_setup(struct co
|
||||
plat->init();
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
if (uap->vendor->fixed_options) {
|
||||
baud = uap->fixed_baud;
|
||||
@@ -2509,6 +2526,7 @@ static struct uart_driver amba_reg = {
|
||||
@@ -2528,6 +2545,7 @@ static struct uart_driver amba_reg = {
|
||||
.cons = AMBA_CONSOLE,
|
||||
};
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static int pl011_probe_dt_alias(int index, struct device *dev)
|
||||
{
|
||||
struct device_node *np;
|
||||
@@ -2540,6 +2558,7 @@ static int pl011_probe_dt_alias(int inde
|
||||
@@ -2559,6 +2577,7 @@ static int pl011_probe_dt_alias(int inde
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -1377,6 +1377,7 @@ static bool pl011_tx_char(struct uart_am
|
||||
@@ -1386,6 +1386,7 @@ static bool pl011_tx_char(struct uart_am
|
||||
return false; /* unable to transmit character */
|
||||
|
||||
pl011_write(c, uap, REG_DR);
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
- reg
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -2665,6 +2665,11 @@ static int pl011_probe(struct amba_devic
|
||||
@@ -2684,6 +2684,11 @@ static int pl011_probe(struct amba_devic
|
||||
if (IS_ERR(uap->clk))
|
||||
return PTR_ERR(uap->clk);
|
||||
|
||||
|
@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
spin_unlock(&uap->port.lock);
|
||||
dev_vdbg(uap->port.dev,
|
||||
"Took %d chars from DMA buffer and %d chars from the FIFO\n",
|
||||
@@ -1341,6 +1344,7 @@ __acquires(&uap->port.lock)
|
||||
@@ -1350,6 +1353,7 @@ __acquires(&uap->port.lock)
|
||||
{
|
||||
pl011_fifo_to_tty(uap);
|
||||
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
spin_unlock(&uap->port.lock);
|
||||
tty_flip_buffer_push(&uap->port.state->port);
|
||||
/*
|
||||
@@ -1474,6 +1478,7 @@ static irqreturn_t pl011_int(int irq, vo
|
||||
@@ -1483,6 +1487,7 @@ static irqreturn_t pl011_int(int irq, vo
|
||||
int handled = 0;
|
||||
|
||||
spin_lock_irqsave(&uap->port.lock, flags);
|
||||
@ -74,7 +74,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
status = pl011_read(uap, REG_RIS) & uap->im;
|
||||
if (status) {
|
||||
do {
|
||||
@@ -1493,7 +1498,7 @@ static irqreturn_t pl011_int(int irq, vo
|
||||
@@ -1502,7 +1507,7 @@ static irqreturn_t pl011_int(int irq, vo
|
||||
UART011_CTSMIS|UART011_RIMIS))
|
||||
pl011_modem_status(uap);
|
||||
if (status & UART011_TXIS)
|
||||
|
@ -1,61 +0,0 @@
|
||||
From 3cec61f1b19a6f589f8b2aef97977e1c38eb7b70 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
|
||||
@@ -1317,6 +1317,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 =
|
||||
@@ -2139,6 +2165,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,
|
@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -1438,6 +1438,10 @@ static bool pl011_tx_chars(struct uart_a
|
||||
@@ -1421,6 +1421,10 @@ static bool pl011_tx_chars(struct uart_a
|
||||
if (likely(from_irq) && count-- == 0)
|
||||
break;
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/kernel/cgroup/cgroup.c
|
||||
+++ b/kernel/cgroup/cgroup.c
|
||||
@@ -5735,6 +5735,9 @@ int __init cgroup_init_early(void)
|
||||
@@ -5744,6 +5744,9 @@ int __init cgroup_init_early(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/**
|
||||
* cgroup_init - cgroup initialization
|
||||
*
|
||||
@@ -5773,6 +5776,12 @@ int __init cgroup_init(void)
|
||||
@@ -5782,6 +5785,12 @@ int __init cgroup_init(void)
|
||||
|
||||
mutex_unlock(&cgroup_mutex);
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
for_each_subsys(ss, ssid) {
|
||||
if (ss->early_init) {
|
||||
struct cgroup_subsys_state *css =
|
||||
@@ -6311,6 +6320,10 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6320,6 +6329,10 @@ static int __init cgroup_disable(char *s
|
||||
strcmp(token, ss->legacy_name))
|
||||
continue;
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||
pr_info("Disabling %s control group subsystem\n",
|
||||
ss->name);
|
||||
@@ -6320,6 +6333,31 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6329,6 +6342,31 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
@ -1162,7 +1162,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c
|
||||
@@ -444,7 +444,7 @@ static int dwc_eth_dwmac_probe(struct pl
|
||||
@@ -445,7 +445,7 @@ static int dwc_eth_dwmac_probe(struct pl
|
||||
if (IS_ERR(stmmac_res.addr))
|
||||
return PTR_ERR(stmmac_res.addr);
|
||||
|
||||
|
@ -36,7 +36,7 @@ David
|
||||
|
||||
--- a/drivers/tty/serial/8250/8250_core.c
|
||||
+++ b/drivers/tty/serial/8250/8250_core.c
|
||||
@@ -133,6 +133,38 @@ static irqreturn_t serial8250_interrupt(
|
||||
@@ -134,6 +134,38 @@ static irqreturn_t serial8250_interrupt(
|
||||
|
||||
if (l == i->head && pass_counter++ > PASS_LIMIT)
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user