KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-5.4 = .127
+LINUX_VERSION-5.4 = .128
LINUX_VERSION-5.10 = .46
-LINUX_KERNEL_HASH-5.4.127 = a0bd9b5adee29b5ea77e77fc637c87dba7918e529031ecd2a55af5ea434f28bf
+LINUX_KERNEL_HASH-5.4.128 = 3b54aebb816b9e628cb9ba3055a6aca58ce0ddeec49366c0da86ced9a7be39ab
LINUX_KERNEL_HASH-5.10.46 = 569122a39c6b325befb9ac1c07da0c53e6363b3baacd82081d131b06c1dc1415
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -133,7 +133,7 @@ config COH901318
+@@ -134,7 +134,7 @@ config COH901318
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5319,7 +5319,7 @@ static void port_event(struct usb_hub *h
+@@ -5321,7 +5321,7 @@ static void port_event(struct usb_hub *h
port_dev->over_current_count++;
port_over_current_notify(port_dev);
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -133,7 +133,7 @@ config COH901318
+@@ -134,7 +134,7 @@ config COH901318
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
-@@ -608,6 +608,10 @@ config UNIPHIER_MDMAC
+@@ -609,6 +609,10 @@ config UNIPHIER_MDMAC
UniPhier platform. This DMA controller is used as the external
DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1018,7 +1018,8 @@ static int advk_pcie_probe(struct platfo
+@@ -1049,7 +1049,8 @@ static int advk_pcie_probe(struct platfo
return ret;
}
s32 tin_deficit;
u32 tin_backlog;
u32 tin_dropped;
-@@ -1943,7 +1942,7 @@ begin:
+@@ -1947,7 +1946,7 @@ begin:
while (b->tin_deficit < 0 ||
!(b->sparse_flow_count + b->bulk_flow_count)) {
if (b->tin_deficit <= 0)
if (b->sparse_flow_count + b->bulk_flow_count)
empty = false;
-@@ -2265,8 +2264,7 @@ static int cake_config_besteffort(struct
+@@ -2269,8 +2268,7 @@ static int cake_config_besteffort(struct
cake_set_rate(b, rate, mtu,
us_to_ns(q->target), us_to_ns(q->interval));
return 0;
}
-@@ -2277,8 +2275,7 @@ static int cake_config_precedence(struct
+@@ -2281,8 +2279,7 @@ static int cake_config_precedence(struct
struct cake_sched_data *q = qdisc_priv(sch);
u32 mtu = psched_mtu(qdisc_dev(sch));
u64 rate = q->rate_bps;
u32 i;
q->tin_cnt = 8;
-@@ -2291,18 +2288,14 @@ static int cake_config_precedence(struct
+@@ -2295,18 +2292,14 @@ static int cake_config_precedence(struct
cake_set_rate(b, rate, mtu, us_to_ns(q->target),
us_to_ns(q->interval));
}
return 0;
-@@ -2371,8 +2364,7 @@ static int cake_config_diffserv8(struct
+@@ -2375,8 +2368,7 @@ static int cake_config_diffserv8(struct
struct cake_sched_data *q = qdisc_priv(sch);
u32 mtu = psched_mtu(qdisc_dev(sch));
u64 rate = q->rate_bps;
u32 i;
q->tin_cnt = 8;
-@@ -2388,18 +2380,14 @@ static int cake_config_diffserv8(struct
+@@ -2392,18 +2384,14 @@ static int cake_config_diffserv8(struct
cake_set_rate(b, rate, mtu, us_to_ns(q->target),
us_to_ns(q->interval));
}
return 0;
-@@ -2438,17 +2426,11 @@ static int cake_config_diffserv4(struct
+@@ -2442,17 +2430,11 @@ static int cake_config_diffserv4(struct
cake_set_rate(&q->tins[3], rate >> 2, mtu,
us_to_ns(q->target), us_to_ns(q->interval));
return 0;
}
-@@ -2479,15 +2461,10 @@ static int cake_config_diffserv3(struct
+@@ -2483,15 +2465,10 @@ static int cake_config_diffserv3(struct
cake_set_rate(&q->tins[2], rate >> 2, mtu,
us_to_ns(q->target), us_to_ns(q->interval));
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -669,6 +669,8 @@ source "drivers/dma/sh/Kconfig"
+@@ -670,6 +670,8 @@ source "drivers/dma/sh/Kconfig"
source "drivers/dma/ti/Kconfig"
+};
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -227,6 +227,17 @@ config FSL_QDMA
+@@ -228,6 +228,17 @@ config FSL_QDMA
or dequeuing DMA jobs from, different work queues.
This module can be found on NXP Layerscape SoCs.
The qdma driver only work on SoCs with a DPAA hardware block.
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -131,6 +131,24 @@ config COH901318
+@@ -132,6 +132,24 @@ config COH901318
help
Enable support for ST-Ericsson COH 901 318 DMA.
config DMA_BCM2835
tristate "BCM2835 DMA engine support"
depends on ARCH_BCM2835
-@@ -662,7 +680,6 @@ config ZX_DMA
+@@ -663,7 +681,6 @@ config ZX_DMA
help
Support the DMA engine for ZTE ZX family platform devices.
* All 3.1 IP version constants are greater than the 3.0 IP
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -3575,6 +3575,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3578,6 +3578,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc->gadget.sg_supported = true;
dwc->gadget.name = "dwc3-gadget";
dwc->gadget.lpm_capable = true;
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4729,7 +4729,8 @@ hub_port_init(struct usb_hub *hub, struc
+@@ -4731,7 +4731,8 @@ hub_port_init(struct usb_hub *hub, struc
}
if (r) {
if (r != -ENODEV)
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -337,6 +337,14 @@ static void advk_pcie_setup_hw(struct ad
+@@ -338,6 +338,14 @@ static void advk_pcie_setup_hw(struct ad
reg |= PIO_CTRL_ADDR_WIN_DISABLE;
advk_writel(pcie, reg, PIO_CTRL);
+++ /dev/null
-From 7fbcb5da811be7d47468417c7795405058abb3da Mon Sep 17 00:00:00 2001
-From: Remi Pommarel <repk@triplefau.lt>
-Date: Fri, 27 Sep 2019 10:55:02 +0200
-Subject: [PATCH] PCI: aardvark: Don't rely on jiffies while holding spinlock
-
-advk_pcie_wait_pio() can be called while holding a spinlock (from
-pci_bus_read_config_dword()), then depends on jiffies in order to
-timeout while polling on PIO state registers. In the case the PIO
-transaction failed, the timeout will never happen and will also cause
-the cpu to stall.
-
-This decrements a variable and wait instead of using jiffies.
-
-Signed-off-by: Remi Pommarel <repk@triplefau.lt>
-Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-Reviewed-by: Andrew Murray <andrew.murray@arm.com>
-Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- drivers/pci/controller/pci-aardvark.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
---- a/drivers/pci/controller/pci-aardvark.c
-+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -175,7 +175,8 @@
- (PCIE_CONF_BUS(bus) | PCIE_CONF_DEV(PCI_SLOT(devfn)) | \
- PCIE_CONF_FUNC(PCI_FUNC(devfn)) | PCIE_CONF_REG(where))
-
--#define PIO_TIMEOUT_MS 1
-+#define PIO_RETRY_CNT 500
-+#define PIO_RETRY_DELAY 2 /* 2 us*/
-
- #define LINK_WAIT_MAX_RETRIES 10
- #define LINK_WAIT_USLEEP_MIN 90000
-@@ -400,17 +401,16 @@ static void advk_pcie_check_pio_status(s
- static int advk_pcie_wait_pio(struct advk_pcie *pcie)
- {
- struct device *dev = &pcie->pdev->dev;
-- unsigned long timeout;
-+ int i;
-
-- timeout = jiffies + msecs_to_jiffies(PIO_TIMEOUT_MS);
--
-- while (time_before(jiffies, timeout)) {
-+ for (i = 0; i < PIO_RETRY_CNT; i++) {
- u32 start, isr;
-
- start = advk_readl(pcie, PIO_START);
- isr = advk_readl(pcie, PIO_ISR);
- if (!start && isr)
- return 0;
-+ udelay(PIO_RETRY_DELAY);
- }
-
- dev_err(dev, "config read/write timed out\n");
reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
reg |= PCIE_CORE_CMD_MEM_ACCESS_EN |
-@@ -1035,6 +1093,12 @@ static int advk_pcie_probe(struct platfo
+@@ -1066,6 +1124,12 @@ static int advk_pcie_probe(struct platfo
return ret;
}
* fundamental reset. As required by PCI Express spec a delay for at
* least 100ms after such a reset before link training is needed.
*/
-@@ -1093,6 +1118,22 @@ static int advk_pcie_probe(struct platfo
+@@ -1124,6 +1149,22 @@ static int advk_pcie_probe(struct platfo
return ret;
}
/* Set to Direct mode */
reg = advk_readl(pcie, CTRL_CONFIG_REG);
reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
-@@ -1083,6 +1092,62 @@ out_release_res:
+@@ -1114,6 +1123,62 @@ out_release_res:
return err;
}
static int advk_pcie_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
-@@ -1140,6 +1205,10 @@ static int advk_pcie_probe(struct platfo
+@@ -1171,6 +1236,10 @@ static int advk_pcie_probe(struct platfo
else
pcie->link_gen = ret;
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1123,7 +1123,9 @@ static int advk_pcie_enable_phy(struct a
+@@ -1154,7 +1154,9 @@ static int advk_pcie_enable_phy(struct a
}
ret = phy_power_on(pcie->phy);
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/switchtec.h>
-@@ -5625,3 +5626,34 @@ static void apex_pci_fixup_class(struct
+@@ -5714,3 +5715,34 @@ static void apex_pci_fixup_class(struct
}
DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);