mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-19 11:16:32 +00:00
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 <hauke@hauke-m.de>
This commit is contained in:
parent
60275454fb
commit
f82e7e96a0
@ -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)))))))
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#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 <jonathan@raspberrypi.org>
|
||||
{ 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 },
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
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 <mchehab+samsung@kernel.org>
|
||||
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);
|
||||
|
||||
|
@ -820,7 +820,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
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;
|
||||
|
@ -106,7 +106,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
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;
|
||||
|
@ -29,7 +29,7 @@ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
#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);
|
||||
|
@ -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 \
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
*/
|
||||
--- 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);
|
||||
|
@ -1,143 +0,0 @@
|
||||
From: Alexander Lobakin <bloodyreaper@yandex.ru>
|
||||
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 <bloodyreaper@yandex.ru>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
|
||||
--- 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 <linux/netdevice.h>
|
||||
#include <linux/netpoll.h>
|
||||
#include <net/dsa.h>
|
||||
+#include <net/gro_cells.h>
|
||||
|
||||
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);
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
From d5efc2e6b98fe661dbd8dd0d5d5bfb961728e57a Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Borneo <borneo.antonio@gmail.com>
|
||||
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 <borneo.antonio@gmail.com>
|
||||
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
|
||||
Link: https://lore.kernel.org/r/20200618000844.1048309-1-borneo.antonio@gmail.com
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
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)
|
||||
{
|
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+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);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
-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);
|
||||
|
||||
|
@ -280,7 +280,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
#include <linux/platform_data/x86/apple.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/switchtec.h>
|
||||
@@ -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);
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
--- 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) },
|
||||
|
@ -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
|
||||
},
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user