From: John Audia Date: Thu, 16 Jul 2020 11:03:17 +0000 (-0400) Subject: kernel: bump 5.4 to 5.4.52 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b6443367d8bca111a64f4c111a872fd100cc7d90;p=openwrt%2Fstaging%2Fdangole.git kernel: bump 5.4 to 5.4.52 update_kernel.sh refreshed all patches, no human interaction was needed Build system: x86_64 Run-tested: Netgear R7800 (ipq806x) Signed-off-by: John Audia --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 624c31590d..8bfce3ecfe 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .187 LINUX_VERSION-4.19 = .131 -LINUX_VERSION-5.4 = .51 +LINUX_VERSION-5.4 = .52 LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd LINUX_KERNEL_HASH-4.19.131 = 19dfb9f6cc4ba30104b65dcce7d78240a4ae188cb366747d5f8eae35e98964ba -LINUX_KERNEL_HASH-5.4.51 = 9e8bea8b4cd636726b7e495a3b467c8ffe96f8eddc159a45fe4a7e6e07a2069d +LINUX_KERNEL_HASH-5.4.52 = 037efa531120b1c20ff55e78cd3e17288b1804b3a57dc31de760837b3bea5d3a remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/bcm27xx/patches-5.4/950-0003-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/bcm27xx/patches-5.4/950-0003-smsx95xx-fix-crimes-against-truesize.patch index 16a9bcd22a..2355037880 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0003-smsx95xx-fix-crimes-against-truesize.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0003-smsx95xx-fix-crimes-against-truesize.patch @@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1957,7 +1961,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1964,7 +1968,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning return 1; } -@@ -1975,7 +1980,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1982,7 +1987,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ diff --git a/target/linux/generic/hack-5.4/204-module_strip.patch b/target/linux/generic/hack-5.4/204-module_strip.patch index f5a29c0175..a36b6d959f 100644 --- a/target/linux/generic/hack-5.4/204-module_strip.patch +++ b/target/linux/generic/hack-5.4/204-module_strip.patch @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau config MODULES_TREE_LOOKUP --- a/kernel/module.c +++ b/kernel/module.c -@@ -3107,9 +3107,11 @@ static int setup_load_info(struct load_i +@@ -3110,9 +3110,11 @@ static int setup_load_info(struct load_i static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -3130,6 +3132,7 @@ static int check_modinfo(struct module * +@@ -3133,6 +3135,7 @@ static int check_modinfo(struct module * mod->name); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); } diff --git a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch index 0dca235193..185926468d 100644 --- a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3125,3 +3126,5 @@ static int __init regmap_initcall(void) +@@ -3117,3 +3118,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index a05822cbdd..07ee52af44 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau --- a/fs/locks.c +++ b/fs/locks.c -@@ -2992,6 +2992,8 @@ static const struct seq_operations locks +@@ -2989,6 +2989,8 @@ static const struct seq_operations locks static int __init proc_locks_init(void) { diff --git a/target/linux/ipq40xx/patches-5.4/705-net-add-qualcomm-ar40xx-phy.patch b/target/linux/ipq40xx/patches-5.4/705-net-add-qualcomm-ar40xx-phy.patch index 6c823b3483..17b1294fde 100644 --- a/target/linux/ipq40xx/patches-5.4/705-net-add-qualcomm-ar40xx-phy.patch +++ b/target/linux/ipq40xx/patches-5.4/705-net-add-qualcomm-ar40xx-phy.patch @@ -1,7 +1,5 @@ -Index: linux-5.4.51/drivers/net/phy/Kconfig -=================================================================== ---- linux-5.4.51.orig/drivers/net/phy/Kconfig -+++ linux-5.4.51/drivers/net/phy/Kconfig +--- a/drivers/net/phy/Kconfig ++++ b/drivers/net/phy/Kconfig @@ -587,6 +587,13 @@ config MDIO_IPQ40XX This driver supports the MDIO interface found in Qualcomm Atheros ipq40xx Soc chip. @@ -16,10 +14,8 @@ Index: linux-5.4.51/drivers/net/phy/Kconfig endif # PHYLIB config MICREL_KS8995MA -Index: linux-5.4.51/drivers/net/phy/Makefile -=================================================================== ---- linux-5.4.51.orig/drivers/net/phy/Makefile -+++ linux-5.4.51/drivers/net/phy/Makefile +--- a/drivers/net/phy/Makefile ++++ b/drivers/net/phy/Makefile @@ -70,6 +70,7 @@ ifdef CONFIG_HWMON aquantia-objs += aquantia_hwmon.o endif @@ -28,10 +24,8 @@ Index: linux-5.4.51/drivers/net/phy/Makefile obj-$(CONFIG_AX88796B_PHY) += ax88796b.o obj-$(CONFIG_AT803X_PHY) += at803x.o obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o -Index: linux-5.4.51/drivers/net/phy/ar40xx.c -=================================================================== --- /dev/null -+++ linux-5.4.51/drivers/net/phy/ar40xx.c ++++ b/drivers/net/phy/ar40xx.c @@ -0,0 +1,2118 @@ +/* + * Copyright (c) 2016, The Linux Foundation. All rights reserved. @@ -2151,10 +2145,8 @@ Index: linux-5.4.51/drivers/net/phy/ar40xx.c + +MODULE_DESCRIPTION("IPQ40XX ESS driver"); +MODULE_LICENSE("Dual BSD/GPL"); -Index: linux-5.4.51/drivers/net/phy/ar40xx.h -=================================================================== --- /dev/null -+++ linux-5.4.51/drivers/net/phy/ar40xx.h ++++ b/drivers/net/phy/ar40xx.h @@ -0,0 +1,342 @@ +/* + * Copyright (c) 2016, The Linux Foundation. All rights reserved. diff --git a/target/linux/kirkwood/patches-5.4/111-l-50.patch b/target/linux/kirkwood/patches-5.4/111-l-50.patch index b1679885ad..bc933cb610 100644 --- a/target/linux/kirkwood/patches-5.4/111-l-50.patch +++ b/target/linux/kirkwood/patches-5.4/111-l-50.patch @@ -3,7 +3,7 @@ @@ -18,6 +18,13 @@ reg = <0x00000000 0x20000000>; }; - + + aliases { + led-boot = &led_status_green; + led-failsafe = &led_status_red; @@ -17,13 +17,13 @@ @@ -95,12 +102,12 @@ leds { compatible = "gpio-leds"; - + - status_green { + led_status_green: status_green { label = "l-50:green:status"; gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; }; - + - status_red { + led_status_red: status_red { label = "l-50:red:status"; @@ -31,7 +31,7 @@ }; @@ -349,13 +356,8 @@ }; - + partition@100000 { - label = "kernel-1"; - reg = <0x00100000 0x00800000>; @@ -43,5 +43,5 @@ + label = "ubi"; + reg = <0x00100000 0x07900000>; }; - + partition@7a00000 { diff --git a/target/linux/layerscape/patches-5.4/302-v5.7-dts-0119-arm64-dts-ls1043a-rdb-add-compatible-for-board.patch b/target/linux/layerscape/patches-5.4/302-v5.7-dts-0119-arm64-dts-ls1043a-rdb-add-compatible-for-board.patch index 3de20a1f3d..0c6b8e2863 100644 --- a/target/linux/layerscape/patches-5.4/302-v5.7-dts-0119-arm64-dts-ls1043a-rdb-add-compatible-for-board.patch +++ b/target/linux/layerscape/patches-5.4/302-v5.7-dts-0119-arm64-dts-ls1043a-rdb-add-compatible-for-board.patch @@ -11,8 +11,6 @@ Signed-off-by: Shawn Guo arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 1 + 1 file changed, 1 insertion(+) -diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts -index dde50c8..9a93e9a 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts @@ -13,6 +13,7 @@ @@ -23,6 +21,3 @@ index dde50c8..9a93e9a 100644 aliases { serial0 = &duart0; --- -2.7.4 - diff --git a/target/linux/mediatek/patches-5.4/0991-dt-bindings-PCI-Mediatek-Update-PCIe-binding.patch b/target/linux/mediatek/patches-5.4/0991-dt-bindings-PCI-Mediatek-Update-PCIe-binding.patch old mode 100755 new mode 100644 index 2c7e311836..02e4c130ea --- a/target/linux/mediatek/patches-5.4/0991-dt-bindings-PCI-Mediatek-Update-PCIe-binding.patch +++ b/target/linux/mediatek/patches-5.4/0991-dt-bindings-PCI-Mediatek-Update-PCIe-binding.patch @@ -143,9 +143,6 @@ Signed-off-by: chuanjia.liu 2 files changed, 129 insertions(+), 53 deletions(-) create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml -diff --git a/Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml b/Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml -new file mode 100644 -index 000000000000..4d2835ab4858 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml @@ -0,0 +1,38 @@ @@ -187,8 +184,6 @@ index 000000000000..4d2835ab4858 + reg = <0 0x1a140000 0 0x1000>; + }; +... -diff --git a/Documentation/devicetree/bindings/pci/mediatek-pcie.txt b/Documentation/devicetree/bindings/pci/mediatek-pcie.txt -index 7468d666763a..ddae110d4379 100644 --- a/Documentation/devicetree/bindings/pci/mediatek-pcie.txt +++ b/Documentation/devicetree/bindings/pci/mediatek-pcie.txt @@ -8,7 +8,7 @@ Required properties: diff --git a/target/linux/mediatek/patches-5.4/0992-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch b/target/linux/mediatek/patches-5.4/0992-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch old mode 100755 new mode 100644 index e773e2e676..3e4d44f59e --- a/target/linux/mediatek/patches-5.4/0992-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch +++ b/target/linux/mediatek/patches-5.4/0992-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch @@ -132,8 +132,6 @@ Signed-off-by: chuanjia.liu drivers/pci/controller/pcie-mediatek.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) -diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c -index cb982891b22b..2268d6073eb6 100644 --- a/drivers/pci/controller/pcie-mediatek.c +++ b/drivers/pci/controller/pcie-mediatek.c @@ -14,6 +14,7 @@ @@ -167,8 +165,8 @@ index cb982891b22b..2268d6073eb6 100644 + struct regmap *cfg; struct clk *free_ck; - struct list_head ports; -@@ -650,7 +654,7 @@ static int mtk_pcie_setup_irq(struct mtk_pcie_port *port, + struct resource mem; +@@ -651,7 +655,7 @@ static int mtk_pcie_setup_irq(struct mtk return err; } @@ -177,9 +175,9 @@ index cb982891b22b..2268d6073eb6 100644 irq_set_chained_handler_and_data(port->irq, mtk_pcie_intr_handler, port); -@@ -673,12 +677,11 @@ static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) - if (!mem) - return -EINVAL; +@@ -666,12 +670,11 @@ static int mtk_pcie_startup_port_v2(stru + u32 val; + int err; - /* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */ - if (pcie->base) { @@ -195,7 +193,7 @@ index cb982891b22b..2268d6073eb6 100644 } /* Assert all reset signals */ -@@ -984,6 +987,7 @@ static int mtk_pcie_subsys_powerup(struct mtk_pcie *pcie) +@@ -977,6 +980,7 @@ static int mtk_pcie_subsys_powerup(struc struct device *dev = pcie->dev; struct platform_device *pdev = to_platform_device(dev); struct resource *regs; @@ -203,7 +201,7 @@ index cb982891b22b..2268d6073eb6 100644 int err; /* get shared registers, which are optional */ -@@ -996,6 +1000,13 @@ static int mtk_pcie_subsys_powerup(struct mtk_pcie *pcie) +@@ -989,6 +993,13 @@ static int mtk_pcie_subsys_powerup(struc } } diff --git a/target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch b/target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch old mode 100755 new mode 100644 index 7d3c55c0e4..48713ecc64 --- a/target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch +++ b/target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch @@ -144,11 +144,9 @@ Signed-off-by: chuanjia.liu arch/arm64/boot/dts/mediatek/mt7622.dtsi | 68 +++++++++++------ 4 files changed, 96 insertions(+), 69 deletions(-) -diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi -index 2cd8b33886e5..ab27ff4a869e 100644 --- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi -@@ -797,60 +797,73 @@ +@@ -791,60 +791,73 @@ }; }; @@ -253,11 +251,9 @@ index 2cd8b33886e5..ab27ff4a869e 100644 interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; -diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts -index 83e10591e0e5..7574d88cc46a 100644 --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts -@@ -207,18 +207,16 @@ +@@ -294,18 +294,16 @@ }; }; @@ -283,11 +279,9 @@ index 83e10591e0e5..7574d88cc46a 100644 }; &pio { -diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -index 339dc9f88f43..d5131c8b6a79 100644 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -@@ -766,45 +766,41 @@ +@@ -790,45 +790,41 @@ #reset-cells = <1>; }; @@ -350,7 +344,7 @@ index 339dc9f88f43..d5131c8b6a79 100644 interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pcie_intc0 0>, <0 0 0 2 &pcie_intc0 1>, -@@ -816,15 +812,39 @@ +@@ -840,15 +836,39 @@ #interrupt-cells = <1>; }; }; @@ -393,8 +387,8 @@ index 339dc9f88f43..d5131c8b6a79 100644 interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pcie_intc1 0>, <0 0 0 2 &pcie_intc1 1>, ---- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2020-06-15 18:52:25.092948824 +0800 -+++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2020-06-15 18:52:15.909094229 +0800 +--- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts ++++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts @@ -244,18 +244,16 @@ }; }; diff --git a/target/linux/mediatek/patches-5.4/0994-ARM-dts-mediatek-Update-mt7629-PCIe-node.patch b/target/linux/mediatek/patches-5.4/0994-ARM-dts-mediatek-Update-mt7629-PCIe-node.patch old mode 100755 new mode 100644 index 4ba99d89d0..b20e1fce6c --- a/target/linux/mediatek/patches-5.4/0994-ARM-dts-mediatek-Update-mt7629-PCIe-node.patch +++ b/target/linux/mediatek/patches-5.4/0994-ARM-dts-mediatek-Update-mt7629-PCIe-node.patch @@ -133,11 +133,9 @@ Signed-off-by: chuanjia.liu arch/arm/boot/dts/mt7629.dtsi | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) -diff --git a/arch/arm/boot/dts/mt7629-rfb.dts b/arch/arm/boot/dts/mt7629-rfb.dts -index 9980c10c6e29..eb536cbebd9b 100644 --- a/arch/arm/boot/dts/mt7629-rfb.dts +++ b/arch/arm/boot/dts/mt7629-rfb.dts -@@ -140,9 +140,10 @@ +@@ -171,9 +171,10 @@ }; }; @@ -149,11 +147,9 @@ index 9980c10c6e29..eb536cbebd9b 100644 }; &pciephy1 { -diff --git a/arch/arm/boot/dts/mt7629.dtsi b/arch/arm/boot/dts/mt7629.dtsi -index 5cbb3d244c75..94567307b842 100644 --- a/arch/arm/boot/dts/mt7629.dtsi +++ b/arch/arm/boot/dts/mt7629.dtsi -@@ -360,16 +360,21 @@ +@@ -368,16 +368,21 @@ #reset-cells = <1>; }; @@ -181,7 +177,7 @@ index 5cbb3d244c75..94567307b842 100644 clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, <&pciesys CLK_PCIE_P0_AHB_EN>, <&pciesys CLK_PCIE_P1_AUX_EN>, -@@ -390,21 +395,19 @@ +@@ -398,21 +403,19 @@ power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; bus-range = <0x00 0xff>; ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>; diff --git a/target/linux/mvebu/patches-5.4/010-net-mvneta-introduce-mvneta_update_stats-routine.patch b/target/linux/mvebu/patches-5.4/010-net-mvneta-introduce-mvneta_update_stats-routine.patch index c6d6d55b29..2c8ed30e4a 100644 --- a/target/linux/mvebu/patches-5.4/010-net-mvneta-introduce-mvneta_update_stats-routine.patch +++ b/target/linux/mvebu/patches-5.4/010-net-mvneta-introduce-mvneta_update_stats-routine.patch @@ -15,7 +15,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1911,6 +1911,23 @@ static void mvneta_rxq_drop_pkts(struct +@@ -1913,6 +1913,23 @@ static void mvneta_rxq_drop_pkts(struct } } @@ -39,7 +39,7 @@ Signed-off-by: David S. Miller static inline int mvneta_rx_refill_queue(struct mvneta_port *pp, struct mvneta_rx_queue *rxq) { -@@ -2091,14 +2108,8 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2093,14 +2110,8 @@ static int mvneta_rx_swbm(struct napi_st rxq->left_size = 0; } @@ -56,7 +56,7 @@ Signed-off-by: David S. Miller /* return some buffers to hardware queue, one at a time is too slow */ refill = mvneta_rx_refill_queue(pp, rxq); -@@ -2221,14 +2232,8 @@ err_drop_frame: +@@ -2223,14 +2234,8 @@ err_drop_frame: napi_gro_receive(napi, skb); } @@ -73,7 +73,7 @@ Signed-off-by: David S. Miller /* Update rxq management counters */ mvneta_rxq_desc_num_update(pp, rxq, rx_done, rx_done); -@@ -2474,7 +2479,6 @@ static netdev_tx_t mvneta_tx(struct sk_b +@@ -2476,7 +2481,6 @@ static netdev_tx_t mvneta_tx(struct sk_b out: if (frags > 0) { @@ -81,7 +81,7 @@ Signed-off-by: David S. Miller struct netdev_queue *nq = netdev_get_tx_queue(dev, txq_id); netdev_tx_sent_queue(nq, len); -@@ -2489,10 +2493,7 @@ out: +@@ -2491,10 +2495,7 @@ out: else txq->pending += frags; diff --git a/target/linux/mvebu/patches-5.4/011-net-mvneta-introduce-page-pool-API-for-sw-buffer-man.patch b/target/linux/mvebu/patches-5.4/011-net-mvneta-introduce-page-pool-API-for-sw-buffer-man.patch index 24c446f578..dbed6df873 100644 --- a/target/linux/mvebu/patches-5.4/011-net-mvneta-introduce-page-pool-API-for-sw-buffer-man.patch +++ b/target/linux/mvebu/patches-5.4/011-net-mvneta-introduce-page-pool-API-for-sw-buffer-man.patch @@ -43,7 +43,7 @@ Signed-off-by: David S. Miller /* Registers */ #define MVNETA_RXQ_CONFIG_REG(q) (0x1400 + ((q) << 2)) -@@ -605,6 +606,10 @@ struct mvneta_rx_queue { +@@ -607,6 +608,10 @@ struct mvneta_rx_queue { u32 pkts_coal; u32 time_coal; @@ -54,7 +54,7 @@ Signed-off-by: David S. Miller /* Virtual address of the RX buffer */ void **buf_virt_addr; -@@ -1823,23 +1828,21 @@ static int mvneta_rx_refill(struct mvnet +@@ -1825,23 +1830,21 @@ static int mvneta_rx_refill(struct mvnet struct mvneta_rx_queue *rxq, gfp_t gfp_mask) { @@ -86,7 +86,7 @@ Signed-off-by: David S. Miller return 0; } -@@ -1905,10 +1908,12 @@ static void mvneta_rxq_drop_pkts(struct +@@ -1907,10 +1910,12 @@ static void mvneta_rxq_drop_pkts(struct if (!data || !(rx_desc->buf_phys_addr)) continue; @@ -102,7 +102,7 @@ Signed-off-by: David S. Miller } static void -@@ -2045,8 +2050,7 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2047,8 +2052,7 @@ static int mvneta_rx_swbm(struct napi_st skb_add_rx_frag(rxq->skb, frag_num, page, frag_offset, frag_size, PAGE_SIZE); @@ -112,7 +112,7 @@ Signed-off-by: David S. Miller rxq->left_size -= frag_size; } } else { -@@ -2076,9 +2080,7 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2078,9 +2082,7 @@ static int mvneta_rx_swbm(struct napi_st frag_offset, frag_size, PAGE_SIZE); @@ -123,7 +123,7 @@ Signed-off-by: David S. Miller rxq->left_size -= frag_size; } } /* Middle or Last descriptor */ -@@ -2845,11 +2847,54 @@ static int mvneta_poll(struct napi_struc +@@ -2847,11 +2849,54 @@ static int mvneta_poll(struct napi_struc return rx_done; } diff --git a/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch b/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch index 1a89c8476d..13ed9e4c8a 100644 --- a/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch +++ b/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch @@ -27,7 +27,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -323,6 +323,11 @@ +@@ -325,6 +325,11 @@ ETH_HLEN + ETH_FCS_LEN, \ cache_line_size()) @@ -39,7 +39,7 @@ Signed-off-by: David S. Miller #define IS_TSO_HEADER(txq, addr) \ ((addr >= txq->tso_hdrs_phys) && \ (addr < txq->tso_hdrs_phys + txq->size * TSO_HEADER_SIZE)) -@@ -648,7 +653,6 @@ static int txq_number = 8; +@@ -650,7 +655,6 @@ static int txq_number = 8; static int rxq_def; static int rx_copybreak __read_mostly = 256; @@ -47,7 +47,7 @@ Signed-off-by: David S. Miller /* HW BM need that each port be identify by a unique ID */ static int global_port_id; -@@ -1840,7 +1844,7 @@ static int mvneta_rx_refill(struct mvnet +@@ -1842,7 +1846,7 @@ static int mvneta_rx_refill(struct mvnet phys_addr = page_pool_get_dma_addr(page) + pp->rx_offset_correction; dma_dir = page_pool_get_dma_dir(rxq->page_pool); dma_sync_single_for_device(pp->dev->dev.parent, phys_addr, @@ -56,7 +56,7 @@ Signed-off-by: David S. Miller mvneta_rx_desc_fill(rx_desc, phys_addr, page, rxq); return 0; -@@ -1958,30 +1962,102 @@ int mvneta_rx_refill_queue(struct mvneta +@@ -1960,30 +1964,102 @@ int mvneta_rx_refill_queue(struct mvneta return i; } @@ -169,7 +169,7 @@ Signed-off-by: David S. Miller index = rx_desc - rxq->descs; page = (struct page *)rxq->buf_virt_addr[index]; -@@ -1989,100 +2065,30 @@ static int mvneta_rx_swbm(struct napi_st +@@ -1991,100 +2067,30 @@ static int mvneta_rx_swbm(struct napi_st /* Prefetch header */ prefetch(data); @@ -275,7 +275,7 @@ Signed-off-by: David S. Miller } /* Middle or Last descriptor */ if (!(rx_status & MVNETA_RXD_LAST_DESC)) -@@ -2107,7 +2113,6 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2109,7 +2115,6 @@ static int mvneta_rx_swbm(struct napi_st /* clean uncomplete skb pointer in queue */ rxq->skb = NULL; @@ -283,7 +283,7 @@ Signed-off-by: David S. Miller } if (rcvd_pkts) -@@ -2968,7 +2973,7 @@ static void mvneta_rxq_hw_init(struct mv +@@ -2970,7 +2975,7 @@ static void mvneta_rxq_hw_init(struct mv /* Set Offset */ mvneta_rxq_offset_set(pp, rxq, 0); mvneta_rxq_buf_size_set(pp, rxq, PAGE_SIZE < SZ_64K ? @@ -292,7 +292,7 @@ Signed-off-by: David S. Miller MVNETA_RX_BUF_SIZE(pp->pkt_size)); mvneta_rxq_bm_disable(pp, rxq); mvneta_rxq_fill(pp, rxq, rxq->size); -@@ -4678,7 +4683,7 @@ static int mvneta_probe(struct platform_ +@@ -4700,7 +4705,7 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; diff --git a/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch b/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch index e45eba3832..06968bdaef 100644 --- a/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch +++ b/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch @@ -42,7 +42,7 @@ Signed-off-by: David S. Miller /* Registers */ #define MVNETA_RXQ_CONFIG_REG(q) (0x1400 + ((q) << 2)) -@@ -323,8 +324,10 @@ +@@ -325,8 +326,10 @@ ETH_HLEN + ETH_FCS_LEN, \ cache_line_size()) @@ -54,7 +54,7 @@ Signed-off-by: David S. Miller #define MVNETA_SKB_SIZE(len) (SKB_DATA_ALIGN(len) + MVNETA_SKB_PAD) #define MVNETA_MAX_RX_BUF_SIZE (PAGE_SIZE - MVNETA_SKB_PAD) -@@ -352,6 +355,11 @@ struct mvneta_statistic { +@@ -354,6 +357,11 @@ struct mvneta_statistic { #define T_REG_64 64 #define T_SW 1 @@ -66,7 +66,7 @@ Signed-off-by: David S. Miller static const struct mvneta_statistic mvneta_statistics[] = { { 0x3000, T_REG_64, "good_octets_received", }, { 0x3010, T_REG_32, "good_frames_received", }, -@@ -433,6 +441,8 @@ struct mvneta_port { +@@ -435,6 +443,8 @@ struct mvneta_port { u32 cause_rx_tx; struct napi_struct napi; @@ -75,7 +75,7 @@ Signed-off-by: David S. Miller /* Core clock */ struct clk *clk; /* AXI clock */ -@@ -1963,10 +1973,50 @@ int mvneta_rx_refill_queue(struct mvneta +@@ -1965,10 +1975,50 @@ int mvneta_rx_refill_queue(struct mvneta } static int @@ -127,7 +127,7 @@ Signed-off-by: David S. Miller { unsigned char *data = page_address(page); int data_len = -MVNETA_MH_SIZE, len; -@@ -1986,7 +2036,26 @@ mvneta_swbm_rx_frame(struct mvneta_port +@@ -1988,7 +2038,26 @@ mvneta_swbm_rx_frame(struct mvneta_port rx_desc->buf_phys_addr, len, dma_dir); @@ -155,7 +155,7 @@ Signed-off-by: David S. Miller if (unlikely(!rxq->skb)) { netdev_err(dev, "Can't allocate skb on queue %d\n", -@@ -1997,8 +2066,9 @@ mvneta_swbm_rx_frame(struct mvneta_port +@@ -1999,8 +2068,9 @@ mvneta_swbm_rx_frame(struct mvneta_port } page_pool_release_page(rxq->page_pool, page); @@ -167,7 +167,7 @@ Signed-off-by: David S. Miller mvneta_rx_csum(pp, rx_desc->status, rxq->skb); rxq->left_size = rx_desc->data_size - len; -@@ -2032,7 +2102,7 @@ mvneta_swbm_add_rx_fragment(struct mvnet +@@ -2034,7 +2104,7 @@ mvneta_swbm_add_rx_fragment(struct mvnet /* refill descriptor with new buffer later */ skb_add_rx_frag(rxq->skb, skb_shinfo(rxq->skb)->nr_frags, @@ -176,7 +176,7 @@ Signed-off-by: David S. Miller PAGE_SIZE); } page_pool_release_page(rxq->page_pool, page); -@@ -2047,11 +2117,18 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2049,11 +2119,18 @@ static int mvneta_rx_swbm(struct napi_st { int rcvd_pkts = 0, rcvd_bytes = 0, rx_proc = 0; struct net_device *dev = pp->dev; @@ -195,7 +195,7 @@ Signed-off-by: David S. Miller /* Fairness NAPI loop */ while (rx_proc < budget && rx_proc < rx_todo) { struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); -@@ -2079,7 +2156,8 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2081,7 +2158,8 @@ static int mvneta_rx_swbm(struct napi_st continue; } @@ -205,7 +205,7 @@ Signed-off-by: David S. Miller if (err) continue; } else { -@@ -2114,6 +2192,10 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2116,6 +2194,10 @@ static int mvneta_rx_swbm(struct napi_st /* clean uncomplete skb pointer in queue */ rxq->skb = NULL; } @@ -216,7 +216,7 @@ Signed-off-by: David S. Miller if (rcvd_pkts) mvneta_update_stats(pp, rcvd_pkts, rcvd_bytes, false); -@@ -2855,13 +2937,14 @@ static int mvneta_poll(struct napi_struc +@@ -2857,13 +2939,14 @@ static int mvneta_poll(struct napi_struc static int mvneta_create_page_pool(struct mvneta_port *pp, struct mvneta_rx_queue *rxq, int size) { @@ -232,7 +232,7 @@ Signed-off-by: David S. Miller }; int err; -@@ -3328,6 +3411,11 @@ static int mvneta_change_mtu(struct net_ +@@ -3364,6 +3447,11 @@ static int mvneta_change_mtu(struct net_ mtu = ALIGN(MVNETA_RX_PKT_SIZE(mtu), 8); } @@ -244,7 +244,7 @@ Signed-off-by: David S. Miller dev->mtu = mtu; if (!netif_running(dev)) { -@@ -3997,6 +4085,47 @@ static int mvneta_ioctl(struct net_devic +@@ -4029,6 +4117,47 @@ static int mvneta_ioctl(struct net_devic return phylink_mii_ioctl(pp->phylink, ifr, cmd); } @@ -292,7 +292,7 @@ Signed-off-by: David S. Miller /* Ethtool methods */ /* Set link ksettings (phy address, speed) for ethtools */ -@@ -4393,6 +4522,7 @@ static const struct net_device_ops mvnet +@@ -4425,6 +4554,7 @@ static const struct net_device_ops mvnet .ndo_fix_features = mvneta_fix_features, .ndo_get_stats64 = mvneta_get_stats64, .ndo_do_ioctl = mvneta_ioctl, @@ -300,7 +300,7 @@ Signed-off-by: David S. Miller }; static const struct ethtool_ops mvneta_eth_tool_ops = { -@@ -4683,7 +4813,7 @@ static int mvneta_probe(struct platform_ +@@ -4705,7 +4835,7 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; diff --git a/target/linux/mvebu/patches-5.4/014-net-mvneta-move-header-prefetch-in-mvneta_swbm_rx_fr.patch b/target/linux/mvebu/patches-5.4/014-net-mvneta-move-header-prefetch-in-mvneta_swbm_rx_fr.patch index f9d2702dbb..ecda482875 100644 --- a/target/linux/mvebu/patches-5.4/014-net-mvneta-move-header-prefetch-in-mvneta_swbm_rx_fr.patch +++ b/target/linux/mvebu/patches-5.4/014-net-mvneta-move-header-prefetch-in-mvneta_swbm_rx_fr.patch @@ -16,7 +16,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2036,6 +2036,9 @@ mvneta_swbm_rx_frame(struct mvneta_port +@@ -2038,6 +2038,9 @@ mvneta_swbm_rx_frame(struct mvneta_port rx_desc->buf_phys_addr, len, dma_dir); @@ -26,7 +26,7 @@ Signed-off-by: David S. Miller xdp->data_hard_start = data; xdp->data = data + MVNETA_SKB_HEADROOM + MVNETA_MH_SIZE; xdp->data_end = xdp->data + data_len; -@@ -2133,14 +2136,10 @@ static int mvneta_rx_swbm(struct napi_st +@@ -2135,14 +2138,10 @@ static int mvneta_rx_swbm(struct napi_st while (rx_proc < budget && rx_proc < rx_todo) { struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); u32 rx_status, index; diff --git a/target/linux/mvebu/patches-5.4/015-net-mvneta-make-tx-buffer-array-agnostic.patch b/target/linux/mvebu/patches-5.4/015-net-mvneta-make-tx-buffer-array-agnostic.patch index d44a3f1a49..1146c1f2b8 100644 --- a/target/linux/mvebu/patches-5.4/015-net-mvneta-make-tx-buffer-array-agnostic.patch +++ b/target/linux/mvebu/patches-5.4/015-net-mvneta-make-tx-buffer-array-agnostic.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -563,6 +563,20 @@ struct mvneta_rx_desc { +@@ -565,6 +565,20 @@ struct mvneta_rx_desc { }; #endif @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller struct mvneta_tx_queue { /* Number of this TX queue, in the range 0-7 */ u8 id; -@@ -578,8 +592,8 @@ struct mvneta_tx_queue { +@@ -580,8 +594,8 @@ struct mvneta_tx_queue { int tx_stop_threshold; int tx_wake_threshold; @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller /* Index of last TX DMA descriptor that was inserted */ int txq_put_index; -@@ -1791,14 +1805,9 @@ static void mvneta_txq_bufs_free(struct +@@ -1793,14 +1807,9 @@ static void mvneta_txq_bufs_free(struct int i; for (i = 0; i < num; i++) { @@ -62,7 +62,7 @@ Signed-off-by: David S. Miller mvneta_txq_inc_get(txq); -@@ -1806,9 +1815,12 @@ static void mvneta_txq_bufs_free(struct +@@ -1808,9 +1817,12 @@ static void mvneta_txq_bufs_free(struct dma_unmap_single(pp->dev->dev.parent, tx_desc->buf_phys_addr, tx_desc->data_size, DMA_TO_DEVICE); @@ -77,7 +77,7 @@ Signed-off-by: David S. Miller } netdev_tx_completed_queue(nq, pkts_compl, bytes_compl); -@@ -2333,16 +2345,19 @@ static inline void +@@ -2335,16 +2347,19 @@ static inline void mvneta_tso_put_hdr(struct sk_buff *skb, struct mvneta_port *pp, struct mvneta_tx_queue *txq) { @@ -99,7 +99,7 @@ Signed-off-by: David S. Miller mvneta_txq_inc_put(txq); } -@@ -2351,6 +2366,7 @@ mvneta_tso_put_data(struct net_device *d +@@ -2353,6 +2368,7 @@ mvneta_tso_put_data(struct net_device *d struct sk_buff *skb, char *data, int size, bool last_tcp, bool is_last) { @@ -107,7 +107,7 @@ Signed-off-by: David S. Miller struct mvneta_tx_desc *tx_desc; tx_desc = mvneta_txq_next_desc_get(txq); -@@ -2364,7 +2380,8 @@ mvneta_tso_put_data(struct net_device *d +@@ -2366,7 +2382,8 @@ mvneta_tso_put_data(struct net_device *d } tx_desc->command = 0; @@ -117,7 +117,7 @@ Signed-off-by: David S. Miller if (last_tcp) { /* last descriptor in the TCP packet */ -@@ -2372,7 +2389,7 @@ mvneta_tso_put_data(struct net_device *d +@@ -2374,7 +2391,7 @@ mvneta_tso_put_data(struct net_device *d /* last descriptor in SKB */ if (is_last) @@ -126,7 +126,7 @@ Signed-off-by: David S. Miller } mvneta_txq_inc_put(txq); return 0; -@@ -2457,6 +2474,7 @@ static int mvneta_tx_frag_process(struct +@@ -2459,6 +2476,7 @@ static int mvneta_tx_frag_process(struct int i, nr_frags = skb_shinfo(skb)->nr_frags; for (i = 0; i < nr_frags; i++) { @@ -134,7 +134,7 @@ Signed-off-by: David S. Miller skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; void *addr = skb_frag_address(frag); -@@ -2476,12 +2494,13 @@ static int mvneta_tx_frag_process(struct +@@ -2478,12 +2496,13 @@ static int mvneta_tx_frag_process(struct if (i == nr_frags - 1) { /* Last descriptor */ tx_desc->command = MVNETA_TXD_L_DESC | MVNETA_TXD_Z_PAD; @@ -150,7 +150,7 @@ Signed-off-by: David S. Miller mvneta_txq_inc_put(txq); } -@@ -2509,6 +2528,7 @@ static netdev_tx_t mvneta_tx(struct sk_b +@@ -2511,6 +2530,7 @@ static netdev_tx_t mvneta_tx(struct sk_b struct mvneta_port *pp = netdev_priv(dev); u16 txq_id = skb_get_queue_mapping(skb); struct mvneta_tx_queue *txq = &pp->txqs[txq_id]; @@ -158,7 +158,7 @@ Signed-off-by: David S. Miller struct mvneta_tx_desc *tx_desc; int len = skb->len; int frags = 0; -@@ -2541,16 +2561,17 @@ static netdev_tx_t mvneta_tx(struct sk_b +@@ -2543,16 +2563,17 @@ static netdev_tx_t mvneta_tx(struct sk_b goto out; } @@ -178,7 +178,7 @@ Signed-off-by: David S. Miller mvneta_txq_inc_put(txq); tx_desc->command = tx_cmd; /* Continue with other skb fragments */ -@@ -3136,9 +3157,8 @@ static int mvneta_txq_sw_init(struct mvn +@@ -3138,9 +3159,8 @@ static int mvneta_txq_sw_init(struct mvn txq->last_desc = txq->size - 1; @@ -190,7 +190,7 @@ Signed-off-by: David S. Miller dma_free_coherent(pp->dev->dev.parent, txq->size * MVNETA_DESC_ALIGNED_SIZE, txq->descs, txq->descs_phys); -@@ -3150,7 +3170,7 @@ static int mvneta_txq_sw_init(struct mvn +@@ -3152,7 +3172,7 @@ static int mvneta_txq_sw_init(struct mvn txq->size * TSO_HEADER_SIZE, &txq->tso_hdrs_phys, GFP_KERNEL); if (!txq->tso_hdrs) { @@ -199,7 +199,7 @@ Signed-off-by: David S. Miller dma_free_coherent(pp->dev->dev.parent, txq->size * MVNETA_DESC_ALIGNED_SIZE, txq->descs, txq->descs_phys); -@@ -3203,7 +3223,7 @@ static void mvneta_txq_sw_deinit(struct +@@ -3205,7 +3225,7 @@ static void mvneta_txq_sw_deinit(struct { struct netdev_queue *nq = netdev_get_tx_queue(pp->dev, txq->id); diff --git a/target/linux/mvebu/patches-5.4/016-net-mvneta-add-XDP_TX-support.patch b/target/linux/mvebu/patches-5.4/016-net-mvneta-add-XDP_TX-support.patch index 9edf32ff6d..012bdee8bf 100644 --- a/target/linux/mvebu/patches-5.4/016-net-mvneta-add-XDP_TX-support.patch +++ b/target/linux/mvebu/patches-5.4/016-net-mvneta-add-XDP_TX-support.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1811,16 +1811,19 @@ static void mvneta_txq_bufs_free(struct +@@ -1813,16 +1813,19 @@ static void mvneta_txq_bufs_free(struct mvneta_txq_inc_get(txq); @@ -41,7 +41,7 @@ Signed-off-by: David S. Miller } netdev_tx_completed_queue(nq, pkts_compl, bytes_compl); -@@ -1985,6 +1988,111 @@ int mvneta_rx_refill_queue(struct mvneta +@@ -1987,6 +1990,111 @@ int mvneta_rx_refill_queue(struct mvneta } static int @@ -153,7 +153,7 @@ Signed-off-by: David S. Miller mvneta_run_xdp(struct mvneta_port *pp, struct mvneta_rx_queue *rxq, struct bpf_prog *prog, struct xdp_buff *xdp) { -@@ -2006,6 +2114,11 @@ mvneta_run_xdp(struct mvneta_port *pp, s +@@ -2008,6 +2116,11 @@ mvneta_run_xdp(struct mvneta_port *pp, s } break; } @@ -165,7 +165,7 @@ Signed-off-by: David S. Miller default: bpf_warn_invalid_xdp_action(act); /* fall through */ -@@ -4542,6 +4655,7 @@ static const struct net_device_ops mvnet +@@ -4574,6 +4687,7 @@ static const struct net_device_ops mvnet .ndo_get_stats64 = mvneta_get_stats64, .ndo_do_ioctl = mvneta_ioctl, .ndo_bpf = mvneta_xdp, diff --git a/target/linux/mvebu/patches-5.4/020-net-mvneta-fix-build-skb-for-bm-capable-devices.patch b/target/linux/mvebu/patches-5.4/020-net-mvneta-fix-build-skb-for-bm-capable-devices.patch index 94de008e76..adfa51e4e8 100644 --- a/target/linux/mvebu/patches-5.4/020-net-mvneta-fix-build-skb-for-bm-capable-devices.patch +++ b/target/linux/mvebu/patches-5.4/020-net-mvneta-fix-build-skb-for-bm-capable-devices.patch @@ -21,7 +21,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2165,7 +2165,7 @@ mvneta_swbm_rx_frame(struct mvneta_port +@@ -2167,7 +2167,7 @@ mvneta_swbm_rx_frame(struct mvneta_port prefetch(data); xdp->data_hard_start = data; @@ -30,7 +30,7 @@ Signed-off-by: David S. Miller xdp->data_end = xdp->data + data_len; xdp_set_data_meta_invalid(xdp); -@@ -2230,7 +2230,7 @@ mvneta_swbm_add_rx_fragment(struct mvnet +@@ -2232,7 +2232,7 @@ mvneta_swbm_add_rx_fragment(struct mvnet /* refill descriptor with new buffer later */ skb_add_rx_frag(rxq->skb, skb_shinfo(rxq->skb)->nr_frags, diff --git a/target/linux/mvebu/patches-5.4/021-net-mvneta-rely-on-page_pool_recycle_direct-in-mvnet.patch b/target/linux/mvebu/patches-5.4/021-net-mvneta-rely-on-page_pool_recycle_direct-in-mvnet.patch index a4ee285b04..6e79aeb358 100644 --- a/target/linux/mvebu/patches-5.4/021-net-mvneta-rely-on-page_pool_recycle_direct-in-mvnet.patch +++ b/target/linux/mvebu/patches-5.4/021-net-mvneta-rely-on-page_pool_recycle_direct-in-mvnet.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2108,7 +2108,8 @@ mvneta_run_xdp(struct mvneta_port *pp, s +@@ -2110,7 +2110,8 @@ mvneta_run_xdp(struct mvneta_port *pp, s err = xdp_do_redirect(pp->dev, xdp, prog); if (err) { ret = MVNETA_XDP_DROPPED; @@ -27,7 +27,7 @@ Signed-off-by: David S. Miller } else { ret = MVNETA_XDP_REDIR; } -@@ -2117,7 +2118,8 @@ mvneta_run_xdp(struct mvneta_port *pp, s +@@ -2119,7 +2120,8 @@ mvneta_run_xdp(struct mvneta_port *pp, s case XDP_TX: ret = mvneta_xdp_xmit_back(pp, xdp); if (ret != MVNETA_XDP_TX) diff --git a/target/linux/mvebu/patches-5.4/022-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch b/target/linux/mvebu/patches-5.4/022-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch index 57ad8b6958..e8a41d9eb2 100644 --- a/target/linux/mvebu/patches-5.4/022-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch +++ b/target/linux/mvebu/patches-5.4/022-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch @@ -38,7 +38,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -4231,6 +4231,12 @@ static int mvneta_xdp_setup(struct net_d +@@ -4263,6 +4263,12 @@ static int mvneta_xdp_setup(struct net_d return -EOPNOTSUPP; } diff --git a/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch b/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch index 38b874cd49..f76b27a36d 100644 --- a/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch +++ b/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch @@ -20,7 +20,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -324,8 +324,7 @@ +@@ -326,8 +326,7 @@ ETH_HLEN + ETH_FCS_LEN, \ cache_line_size()) @@ -30,7 +30,7 @@ Signed-off-by: David S. Miller #define MVNETA_SKB_PAD (SKB_DATA_ALIGN(sizeof(struct skb_shared_info) + \ MVNETA_SKB_HEADROOM)) #define MVNETA_SKB_SIZE(len) (SKB_DATA_ALIGN(len) + MVNETA_SKB_PAD) -@@ -1172,6 +1171,7 @@ bm_mtu_err: +@@ -1174,6 +1173,7 @@ bm_mtu_err: mvneta_bm_pool_destroy(pp->bm_priv, pp->pool_short, 1 << pp->id); pp->bm_priv = NULL; @@ -38,7 +38,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_ACC_MODE, MVNETA_ACC_MODE_EXT1); netdev_info(pp->dev, "fail to update MTU, fall back to software BM\n"); } -@@ -4954,7 +4954,6 @@ static int mvneta_probe(struct platform_ +@@ -4976,7 +4976,6 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller /* Obtain access to BM resources if enabled and already initialized */ bm_node = of_parse_phandle(dn, "buffer-manager", 0); -@@ -4979,6 +4978,10 @@ static int mvneta_probe(struct platform_ +@@ -5001,6 +5000,10 @@ static int mvneta_probe(struct platform_ } of_node_put(bm_node); @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller err = mvneta_init(&pdev->dev, pp); if (err < 0) goto err_netdev; -@@ -5136,6 +5139,7 @@ static int mvneta_resume(struct device * +@@ -5154,6 +5157,7 @@ static int mvneta_resume(struct device * err = mvneta_bm_port_init(pdev, pp); if (err < 0) { dev_info(&pdev->dev, "use SW buffer management\n"); diff --git a/target/linux/mvebu/patches-5.4/300-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-5.4/300-mvneta-tx-queue-workaround.patch index ff4be6006c..a82a4c0d62 100644 --- a/target/linux/mvebu/patches-5.4/300-mvneta-tx-queue-workaround.patch +++ b/target/linux/mvebu/patches-5.4/300-mvneta-tx-queue-workaround.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -4652,6 +4652,14 @@ static int mvneta_ethtool_set_eee(struct +@@ -4684,6 +4684,14 @@ static int mvneta_ethtool_set_eee(struct return phylink_ethtool_set_eee(pp->phylink, eee); } @@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -4662,6 +4670,7 @@ static const struct net_device_ops mvnet +@@ -4694,6 +4702,7 @@ static const struct net_device_ops mvnet .ndo_fix_features = mvneta_fix_features, .ndo_get_stats64 = mvneta_get_stats64, .ndo_do_ioctl = mvneta_ioctl, diff --git a/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch b/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch index 1ce7102a4e..f5283ed123 100644 --- a/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch +++ b/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch @@ -1,8 +1,8 @@ --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -430,6 +430,12 @@ static int dwc2_driver_probe(struct plat - if (retval) - return retval; + if (retval) + return retval; + /* Enable USB port before any regs access */ + if (readl(hsotg->regs + PCGCTL) & 0x0f) { @@ -11,5 +11,5 @@ + } + hsotg->needs_byte_swap = dwc2_check_core_endianness(hsotg); - + retval = dwc2_get_dr_mode(hsotg);