All patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Signed-off-by: John Audia <graysky@archlinux.us>
-LINUX_VERSION-5.10 = .105
-LINUX_KERNEL_HASH-5.10.105 = 3ddc0e0ab2b9cadb64df43141e0a1e5432b5963ed50f34d586c065ac8d4fcb85
+LINUX_VERSION-5.10 = .106
+LINUX_KERNEL_HASH-5.10.106 = c68651c8c70e2443ab6ebd1a3ed4e06694f988ffa40a664d8374f0cee0a3597a
#ifdef CONFIG_MACB_USE_HWSTAMP
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -3800,15 +3800,15 @@ static int macb_init(struct platform_dev
+@@ -3823,15 +3823,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);
}
-@@ -4326,6 +4326,13 @@ static int fu540_c000_init(struct platfo
+@@ -4349,6 +4349,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,
-@@ -4333,12 +4340,14 @@ static const struct macb_config fu540_c0
+@@ -4356,12 +4363,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 = {
-@@ -4346,6 +4355,7 @@ static const struct macb_config sama5d3m
+@@ -4369,6 +4378,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 = {
-@@ -4353,6 +4363,7 @@ static const struct macb_config pc302gem
+@@ -4376,6 +4386,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 = {
-@@ -4360,6 +4371,7 @@ static const struct macb_config sama5d2_
+@@ -4383,6 +4394,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 = {
-@@ -4369,6 +4381,7 @@ static const struct macb_config sama5d3_
+@@ -4392,6 +4404,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 = {
-@@ -4376,18 +4389,21 @@ static const struct macb_config sama5d4_
+@@ -4399,18 +4412,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 = {
-@@ -4398,6 +4414,7 @@ static const struct macb_config zynqmp_c
+@@ -4421,6 +4437,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 = {
-@@ -4406,6 +4423,7 @@ static const struct macb_config zynq_con
+@@ -4429,6 +4446,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[] = {
-@@ -4526,6 +4544,8 @@ static int macb_probe(struct platform_de
+@@ -4549,6 +4567,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
-@@ -3575,6 +3575,20 @@ static void macb_probe_queues(void __iom
+@@ -3598,6 +3598,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)
-@@ -4637,11 +4651,7 @@ err_out_free_netdev:
+@@ -4660,11 +4674,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);
-@@ -4666,11 +4676,8 @@ static int macb_remove(struct platform_d
+@@ -4689,11 +4699,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);
-@@ -4849,13 +4856,10 @@ static int __maybe_unused macb_runtime_s
+@@ -4872,13 +4879,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
-@@ -4307,8 +4307,10 @@ static int fu540_c000_clk_init(struct pl
+@@ -4330,8 +4330,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;
-@@ -4319,16 +4321,26 @@ static int fu540_c000_clk_init(struct pl
+@@ -4342,16 +4344,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
-@@ -4359,6 +4359,14 @@ static const struct macb_usrio_config ma
+@@ -4382,6 +4382,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,
-@@ -4452,6 +4460,14 @@ static const struct macb_config zynq_con
+@@ -4475,6 +4483,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 },
-@@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt
+@@ -4492,6 +4508,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
-@@ -4468,6 +4468,14 @@ static const struct macb_config sama7g5_
+@@ -4491,6 +4491,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 },
-@@ -4486,6 +4494,7 @@ static const struct of_device_id macb_dt
+@@ -4509,6 +4517,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
-@@ -3837,6 +3837,13 @@ static int macb_init(struct platform_dev
+@@ -3860,6 +3860,13 @@ static int macb_init(struct platform_dev
return 0;
}
#if defined(CONFIG_OF)
/* 1518 rounded up */
#define AT91ETHER_MAX_RBUFF_SZ 0x600
-@@ -4352,13 +4359,6 @@ static int fu540_c000_init(struct platfo
+@@ -4375,13 +4382,6 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
static const struct macb_usrio_config sama7g5_usrio = {
.mii = 0,
.rmii = 1,
-@@ -4507,6 +4507,7 @@ static const struct macb_config default_
+@@ -4530,6 +4530,7 @@ static const struct macb_config default_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
gpiod_err(desc,
"%s: tried to set a GPIO tied to an IRQ as output\n",
__func__);
-@@ -3250,8 +3252,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
+@@ -3260,8 +3262,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
}
/* To be valid for IRQ the line needs to be input or open drain */
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -509,8 +509,8 @@
+@@ -510,8 +510,8 @@
msi-controller;
msi-parent = <&pcie0>;
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -560,6 +560,7 @@
+@@ -561,6 +561,7 @@
&dsi1 {
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -308,6 +308,14 @@
+@@ -309,6 +309,14 @@
#reset-cells = <1>;
};
hdmi0: hdmi@7ef00700 {
compatible = "brcm,bcm2711-hdmi0";
reg = <0x7ef00700 0x300>,
-@@ -336,6 +344,11 @@
+@@ -337,6 +345,11 @@
<&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
resets = <&dvp 0>;
ddc = <&ddc0>;
dmas = <&dma 10>;
dma-names = "audio-rx";
-@@ -380,6 +393,11 @@
+@@ -381,6 +394,11 @@
<&dvp 0>,
<&clk_27MHz>;
resets = <&dvp 1>;
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -314,6 +314,7 @@
+@@ -315,6 +315,7 @@
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <1>;
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -353,7 +353,6 @@
+@@ -354,7 +354,6 @@
ddc = <&ddc0>;
dmas = <&dma 10>;
dma-names = "audio-rx";
status = "disabled";
};
-@@ -401,7 +400,6 @@
+@@ -402,7 +401,6 @@
"wakeup", "hpd-connected", "hpd-removed";
dmas = <&dma 17>;
dma-names = "audio-rx";
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -300,6 +300,14 @@
+@@ -301,6 +301,14 @@
status = "disabled";
};
maxItems: 1
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -301,7 +301,7 @@
+@@ -302,7 +302,7 @@
};
vec: vec@7ec13000 {
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -359,7 +359,7 @@
+@@ -360,7 +360,7 @@
interrupt-names = "cec-tx", "cec-rx", "cec-low",
"wakeup", "hpd-connected", "hpd-removed";
ddc = <&ddc0>;
dma-names = "audio-rx";
status = "disabled";
};
-@@ -406,7 +406,7 @@
+@@ -407,7 +407,7 @@
<9>, <10>, <11>;
interrupt-names = "cec-tx", "cec-rx", "cec-low",
"wakeup", "hpd-connected", "hpd-removed";
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -304,7 +304,7 @@
+@@ -305,7 +305,7 @@
compatible = "brcm,bcm2711-vec";
reg = <0x7ec13000 0x1000>;
clocks = <&clocks BCM2835_CLOCK_VEC>;
status = "disabled";
};
-@@ -1114,7 +1114,3 @@
+@@ -1115,7 +1115,3 @@
&usb {
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
};
if (bgmac->irq < 0)
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -4456,7 +4456,6 @@ static int macb_probe(struct platform_de
+@@ -4479,7 +4479,6 @@ static int macb_probe(struct platform_de
struct net_device *dev;
struct resource *regs;
void __iomem *mem;
struct macb *bp;
int err, val;
-@@ -4569,15 +4568,11 @@ static int macb_probe(struct platform_de
+@@ -4592,15 +4591,11 @@ static int macb_probe(struct platform_de
if (bp->caps & MACB_CAPS_NEEDS_RSTONUBR)
bp->rx_intr_mask |= MACB_BIT(RXUBR);
net/dsa/switch.c | 39 ++++++++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 13 deletions(-)
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index a44035872cff..659fd979cc0a 100644
--- a/net/dsa/switch.c
+++ b/net/dsa/switch.c
-@@ -104,23 +104,12 @@ static int dsa_switch_bridge_join(struct dsa_switch *ds,
+@@ -104,23 +104,12 @@ static int dsa_switch_bridge_join(struct
return 0;
}
/* If the bridge was vlan_filtering, the bridge core doesn't trigger an
* event for changing vlan_filtering setting upon slave ports leaving
* it. That is a good thing, because that lets us handle it and also
-@@ -153,6 +142,30 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds,
+@@ -153,6 +142,30 @@ static int dsa_switch_bridge_leave(struc
if (err && err != EOPNOTSUPP)
return err;
}
return 0;
}
---
-2.34.1
-
net/dsa/switch.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index 659fd979cc0a..2fe2f328d2d2 100644
--- a/net/dsa/switch.c
+++ b/net/dsa/switch.c
-@@ -162,9 +162,11 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds,
+@@ -162,9 +162,11 @@ static int dsa_switch_bridge_leave(struc
info->sw_index, info->port,
info->br);
return 0;
}
---
-2.34.1
-
if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del)
--- a/net/dsa/switch.c
+++ b/net/dsa/switch.c
-@@ -178,6 +178,47 @@ static int dsa_switch_fdb_del(struct dsa
+@@ -193,6 +193,47 @@ static int dsa_switch_fdb_del(struct dsa
return ds->ops->port_fdb_del(ds, port, info->addr, info->vid);
}
static bool dsa_switch_mdb_match(struct dsa_switch *ds, int port,
struct dsa_notifier_mdb_info *info)
{
-@@ -325,6 +366,15 @@ static int dsa_switch_event(struct notif
+@@ -340,6 +381,15 @@ static int dsa_switch_event(struct notif
case DSA_NOTIFIER_FDB_DEL:
err = dsa_switch_fdb_del(ds, info);
break;