kernel: bump 5.4 to 5.4.133
Manually rebased: pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
This commit is contained in:
committed by
Hauke Mehrtens
parent
2b2ac841e0
commit
5408e811b2
@@ -18,7 +18,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
--- a/drivers/of/of_net.c
|
||||
+++ b/drivers/of/of_net.c
|
||||
@@ -61,6 +61,7 @@ static void *of_get_mac_addr_nvmem(struc
|
||||
@@ -55,6 +55,7 @@ static void *of_get_mac_addr_nvmem(struc
|
||||
void *mac;
|
||||
u8 nvmem_mac[ETH_ALEN];
|
||||
struct platform_device *pdev = of_find_device_by_node(np);
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
if (!pdev) {
|
||||
*err = -ENODEV;
|
||||
@@ -78,10 +79,29 @@ static void *of_get_mac_addr_nvmem(struc
|
||||
@@ -72,10 +73,29 @@ static void *of_get_mac_addr_nvmem(struc
|
||||
put_device(&pdev->dev);
|
||||
if (!mac) {
|
||||
*err = -ENOMEM;
|
||||
|
||||
@@ -14,11 +14,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
index ed4eacef17ce..666803817540 100644
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -3015,6 +3015,8 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
||||
@@ -3034,6 +3034,8 @@ static int mtk_add_mac(struct mtk_eth *e
|
||||
eth->netdev[id]->dev.of_node = np;
|
||||
|
||||
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN;
|
||||
@@ -27,6 +25,3 @@ index ed4eacef17ce..666803817540 100644
|
||||
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
net/dsa/dsa2.c | 2 +
|
||||
1 file changed, 2 insertion(+)
|
||||
|
||||
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
|
||||
index b71e87909f0e..55bbc1a769ca 100644
|
||||
--- a/net/dsa/dsa2.c
|
||||
+++ b/net/dsa/dsa2.c
|
||||
@@ -14,6 +14,7 @@
|
||||
@@ -27,7 +25,7 @@ index b71e87909f0e..55bbc1a769ca 100644
|
||||
#include <net/devlink.h>
|
||||
|
||||
#include "dsa_priv.h"
|
||||
@@ -392,6 +392,7 @@ static int dsa_port_setup(struct dsa_port *dp)
|
||||
@@ -318,6 +319,7 @@ static int dsa_port_setup(struct dsa_por
|
||||
break;
|
||||
devlink_port_registered = true;
|
||||
|
||||
@@ -35,6 +33,3 @@ index b71e87909f0e..55bbc1a769ca 100644
|
||||
dp->mac = of_get_mac_address(dp->dn);
|
||||
err = dsa_slave_create(dp);
|
||||
if (err)
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7284,6 +7287,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7291,6 +7294,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7334,6 +7379,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7341,6 +7386,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7427,6 +7473,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7434,6 +7480,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -8157,6 +8204,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -8164,6 +8211,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@@ -15,8 +15,6 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
drivers/of/of_net.c | 75 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 74 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c
|
||||
index 6e411821583e..f072e2509cc9 100644
|
||||
--- a/drivers/of/of_net.c
|
||||
+++ b/drivers/of/of_net.c
|
||||
@@ -11,6 +11,7 @@
|
||||
@@ -27,7 +25,7 @@ index 6e411821583e..f072e2509cc9 100644
|
||||
|
||||
/**
|
||||
* of_get_phy_mode - Get phy mode for given device_node
|
||||
@@ -45,7 +46,7 @@ int of_get_phy_mode(struct device_node *np, phy_interface_t *interface)
|
||||
@@ -39,7 +40,7 @@ int of_get_phy_mode(struct device_node *
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_get_phy_mode);
|
||||
|
||||
@@ -36,7 +34,7 @@ index 6e411821583e..f072e2509cc9 100644
|
||||
{
|
||||
struct property *pp = of_find_property(np, name, NULL);
|
||||
|
||||
@@ -78,6 +79,70 @@ static const void *of_get_mac_addr_nvmem(struct device_node *np)
|
||||
@@ -72,6 +73,70 @@ static const void *of_get_mac_addr_nvmem
|
||||
return mac;
|
||||
}
|
||||
|
||||
@@ -107,7 +105,7 @@ index 6e411821583e..f072e2509cc9 100644
|
||||
/**
|
||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||
* checked first, because that is supposed to contain to "most recent" MAC
|
||||
@@ -98,6 +163,10 @@ static const void *of_get_mac_addr_nvmem(struct device_node *np)
|
||||
@@ -92,6 +157,10 @@ static const void *of_get_mac_addr_nvmem
|
||||
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
||||
* but is all zeros.
|
||||
*
|
||||
@@ -118,7 +116,7 @@ index 6e411821583e..f072e2509cc9 100644
|
||||
* Return: Will be a valid pointer on success and ERR_PTR in case of error.
|
||||
*/
|
||||
const void *of_get_mac_address(struct device_node *np)
|
||||
@@ -116,6 +185,10 @@ const void *of_get_mac_address(struct device_node *np)
|
||||
@@ -110,6 +179,10 @@ const void *of_get_mac_address(struct de
|
||||
if (addr)
|
||||
return addr;
|
||||
|
||||
@@ -129,6 +127,3 @@ index 6e411821583e..f072e2509cc9 100644
|
||||
return of_get_mac_addr_nvmem(np);
|
||||
}
|
||||
EXPORT_SYMBOL(of_get_mac_address);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
||||
@@ -18,11 +18,9 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
drivers/of/of_net.c | 59 ++++++++++++++++++++++++++++++++++-----------
|
||||
1 file changed, 45 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c
|
||||
index f072e2509cc9..0dbd1f7ef396 100644
|
||||
--- a/drivers/of/of_net.c
|
||||
+++ b/drivers/of/of_net.c
|
||||
@@ -55,31 +55,36 @@ static void *of_get_mac_addr(struct device_node *np, const char *name)
|
||||
@@ -49,31 +49,36 @@ static void *of_get_mac_addr(struct devi
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -67,7 +65,7 @@ index f072e2509cc9..0dbd1f7ef396 100644
|
||||
{
|
||||
#ifdef CONFIG_MTD
|
||||
struct device_node *mtd_np = NULL;
|
||||
@@ -167,28 +172,54 @@ static const void *of_get_mac_address_mtd(struct device_node *np)
|
||||
@@ -161,28 +166,54 @@ free:
|
||||
* If a mtd-mac-address property exists, try to fetch the MAC address from the
|
||||
* specified mtd device, and store it as a 'mac-address' property
|
||||
*
|
||||
@@ -128,6 +126,3 @@ index f072e2509cc9..0dbd1f7ef396 100644
|
||||
+ return addr;
|
||||
}
|
||||
EXPORT_SYMBOL(of_get_mac_address);
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
local_irq_save(flags);
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
local_irq_restore(flags);
|
||||
@@ -5978,6 +5984,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
@@ -5982,6 +5988,10 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
*/
|
||||
void __napi_schedule_irqoff(struct napi_struct *n)
|
||||
{
|
||||
@@ -115,11 +115,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ queue_work(napi_workq, &n->work);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_schedule_irqoff);
|
||||
@@ -6239,9 +6250,89 @@ static void init_gro_hash(struct napi_st
|
||||
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
else
|
||||
@@ -6246,9 +6256,89 @@ static void init_gro_hash(struct napi_st
|
||||
napi->gro_bitmask = 0;
|
||||
}
|
||||
|
||||
@@ -209,7 +208,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
INIT_LIST_HEAD(&napi->poll_list);
|
||||
hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
|
||||
napi->timer.function = napi_watchdog;
|
||||
@@ -6258,6 +6349,7 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -6265,6 +6355,7 @@ void netif_napi_add(struct net_device *d
|
||||
#ifdef CONFIG_NETPOLL
|
||||
napi->poll_owner = -1;
|
||||
#endif
|
||||
@@ -217,7 +216,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
set_bit(NAPI_STATE_SCHED, &napi->state);
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
@@ -6298,6 +6390,7 @@ static void flush_gro_hash(struct napi_s
|
||||
@@ -6305,6 +6396,7 @@ static void flush_gro_hash(struct napi_s
|
||||
void netif_napi_del(struct napi_struct *napi)
|
||||
{
|
||||
might_sleep();
|
||||
@@ -225,7 +224,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (napi_hash_del(napi))
|
||||
synchronize_net();
|
||||
list_del_init(&napi->dev_list);
|
||||
@@ -6310,50 +6403,18 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
@@ -6317,50 +6409,18 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
||||
{
|
||||
@@ -239,8 +238,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
have = netpoll_poll_lock(n);
|
||||
|
||||
- weight = n->weight;
|
||||
+ work = __napi_poll(n, &do_repoll);
|
||||
|
||||
-
|
||||
- /* This NAPI_STATE_SCHED test is for avoiding a race
|
||||
- * with netpoll's poll_napi(). Only the entity which
|
||||
- * obtains the lock and sees NAPI_STATE_SCHED set will
|
||||
@@ -254,7 +252,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
- }
|
||||
-
|
||||
- WARN_ON_ONCE(work > weight);
|
||||
-
|
||||
+ work = __napi_poll(n, &do_repoll);
|
||||
|
||||
- if (likely(work < weight))
|
||||
- goto out_unlock;
|
||||
-
|
||||
@@ -280,7 +279,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Some drivers may have called napi_schedule
|
||||
* prior to exhausting their budget.
|
||||
@@ -10333,6 +10394,10 @@ static int __init net_dev_init(void)
|
||||
@@ -10340,6 +10400,10 @@ static int __init net_dev_init(void)
|
||||
sd->backlog.weight = weight_p;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -205,6 +205,7 @@ static void quirk_mmio_always_on(struct
|
||||
@@ -206,6 +206,7 @@ static void quirk_mmio_always_on(struct
|
||||
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
|
||||
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
|
||||
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
||||
@@ -3320,6 +3321,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -3321,6 +3322,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
||||
* To work around this, query the size it should be configured to by the
|
||||
@@ -3345,6 +3348,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
@@ -3346,6 +3349,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
||||
* though no one is handling them (e.g., if the i915 driver is never
|
||||
@@ -3383,6 +3388,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3384,6 +3389,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user