kernel: bump 5.4 to 5.4.74

Removed upstreamed patches:
 mvebu/patches-5.4
   409-phy-marvell-comphy-Convert-internal-SMCC-firmware-re.patch

All modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64
Run-tested: ipq806x/R7800, x86_64, lantiq/Easybox 904 xDSL

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64 build/run]
[added lantiq test report]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
John Audia 2020-11-01 11:37:10 -05:00 committed by Adrian Schmutzler
parent bd0b820068
commit 71b2b32f98
11 changed files with 20 additions and 126 deletions

View File

@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif endif
LINUX_VERSION-5.4 = .73 LINUX_VERSION-5.4 = .74
LINUX_KERNEL_HASH-5.4.73 = 5a424b403b726bbe7dfa1d1524e431676c4a64f22a8db524534ed678bfe576b2 LINUX_KERNEL_HASH-5.4.74 = ec04f4ade1146a3b458a1ac3dc2059188cbb62cd51d2e66fcd8397fcec153ab7
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -14,7 +14,7 @@ use the same logic.
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -2575,7 +2575,12 @@ static int pl011_setup_port(struct devic @@ -2578,7 +2578,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base)) if (IS_ERR(base))
return PTR_ERR(base); return PTR_ERR(base);

View File

@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -1650,6 +1650,23 @@ static void pl011_put_poll_char(struct u @@ -1653,6 +1653,23 @@ static void pl011_put_poll_char(struct u
#endif /* CONFIG_CONSOLE_POLL */ #endif /* CONFIG_CONSOLE_POLL */
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int pl011_hwinit(struct uart_port *port) static int pl011_hwinit(struct uart_port *port)
{ {
struct uart_amba_port *uap = struct uart_amba_port *uap =
@@ -1666,7 +1683,7 @@ static int pl011_hwinit(struct uart_port @@ -1669,7 +1686,7 @@ static int pl011_hwinit(struct uart_port
if (retval) if (retval)
return retval; return retval;
@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/* Clear pending error and receive interrupts */ /* Clear pending error and receive interrupts */
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS | pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
@@ -2321,7 +2338,7 @@ static int pl011_console_setup(struct co @@ -2324,7 +2341,7 @@ static int pl011_console_setup(struct co
plat->init(); plat->init();
} }
@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
if (uap->vendor->fixed_options) { if (uap->vendor->fixed_options) {
baud = uap->fixed_baud; baud = uap->fixed_baud;
@@ -2506,6 +2523,7 @@ static struct uart_driver amba_reg = { @@ -2509,6 +2526,7 @@ static struct uart_driver amba_reg = {
.cons = AMBA_CONSOLE, .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) static int pl011_probe_dt_alias(int index, struct device *dev)
{ {
struct device_node *np; struct device_node *np;
@@ -2537,6 +2555,7 @@ static int pl011_probe_dt_alias(int inde @@ -2540,6 +2558,7 @@ static int pl011_probe_dt_alias(int inde
return ret; return ret;
} }

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -1383,6 +1383,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 */ return false; /* unable to transmit character */
pl011_write(c, uap, REG_DR); pl011_write(c, uap, REG_DR);

View File

@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
- reg - reg
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -2662,6 +2662,11 @@ static int pl011_probe(struct amba_devic @@ -2665,6 +2665,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk)) if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk); return PTR_ERR(uap->clk);

View File

@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
#ifdef CONFIG_DMA_ENGINE #ifdef CONFIG_DMA_ENGINE
/* DMA stuff */ /* DMA stuff */
bool using_tx_dma; bool using_tx_dma;
@@ -813,6 +814,7 @@ __acquires(&uap->port.lock) @@ -816,6 +817,7 @@ __acquires(&uap->port.lock)
if (!uap->using_tx_dma) if (!uap->using_tx_dma)
return; return;
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
dmaengine_terminate_async(uap->dmatx.chan); dmaengine_terminate_async(uap->dmatx.chan);
if (uap->dmatx.queued) { if (uap->dmatx.queued) {
@@ -939,6 +941,7 @@ static void pl011_dma_rx_chars(struct ua @@ -942,6 +944,7 @@ static void pl011_dma_rx_chars(struct ua
fifotaken = pl011_fifo_to_tty(uap); fifotaken = pl011_fifo_to_tty(uap);
} }
@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock); spin_unlock(&uap->port.lock);
dev_vdbg(uap->port.dev, dev_vdbg(uap->port.dev,
"Took %d chars from DMA buffer and %d chars from the FIFO\n", "Took %d chars from DMA buffer and %d chars from the FIFO\n",
@@ -1347,6 +1350,7 @@ __acquires(&uap->port.lock) @@ -1350,6 +1353,7 @@ __acquires(&uap->port.lock)
{ {
pl011_fifo_to_tty(uap); pl011_fifo_to_tty(uap);
@ -66,7 +66,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock); spin_unlock(&uap->port.lock);
tty_flip_buffer_push(&uap->port.state->port); tty_flip_buffer_push(&uap->port.state->port);
/* /*
@@ -1482,6 +1486,7 @@ static irqreturn_t pl011_int(int irq, vo @@ -1485,6 +1489,7 @@ static irqreturn_t pl011_int(int irq, vo
int handled = 0; int handled = 0;
spin_lock_irqsave(&uap->port.lock, flags); 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; status = pl011_read(uap, REG_RIS) & uap->im;
if (status) { if (status) {
do { do {
@@ -1501,7 +1506,7 @@ static irqreturn_t pl011_int(int irq, vo @@ -1504,7 +1509,7 @@ static irqreturn_t pl011_int(int irq, vo
UART011_CTSMIS|UART011_RIMIS)) UART011_CTSMIS|UART011_RIMIS))
pl011_modem_status(uap); pl011_modem_status(uap);
if (status & UART011_TXIS) if (status & UART011_TXIS)

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -1323,6 +1323,32 @@ static void pl011_start_tx(struct uart_p @@ -1326,6 +1326,32 @@ static void pl011_start_tx(struct uart_p
pl011_start_tx_pio(uap); pl011_start_tx_pio(uap);
} }
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static void pl011_stop_rx(struct uart_port *port) static void pl011_stop_rx(struct uart_port *port)
{ {
struct uart_amba_port *uap = struct uart_amba_port *uap =
@@ -2164,6 +2190,8 @@ static const struct uart_ops amba_pl011_ @@ -2167,6 +2193,8 @@ static const struct uart_ops amba_pl011_
.stop_tx = pl011_stop_tx, .stop_tx = pl011_stop_tx,
.start_tx = pl011_start_tx, .start_tx = pl011_start_tx,
.stop_rx = pl011_stop_rx, .stop_rx = pl011_stop_rx,

View File

@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c
@@ -1444,6 +1444,10 @@ static bool pl011_tx_chars(struct uart_a @@ -1447,6 +1447,10 @@ static bool pl011_tx_chars(struct uart_a
if (likely(from_irq) && count-- == 0) if (likely(from_irq) && count-- == 0)
break; break;

View File

@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie) struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
{ {
struct dst_entry *dst = __sk_dst_get(sk); struct dst_entry *dst = __sk_dst_get(sk);
@@ -1743,9 +1756,11 @@ static void __sk_free(struct sock *sk) @@ -1742,9 +1755,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt)) if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1); sock_inuse_add(sock_net(sk), -1);

View File

@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/sock.c --- a/net/core/sock.c
+++ b/net/core/sock.c +++ b/net/core/sock.c
@@ -3630,6 +3630,8 @@ static __net_initdata struct pernet_oper @@ -3629,6 +3629,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void) static int __init proto_init(void)
{ {

View File

@ -1,106 +0,0 @@
From ea17a0f153af2cd890e4ce517130dcccaa428c13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Wed, 2 Sep 2020 16:43:43 +0200
Subject: [PATCH] phy: marvell: comphy: Convert internal SMCC firmware return
codes to errno
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Driver ->power_on and ->power_off callbacks leaks internal SMCC firmware
return codes to phy caller. This patch converts SMCC error codes to
standard linux errno codes. Include file linux/arm-smccc.h already provides
defines for SMCC error codes, so use them instead of custom driver defines.
Note that return value is signed 32bit, but stored in unsigned long type
with zero padding.
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Link: https://lore.kernel.org/r/20200902144344.16684-2-pali@kernel.org
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 14 +++++++++++---
drivers/phy/marvell/phy-mvebu-cp110-comphy.c | 14 +++++++++++---
2 files changed, 22 insertions(+), 6 deletions(-)
--- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
@@ -26,7 +26,6 @@
#define COMPHY_SIP_POWER_ON 0x82000001
#define COMPHY_SIP_POWER_OFF 0x82000002
#define COMPHY_SIP_PLL_LOCK 0x82000003
-#define COMPHY_FW_NOT_SUPPORTED (-1)
#define COMPHY_FW_MODE_SATA 0x1
#define COMPHY_FW_MODE_SGMII 0x2
@@ -112,10 +111,19 @@ static int mvebu_a3700_comphy_smc(unsign
unsigned long mode)
{
struct arm_smccc_res res;
+ s32 ret;
arm_smccc_smc(function, lane, mode, 0, 0, 0, 0, 0, &res);
+ ret = res.a0;
- return res.a0;
+ switch (ret) {
+ case SMCCC_RET_SUCCESS:
+ return 0;
+ case SMCCC_RET_NOT_SUPPORTED:
+ return -EOPNOTSUPP;
+ default:
+ return -EINVAL;
+ }
}
static int mvebu_a3700_comphy_get_fw_mode(int lane, int port,
@@ -220,7 +228,7 @@ static int mvebu_a3700_comphy_power_on(s
}
ret = mvebu_a3700_comphy_smc(COMPHY_SIP_POWER_ON, lane->id, fw_param);
- if (ret == COMPHY_FW_NOT_SUPPORTED)
+ if (ret == -EOPNOTSUPP)
dev_err(lane->dev,
"unsupported SMC call, try updating your firmware\n");
--- a/drivers/phy/marvell/phy-mvebu-cp110-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-cp110-comphy.c
@@ -123,7 +123,6 @@
#define COMPHY_SIP_POWER_ON 0x82000001
#define COMPHY_SIP_POWER_OFF 0x82000002
-#define COMPHY_FW_NOT_SUPPORTED (-1)
/*
* A lane is described by the following bitfields:
@@ -273,10 +272,19 @@ static int mvebu_comphy_smc(unsigned lon
unsigned long lane, unsigned long mode)
{
struct arm_smccc_res res;
+ s32 ret;
arm_smccc_smc(function, phys, lane, mode, 0, 0, 0, 0, &res);
+ ret = res.a0;
- return res.a0;
+ switch (ret) {
+ case SMCCC_RET_SUCCESS:
+ return 0;
+ case SMCCC_RET_NOT_SUPPORTED:
+ return -EOPNOTSUPP;
+ default:
+ return -EINVAL;
+ }
}
static int mvebu_comphy_get_mode(bool fw_mode, int lane, int port,
@@ -819,7 +827,7 @@ static int mvebu_comphy_power_on(struct
if (!ret)
return ret;
- if (ret == COMPHY_FW_NOT_SUPPORTED)
+ if (ret == -EOPNOTSUPP)
dev_err(priv->dev,
"unsupported SMC call, try updating your firmware\n");