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)))))))
--- 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);
--- 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 */
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;
/* 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();
}
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,
};
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;
}
--- 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);
- 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);
#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;
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);
}
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);
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);
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)
--- 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);
}
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,
--- 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;
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);
--- 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)
{
+++ /dev/null
-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");
-