mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
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:
parent
bd0b820068
commit
71b2b32f98
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
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))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -14,7 +14,7 @@ use the same logic.
|
||||
|
||||
--- a/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))
|
||||
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
|
||||
@@ -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 */
|
||||
|
||||
@ -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 =
|
||||
@@ -1666,7 +1683,7 @@ static int pl011_hwinit(struct uart_port
|
||||
@@ -1669,7 +1686,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 |
|
||||
@@ -2321,7 +2338,7 @@ static int pl011_console_setup(struct co
|
||||
@@ -2324,7 +2341,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;
|
||||
@@ -2506,6 +2523,7 @@ static struct uart_driver amba_reg = {
|
||||
@@ -2509,6 +2526,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;
|
||||
@@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
@@ -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 */
|
||||
|
||||
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
|
||||
@@ -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))
|
||||
return PTR_ERR(uap->clk);
|
||||
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
#ifdef CONFIG_DMA_ENGINE
|
||||
/* DMA stuff */
|
||||
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)
|
||||
return;
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
dmaengine_terminate_async(uap->dmatx.chan);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -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",
|
||||
@@ -1347,6 +1350,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);
|
||||
/*
|
||||
@@ -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;
|
||||
|
||||
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 {
|
||||
@@ -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))
|
||||
pl011_modem_status(uap);
|
||||
if (status & UART011_TXIS)
|
||||
|
@ -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
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static void pl011_stop_rx(struct uart_port *port)
|
||||
{
|
||||
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,
|
||||
.start_tx = pl011_start_tx,
|
||||
.stop_rx = pl011_stop_rx,
|
||||
|
@ -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
|
||||
@@ -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)
|
||||
break;
|
||||
|
||||
|
@ -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 *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))
|
||||
sock_inuse_add(sock_net(sk), -1);
|
||||
|
||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/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)
|
||||
{
|
||||
|
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user