All patches automatically rebased.
Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-5.10 = .165
-LINUX_KERNEL_HASH-5.10.165 = 971defc48f19ed0a2a7ffd4b48234619cac28895c985c6d747f5b707ba47af0d
+LINUX_VERSION-5.10 = .166
+LINUX_KERNEL_HASH-5.10.166 = 0051a1780e5bda0efc68dafab7c728b8283d2b028fedb439418f478be7d3e1af
#ifdef CONFIG_MACB_USE_HWSTAMP
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3831,15 +3831,15 @@ static int macb_init(struct platform_dev
+@@ -3824,15 +3824,15 @@ static int macb_init(struct platform_dev
if (!(bp->caps & MACB_CAPS_USRIO_DISABLED)) {
val = 0;
if (phy_interface_mode_is_rgmii(bp->phy_interface))
macb_or_gem_writel(bp, USRIO, val);
}
-@@ -4357,6 +4357,13 @@ static int fu540_c000_init(struct platfo
+@@ -4350,6 +4350,13 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
-@@ -4364,12 +4371,14 @@ static const struct macb_config fu540_c0
+@@ -4357,12 +4364,14 @@ static const struct macb_config fu540_c0
.clk_init = fu540_c000_clk_init,
.init = fu540_c000_init,
.jumbo_max_len = 10240,
};
static const struct macb_config sama5d3macb_config = {
-@@ -4377,6 +4386,7 @@ static const struct macb_config sama5d3m
+@@ -4370,6 +4379,7 @@ static const struct macb_config sama5d3m
| MACB_CAPS_USRIO_HAS_CLKEN | MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config pc302gem_config = {
-@@ -4384,6 +4394,7 @@ static const struct macb_config pc302gem
+@@ -4377,6 +4387,7 @@ static const struct macb_config pc302gem
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config sama5d2_config = {
-@@ -4391,6 +4402,7 @@ static const struct macb_config sama5d2_
+@@ -4384,6 +4395,7 @@ static const struct macb_config sama5d2_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config sama5d3_config = {
-@@ -4400,6 +4412,7 @@ static const struct macb_config sama5d3_
+@@ -4393,6 +4405,7 @@ static const struct macb_config sama5d3_
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
};
static const struct macb_config sama5d4_config = {
-@@ -4407,18 +4420,21 @@ static const struct macb_config sama5d4_
+@@ -4400,18 +4413,21 @@ static const struct macb_config sama5d4_
.dma_burst_length = 4,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct macb_config zynqmp_config = {
-@@ -4429,6 +4445,7 @@ static const struct macb_config zynqmp_c
+@@ -4422,6 +4438,7 @@ static const struct macb_config zynqmp_c
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
};
static const struct macb_config zynq_config = {
-@@ -4437,6 +4454,7 @@ static const struct macb_config zynq_con
+@@ -4430,6 +4447,7 @@ static const struct macb_config zynq_con
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
};
static const struct of_device_id macb_dt_ids[] = {
-@@ -4557,6 +4575,8 @@ static int macb_probe(struct platform_de
+@@ -4550,6 +4568,8 @@ static int macb_probe(struct platform_de
bp->wol |= MACB_WOL_HAS_MAGIC_PACKET;
device_set_wakeup_capable(&pdev->dev, bp->wol & MACB_WOL_HAS_MAGIC_PACKET);
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3606,6 +3606,20 @@ static void macb_probe_queues(void __iom
+@@ -3599,6 +3599,20 @@ static void macb_probe_queues(void __iom
*num_queues = hweight32(*queue_mask);
}
static int macb_clk_init(struct platform_device *pdev, struct clk **pclk,
struct clk **hclk, struct clk **tx_clk,
struct clk **rx_clk, struct clk **tsu_clk)
-@@ -4668,11 +4682,7 @@ err_out_free_netdev:
+@@ -4661,11 +4675,7 @@ err_out_free_netdev:
free_netdev(dev);
err_disable_clocks:
pm_runtime_disable(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
-@@ -4697,11 +4707,8 @@ static int macb_remove(struct platform_d
+@@ -4690,11 +4700,8 @@ static int macb_remove(struct platform_d
pm_runtime_disable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
if (!pm_runtime_suspended(&pdev->dev)) {
pm_runtime_set_suspended(&pdev->dev);
}
phylink_destroy(bp->phylink);
-@@ -4880,13 +4887,10 @@ static int __maybe_unused macb_runtime_s
+@@ -4873,13 +4880,10 @@ static int __maybe_unused macb_runtime_s
struct net_device *netdev = dev_get_drvdata(dev);
struct macb *bp = netdev_priv(netdev);
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4338,8 +4338,10 @@ static int fu540_c000_clk_init(struct pl
+@@ -4331,8 +4331,10 @@ static int fu540_c000_clk_init(struct pl
return err;
mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL);
init.name = "sifive-gemgxl-mgmt";
init.ops = &fu540_c000_ops;
-@@ -4350,16 +4352,26 @@ static int fu540_c000_clk_init(struct pl
+@@ -4343,16 +4345,26 @@ static int fu540_c000_clk_init(struct pl
mgmt->hw.init = &init;
*tx_clk = devm_clk_register(&pdev->dev, &mgmt->hw);
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4390,6 +4390,14 @@ static const struct macb_usrio_config ma
+@@ -4383,6 +4383,14 @@ static const struct macb_usrio_config ma
.refclk = MACB_BIT(CLKEN),
};
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
-@@ -4483,6 +4491,14 @@ static const struct macb_config zynq_con
+@@ -4476,6 +4484,14 @@ static const struct macb_config zynq_con
.usrio = &macb_default_usrio,
};
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
-@@ -4500,6 +4516,7 @@ static const struct of_device_id macb_dt
+@@ -4493,6 +4509,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4499,6 +4499,14 @@ static const struct macb_config sama7g5_
+@@ -4492,6 +4492,14 @@ static const struct macb_config sama7g5_
.usrio = &sama7g5_usrio,
};
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
-@@ -4517,6 +4525,7 @@ static const struct of_device_id macb_dt
+@@ -4510,6 +4518,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3868,6 +3868,13 @@ static int macb_init(struct platform_dev
+@@ -3861,6 +3861,13 @@ static int macb_init(struct platform_dev
return 0;
}
#if defined(CONFIG_OF)
/* 1518 rounded up */
#define AT91ETHER_MAX_RBUFF_SZ 0x600
-@@ -4383,13 +4390,6 @@ static int fu540_c000_init(struct platfo
+@@ -4376,13 +4383,6 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
static const struct macb_usrio_config sama7g5_usrio = {
.mii = 0,
.rmii = 1,
-@@ -4538,6 +4538,7 @@ static const struct macb_config default_
+@@ -4531,6 +4531,7 @@ static const struct macb_config default_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
enum udp_conntrack {
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -1447,6 +1447,11 @@ void nf_conntrack_tcp_init_net(struct ne
+@@ -1457,6 +1457,11 @@ void nf_conntrack_tcp_init_net(struct ne
tn->tcp_loose = nf_ct_tcp_loose;
tn->tcp_be_liberal = nf_ct_tcp_be_liberal;
tn->tcp_max_retrans = nf_ct_tcp_max_retrans;
NF_SYSCTL_CT_PROTO_TCP_LOOSE,
NF_SYSCTL_CT_PROTO_TCP_LIBERAL,
NF_SYSCTL_CT_PROTO_TCP_MAX_RETRANS,
-@@ -758,6 +762,20 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -757,6 +761,20 @@ static struct ctl_table nf_ct_sysctl_tab
.mode = 0644,
.proc_handler = proc_dointvec_jiffies,
},
[NF_SYSCTL_CT_PROTO_TCP_LOOSE] = {
.procname = "nf_conntrack_tcp_loose",
.maxlen = sizeof(int),
-@@ -967,6 +985,12 @@ static void nf_conntrack_standalone_init
+@@ -960,6 +978,12 @@ static void nf_conntrack_standalone_init
XASSIGN(LIBERAL, &tn->tcp_be_liberal);
XASSIGN(MAX_RETRANS, &tn->tcp_max_retrans);
#undef XASSIGN
NF_SYSCTL_CT_PROTO_TIMEOUT_ICMP,
NF_SYSCTL_CT_PROTO_TIMEOUT_ICMPV6,
#ifdef CONFIG_NF_CT_PROTO_SCTP
-@@ -810,6 +814,20 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -809,6 +813,20 @@ static struct ctl_table nf_ct_sysctl_tab
.mode = 0644,
.proc_handler = proc_dointvec_jiffies,
},
[NF_SYSCTL_CT_PROTO_TIMEOUT_ICMP] = {
.procname = "nf_conntrack_icmp_timeout",
.maxlen = sizeof(unsigned int),
-@@ -1078,6 +1096,10 @@ static int nf_conntrack_standalone_init_
+@@ -1070,6 +1088,10 @@ static int nf_conntrack_standalone_init_
table[NF_SYSCTL_CT_PROTO_TIMEOUT_ICMPV6].data = &nf_icmpv6_pernet(net)->timeout;
table[NF_SYSCTL_CT_PROTO_TIMEOUT_UDP].data = &un->timeouts[UDP_CT_UNREPLIED];
table[NF_SYSCTL_CT_PROTO_TIMEOUT_UDP_STREAM].data = &un->timeouts[UDP_CT_REPLIED];
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -1450,7 +1450,6 @@ void nf_conntrack_tcp_init_net(struct ne
+@@ -1460,7 +1460,6 @@ void nf_conntrack_tcp_init_net(struct ne
#if IS_ENABLED(CONFIG_NF_FLOW_TABLE)
tn->offload_timeout = 30 * HZ;
#endif
NF_SYSCTL_CT_PROTO_TIMEOUT_ICMP,
NF_SYSCTL_CT_PROTO_TIMEOUT_ICMPV6,
-@@ -773,12 +771,6 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -772,12 +770,6 @@ static struct ctl_table nf_ct_sysctl_tab
.mode = 0644,
.proc_handler = proc_dointvec_jiffies,
},
#endif
[NF_SYSCTL_CT_PROTO_TCP_LOOSE] = {
.procname = "nf_conntrack_tcp_loose",
-@@ -821,12 +813,6 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -820,12 +812,6 @@ static struct ctl_table nf_ct_sysctl_tab
.mode = 0644,
.proc_handler = proc_dointvec_jiffies,
},
#endif
[NF_SYSCTL_CT_PROTO_TIMEOUT_ICMP] = {
.procname = "nf_conntrack_icmp_timeout",
-@@ -1006,7 +992,6 @@ static void nf_conntrack_standalone_init
+@@ -999,7 +985,6 @@ static void nf_conntrack_standalone_init
#if IS_ENABLED(CONFIG_NF_FLOW_TABLE)
table[NF_SYSCTL_CT_PROTO_TIMEOUT_TCP_OFFLOAD].data = &tn->offload_timeout;
#endif
}
-@@ -1098,7 +1083,6 @@ static int nf_conntrack_standalone_init_
+@@ -1090,7 +1075,6 @@ static int nf_conntrack_standalone_init_
table[NF_SYSCTL_CT_PROTO_TIMEOUT_UDP_STREAM].data = &un->timeouts[UDP_CT_REPLIED];
#if IS_ENABLED(CONFIG_NF_FLOW_TABLE)
table[NF_SYSCTL_CT_PROTO_TIMEOUT_UDP_OFFLOAD].data = &un->offload_timeout;
if (bgmac->irq < 0)
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4487,7 +4487,6 @@ static int macb_probe(struct platform_de
+@@ -4480,7 +4480,6 @@ static int macb_probe(struct platform_de
struct net_device *dev;
struct resource *regs;
void __iomem *mem;
struct macb *bp;
int err, val;
-@@ -4600,15 +4599,11 @@ static int macb_probe(struct platform_de
+@@ -4593,15 +4592,11 @@ static int macb_probe(struct platform_de
if (bp->caps & MACB_CAPS_NEEDS_RSTONUBR)
bp->rx_intr_mask |= MACB_BIT(RXUBR);
int irq;
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -5008,7 +5008,7 @@ int stmmac_dvr_probe(struct device *devi
+@@ -5013,7 +5013,7 @@ int stmmac_dvr_probe(struct device *devi
priv->wol_irq = res->wol_irq;
priv->lpi_irq = res->lpi_irq;
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -693,6 +693,7 @@ static const struct of_device_id spidev_
+@@ -691,6 +691,7 @@ static const struct of_device_id spidev_
{ .compatible = "lwn,bk4" },
{ .compatible = "dh,dhcom-board" },
{ .compatible = "menlo,m53cpld" },
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -694,6 +694,7 @@ static const struct of_device_id spidev_
+@@ -692,6 +692,7 @@ static const struct of_device_id spidev_
{ .compatible = "dh,dhcom-board" },
{ .compatible = "menlo,m53cpld" },
{ .compatible = "silabs,em3581" },
static bool enable_hooks __read_mostly;
MODULE_PARM_DESC(enable_hooks, "Always enable conntrack hooks");
module_param(enable_hooks, bool, 0000);
-@@ -658,6 +661,7 @@ enum nf_ct_sysctl_index {
+@@ -657,6 +660,7 @@ enum nf_ct_sysctl_index {
NF_SYSCTL_CT_PROTO_TIMEOUT_GRE_STREAM,
#endif
__NF_SYSCTL_CT_LAST_SYSCTL,
};
-@@ -1000,6 +1004,13 @@ static struct ctl_table nf_ct_sysctl_tab
+@@ -993,6 +997,13 @@ static struct ctl_table nf_ct_sysctl_tab
.proc_handler = proc_dointvec_jiffies,
},
#endif
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
-@@ -142,6 +142,10 @@ const struct fib_prop fib_props[RTN_MAX
+@@ -143,6 +143,10 @@ const struct fib_prop fib_props[RTN_MAX
.error = -EINVAL,
.scope = RT_SCOPE_NOWHERE,
},
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -5041,6 +5041,10 @@ int stmmac_dvr_probe(struct device *devi
+@@ -5046,6 +5046,10 @@ int stmmac_dvr_probe(struct device *devi
reset_control_reset(priv->plat->stmmac_rst);
}
/* Init MAC and get the capabilities */
ret = stmmac_hw_init(priv);
if (ret)
-@@ -5255,6 +5259,7 @@ int stmmac_dvr_remove(struct device *dev
+@@ -5260,6 +5264,7 @@ int stmmac_dvr_remove(struct device *dev
phylink_destroy(priv->phylink);
if (priv->plat->stmmac_rst)
reset_control_assert(priv->plat->stmmac_rst);
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -734,6 +734,32 @@ out:
+@@ -739,6 +739,32 @@ out:
}
/**
* __mdiobus_read - Unlocked version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -749,7 +775,10 @@ int __mdiobus_read(struct mii_bus *bus,
+@@ -754,7 +780,10 @@ int __mdiobus_read(struct mii_bus *bus,
WARN_ON_ONCE(!mutex_is_locked(&bus->mdio_lock));
trace_mdio_access(bus, 1, addr, regnum, retval, retval);
mdiobus_stats_acct(&bus->stats[addr], true, retval);
-@@ -759,6 +788,40 @@ int __mdiobus_read(struct mii_bus *bus,
+@@ -764,6 +793,40 @@ int __mdiobus_read(struct mii_bus *bus,
EXPORT_SYMBOL(__mdiobus_read);
/**
* __mdiobus_write - Unlocked version of the mdiobus_write function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -775,7 +838,10 @@ int __mdiobus_write(struct mii_bus *bus,
+@@ -780,7 +843,10 @@ int __mdiobus_write(struct mii_bus *bus,
WARN_ON_ONCE(!mutex_is_locked(&bus->mdio_lock));
trace_mdio_access(bus, 0, addr, regnum, val, err);
mdiobus_stats_acct(&bus->stats[addr], false, err);
-@@ -785,6 +851,39 @@ int __mdiobus_write(struct mii_bus *bus,
+@@ -790,6 +856,39 @@ int __mdiobus_write(struct mii_bus *bus,
EXPORT_SYMBOL(__mdiobus_write);
/**
* __mdiobus_modify_changed - Unlocked version of the mdiobus_modify function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -817,6 +916,43 @@ int __mdiobus_modify_changed(struct mii_
+@@ -822,6 +921,43 @@ int __mdiobus_modify_changed(struct mii_
EXPORT_SYMBOL_GPL(__mdiobus_modify_changed);
/**
* mdiobus_read_nested - Nested version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -842,6 +978,79 @@ int mdiobus_read_nested(struct mii_bus *
+@@ -847,6 +983,79 @@ int mdiobus_read_nested(struct mii_bus *
EXPORT_SYMBOL(mdiobus_read_nested);
/**
* mdiobus_read - Convenience function for reading a given MII mgmt register
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -864,6 +1073,29 @@ int mdiobus_read(struct mii_bus *bus, in
+@@ -869,6 +1078,29 @@ int mdiobus_read(struct mii_bus *bus, in
EXPORT_SYMBOL(mdiobus_read);
/**
* mdiobus_write_nested - Nested version of the mdiobus_write function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -890,6 +1122,33 @@ int mdiobus_write_nested(struct mii_bus
+@@ -895,6 +1127,33 @@ int mdiobus_write_nested(struct mii_bus
EXPORT_SYMBOL(mdiobus_write_nested);
/**
* mdiobus_write - Convenience function for writing a given MII mgmt register
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -913,6 +1172,30 @@ int mdiobus_write(struct mii_bus *bus, i
+@@ -918,6 +1177,30 @@ int mdiobus_write(struct mii_bus *bus, i
EXPORT_SYMBOL(mdiobus_write);
/**
* mdiobus_modify - Convenience function for modifying a given mdio device
* register
* @bus: the mii_bus struct
-@@ -934,6 +1217,51 @@ int mdiobus_modify(struct mii_bus *bus,
+@@ -939,6 +1222,51 @@ int mdiobus_modify(struct mii_bus *bus,
EXPORT_SYMBOL_GPL(mdiobus_modify);
/**