From: Hauke Mehrtens Date: Sun, 14 Mar 2021 14:51:56 +0000 (+0100) Subject: kernel: bump 5.4 to 5.4.105 X-Git-Tag: v21.02.0-rc1~154 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f82e7e96a00e964649c809cc7a57578121ad998d;p=openwrt%2Fopenwrt.git kernel: bump 5.4 to 5.4.105 Refreshed all patches. The following patches were applied upstream: * 755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch * 831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch Compile-tested on: x86_64, ipq40xx, ath79 Runtime-tested on: x86_64, ipq40xx, ath79 Signed-off-by: Hauke Mehrtens --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index e873b2e5ac..d65eb790d8 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-5.4 = .102 +LINUX_VERSION-5.4 = .105 -LINUX_KERNEL_HASH-5.4.102 = fd697ce1c3f6024d4ae77d4eb5a1552199407b60cb8e90bc621e23cbce639aed +LINUX_KERNEL_HASH-5.4.105 = 244e4cd16184285df55ec5a9501daba011aa8b85c5527ee05eab4592e70fb8b6 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-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.4/950-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index ee886e31a5..71d2f7da05 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0280-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1254,6 +1257,9 @@ +@@ -1257,6 +1260,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -189,6 +190,7 @@ static const struct hid_device_id hid_qu +@@ -190,6 +191,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, diff --git a/target/linux/bcm27xx/patches-5.4/950-0482-media-add-V4L2_CTRL_TYPE_AREA-control-type.patch b/target/linux/bcm27xx/patches-5.4/950-0482-media-add-V4L2_CTRL_TYPE_AREA-control-type.patch index d82c3196b8..4d7440b999 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0482-media-add-V4L2_CTRL_TYPE_AREA-control-type.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0482-media-add-V4L2_CTRL_TYPE_AREA-control-type.patch @@ -39,7 +39,7 @@ Signed-off-by: Mauro Carvalho Chehab default: return -EINVAL; } -@@ -2422,6 +2428,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s +@@ -2423,6 +2429,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s case V4L2_CTRL_TYPE_VP8_FRAME_HEADER: elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header); break; @@ -49,7 +49,7 @@ Signed-off-by: Mauro Carvalho Chehab default: if (type < V4L2_CTRL_COMPOUND_TYPES) elem_size = sizeof(s32); -@@ -4086,6 +4095,18 @@ int __v4l2_ctrl_s_ctrl_string(struct v4l +@@ -4087,6 +4096,18 @@ int __v4l2_ctrl_s_ctrl_string(struct v4l } EXPORT_SYMBOL(__v4l2_ctrl_s_ctrl_string); diff --git a/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch b/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch index 0fe0f8cea4..e08d2481ed 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch @@ -820,7 +820,7 @@ Signed-off-by: Mauro Carvalho Chehab default: return -EINVAL; } -@@ -2433,6 +2531,15 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s +@@ -2434,6 +2532,15 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s case V4L2_CTRL_TYPE_VP8_FRAME_HEADER: elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header); break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0495-media-uapi-hevc-Add-scaling-matrix-control.patch b/target/linux/bcm27xx/patches-5.4/950-0495-media-uapi-hevc-Add-scaling-matrix-control.patch index c2cf27a40e..c63a0a8bbc 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0495-media-uapi-hevc-Add-scaling-matrix-control.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0495-media-uapi-hevc-Add-scaling-matrix-control.patch @@ -106,7 +106,7 @@ Signed-off-by: Jernej Skrabec case V4L2_CTRL_TYPE_AREA: area = p; if (!area->width || !area->height) -@@ -2540,6 +2547,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s +@@ -2541,6 +2548,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params); break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0908-media-v4l2-ctrls-Add-helper-to-register-properties.patch b/target/linux/bcm27xx/patches-5.4/950-0908-media-v4l2-ctrls-Add-helper-to-register-properties.patch index a76de95bf3..cf637cea04 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0908-media-v4l2-ctrls-Add-helper-to-register-properties.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0908-media-v4l2-ctrls-Add-helper-to-register-properties.patch @@ -29,7 +29,7 @@ Signed-off-by: Laurent Pinchart #define dprintk(vdev, fmt, arg...) do { \ if (!WARN_ON(!(vdev)) && ((vdev)->dev_debug & V4L2_DEV_DEBUG_CTRL)) \ -@@ -4577,3 +4578,42 @@ __poll_t v4l2_ctrl_poll(struct file *fil +@@ -4578,3 +4579,42 @@ __poll_t v4l2_ctrl_poll(struct file *fil return 0; } EXPORT_SYMBOL(v4l2_ctrl_poll); diff --git a/target/linux/generic/backport-5.4/310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch b/target/linux/generic/backport-5.4/310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch index 25c87a3263..51eef4b26b 100644 --- a/target/linux/generic/backport-5.4/310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch +++ b/target/linux/generic/backport-5.4/310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch @@ -44,7 +44,7 @@ Cc: richard.purdie@linuxfoundation.org --- a/arch/mips/vdso/Makefile +++ b/arch/mips/vdso/Makefile -@@ -29,6 +29,7 @@ endif +@@ -26,6 +26,7 @@ ccflags-vdso := \ cflags-vdso := $(ccflags-vdso) \ $(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \ -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \ diff --git a/target/linux/generic/backport-5.4/752-v5.8-net-dsa-provide-an-option-for-drivers-to-always-rece.patch b/target/linux/generic/backport-5.4/752-v5.8-net-dsa-provide-an-option-for-drivers-to-always-rece.patch index 97ac6e2acd..921821a899 100644 --- a/target/linux/generic/backport-5.4/752-v5.8-net-dsa-provide-an-option-for-drivers-to-always-rece.patch +++ b/target/linux/generic/backport-5.4/752-v5.8-net-dsa-provide-an-option-for-drivers-to-always-rece.patch @@ -50,7 +50,7 @@ Signed-off-by: David S. Miller */ --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h -@@ -136,6 +136,7 @@ int dsa_port_bridge_join(struct dsa_port +@@ -139,6 +139,7 @@ int dsa_port_bridge_join(struct dsa_port void dsa_port_bridge_leave(struct dsa_port *dp, struct net_device *br); int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering, struct switchdev_trans *trans); diff --git a/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch b/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch deleted file mode 100644 index 6d50a40d61..0000000000 --- a/target/linux/generic/backport-5.4/755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch +++ /dev/null @@ -1,143 +0,0 @@ -From: Alexander Lobakin -Date: Tue, 21 Apr 2020 16:41:08 +0300 -Subject: [PATCH] net: dsa: add GRO support via gro_cells - -gro_cells lib is used by different encapsulating netdevices, such as -geneve, macsec, vxlan etc. to speed up decapsulated traffic processing. -CPU tag is a sort of "encapsulation", and we can use the same mechs to -greatly improve overall DSA performance. -skbs are passed to the GRO layer after removing CPU tags, so we don't -need any new packet offload types as it was firstly proposed by me in -the first GRO-over-DSA variant [1]. - -The size of struct gro_cells is sizeof(void *), so hot struct -dsa_slave_priv becomes only 4/8 bytes bigger, and all critical fields -remain in one 32-byte cacheline. -The other positive side effect is that drivers for network devices -that can be shipped as CPU ports of DSA-driven switches can now use -napi_gro_frags() to pass skbs to kernel. Packets built that way are -completely non-linear and are likely being dropped without GRO. - -This was tested on to-be-mainlined-soon Ethernet driver that uses -napi_gro_frags(), and the overall performance was on par with the -variant from [1], sometimes even better due to minimal overhead. -net.core.gro_normal_batch tuning may help to push it to the limit -on particular setups and platforms. - -iperf3 IPoE VLAN NAT TCP forwarding (port1.218 -> port0) setup -on 1.2 GHz MIPS board: - -5.7-rc2 baseline: - -[ID] Interval Transfer Bitrate Retr -[ 5] 0.00-120.01 sec 9.00 GBytes 644 Mbits/sec 413 sender -[ 5] 0.00-120.00 sec 8.99 GBytes 644 Mbits/sec receiver - -Iface RX packets TX packets -eth0 7097731 7097702 -port0 426050 6671829 -port1 6671681 425862 -port1.218 6671677 425851 - -With this patch: - -[ID] Interval Transfer Bitrate Retr -[ 5] 0.00-120.01 sec 12.2 GBytes 870 Mbits/sec 122 sender -[ 5] 0.00-120.00 sec 12.2 GBytes 870 Mbits/sec receiver - -Iface RX packets TX packets -eth0 9474792 9474777 -port0 455200 353288 -port1 9019592 455035 -port1.218 353144 455024 - -v2: - - Add some performance examples in the commit message; - - No functional changes. - -[1] https://lore.kernel.org/netdev/20191230143028.27313-1-alobakin@dlink.ru/ - -Signed-off-by: Alexander Lobakin -Signed-off-by: David S. Miller ---- - ---- a/net/dsa/Kconfig -+++ b/net/dsa/Kconfig -@@ -9,6 +9,7 @@ menuconfig NET_DSA - tristate "Distributed Switch Architecture" - depends on HAVE_NET_DSA - depends on BRIDGE || BRIDGE=n -+ select GRO_CELLS - select NET_SWITCHDEV - select PHYLINK - select NET_DEVLINK ---- a/net/dsa/dsa.c -+++ b/net/dsa/dsa.c -@@ -238,7 +238,7 @@ static int dsa_switch_rcv(struct sk_buff - if (dsa_skb_defer_rx_timestamp(p, skb)) - return 0; - -- netif_receive_skb(skb); -+ gro_cells_receive(&p->gcells, skb); - - return 0; - } ---- a/net/dsa/dsa_priv.h -+++ b/net/dsa/dsa_priv.h -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - enum { - DSA_NOTIFIER_AGEING_TIME, -@@ -68,6 +69,8 @@ struct dsa_slave_priv { - - struct pcpu_sw_netstats *stats64; - -+ struct gro_cells gcells; -+ - /* DSA port data, such as switch, port index, etc. */ - struct dsa_port *dp; - ---- a/net/dsa/slave.c -+++ b/net/dsa/slave.c -@@ -1431,6 +1431,11 @@ int dsa_slave_create(struct dsa_port *po - free_netdev(slave_dev); - return -ENOMEM; - } -+ -+ ret = gro_cells_init(&p->gcells, slave_dev); -+ if (ret) -+ goto out_free; -+ - p->dp = port; - INIT_LIST_HEAD(&p->mall_tc_list); - INIT_WORK(&port->xmit_work, dsa_port_xmit_work); -@@ -1443,7 +1448,7 @@ int dsa_slave_create(struct dsa_port *po - ret = dsa_slave_phy_setup(slave_dev); - if (ret) { - netdev_err(master, "error %d setting up slave phy\n", ret); -- goto out_free; -+ goto out_gcells; - } - - dsa_slave_notify(slave_dev, DSA_PORT_REGISTER); -@@ -1462,6 +1467,8 @@ out_phy: - phylink_disconnect_phy(p->dp->pl); - rtnl_unlock(); - phylink_destroy(p->dp->pl); -+out_gcells: -+ gro_cells_destroy(&p->gcells); - out_free: - free_percpu(p->stats64); - free_netdev(slave_dev); -@@ -1482,6 +1489,7 @@ void dsa_slave_destroy(struct net_device - dsa_slave_notify(slave_dev, DSA_PORT_UNREGISTER); - unregister_netdev(slave_dev); - phylink_destroy(dp->pl); -+ gro_cells_destroy(&p->gcells); - free_percpu(p->stats64); - free_netdev(slave_dev); - } diff --git a/target/linux/generic/backport-5.4/831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch b/target/linux/generic/backport-5.4/831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch deleted file mode 100644 index 03f27fb528..0000000000 --- a/target/linux/generic/backport-5.4/831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d5efc2e6b98fe661dbd8dd0d5d5bfb961728e57a Mon Sep 17 00:00:00 2001 -From: Antonio Borneo -Date: Thu, 18 Jun 2020 02:08:44 +0200 -Subject: usbip: tools: fix build error for multiple definition - -With GCC 10, building usbip triggers error for multiple definition -of 'udev_context', in: -- libsrc/vhci_driver.c:18 and -- libsrc/usbip_host_common.c:27. - -Declare as extern the definition in libsrc/usbip_host_common.c. - -Signed-off-by: Antonio Borneo -Acked-by: Shuah Khan -Link: https://lore.kernel.org/r/20200618000844.1048309-1-borneo.antonio@gmail.com -Signed-off-by: Greg Kroah-Hartman ---- - tools/usb/usbip/libsrc/usbip_host_common.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -(limited to 'tools/usb/usbip') - ---- a/tools/usb/usbip/libsrc/usbip_host_common.c -+++ b/tools/usb/usbip/libsrc/usbip_host_common.c -@@ -23,7 +23,7 @@ - #include "list.h" - #include "sysfs_utils.h" - --struct udev *udev_context; -+extern struct udev *udev_context; - - static int32_t read_attr_usbip_status(struct usbip_usb_device *udev) - { diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch index 7c67478fc0..92c230c511 100644 --- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -2756,6 +2756,7 @@ int wake_up_state(struct task_struct *p, +@@ -2754,6 +2754,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } diff --git a/target/linux/generic/pending-5.4/306-mips_mem_functions_performance.patch b/target/linux/generic/pending-5.4/306-mips_mem_functions_performance.patch index 4e6b7b5cd3..611aa0314f 100644 --- a/target/linux/generic/pending-5.4/306-mips_mem_functions_performance.patch +++ b/target/linux/generic/pending-5.4/306-mips_mem_functions_performance.patch @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ --- a/arch/mips/include/asm/string.h +++ b/arch/mips/include/asm/string.h -@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const_ +@@ -19,4 +19,42 @@ extern void *memcpy(void *__to, __const_ #define __HAVE_ARCH_MEMMOVE extern void *memmove(void *__dest, __const__ void *__src, size_t __n); diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch index a90bb2c285..6392b9d756 100644 --- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch +++ b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch @@ -280,7 +280,7 @@ Signed-off-by: Felix Fietkau /* Some drivers may have called napi_schedule * prior to exhausting their budget. -@@ -10271,6 +10332,10 @@ static int __init net_dev_init(void) +@@ -10313,6 +10374,10 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } diff --git a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index 833604ae55..e33a28e953 100644 --- a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey #include #include #include -@@ -5622,3 +5623,34 @@ static void apex_pci_fixup_class(struct +@@ -5625,3 +5626,34 @@ static void apex_pci_fixup_class(struct } DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); diff --git a/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch index 084b655483..dbeee8a78b 100644 --- a/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -2908,6 +2908,18 @@ static const struct usb_device_id uvc_id +@@ -2911,6 +2911,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, diff --git a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch index bc57806c74..742b6d6ad5 100644 --- a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch +++ b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch @@ -1,6 +1,6 @@ --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c -@@ -477,6 +477,16 @@ static const struct dmi_system_id reboot +@@ -486,6 +486,16 @@ static const struct dmi_system_id reboot }, },