From: Greg Kroah-Hartman Date: Mon, 9 Nov 2020 12:46:32 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.4.242~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=67891dc4bf37b512598d92aa81e533a98ccb341d;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch net-dsa-read-mac-address-from-dt-for-slave-device.patch --- diff --git a/queue-4.19/arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch b/queue-4.19/arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch new file mode 100644 index 00000000000..daa4946f106 --- /dev/null +++ b/queue-4.19/arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch @@ -0,0 +1,83 @@ +From b64d814257b027e29a474bcd660f6372490138c7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pali=20Roh=C3=A1r?= +Date: Mon, 7 Sep 2020 13:27:17 +0200 +Subject: arm64: dts: marvell: espressobin: Add ethernet switch aliases +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Pali Rohár + +commit b64d814257b027e29a474bcd660f6372490138c7 upstream. + +Espressobin boards have 3 ethernet ports and some of them got assigned more +then one MAC address. MAC addresses are stored in U-Boot environment. + +Since commit a2c7023f7075c ("net: dsa: read mac address from DT for slave +device") kernel can use MAC addresses from DT for particular DSA port. + +Currently Espressobin DTS file contains alias just for ethernet0. + +This patch defines additional ethernet aliases in Espressobin DTS files, so +bootloader can fill correct MAC address for DSA switch ports if more MAC +addresses were specified. + +DT alias ethernet1 is used for wan port, DT aliases ethernet2 and ethernet3 +are used for lan ports for both Espressobin revisions (V5 and V7). + +Fixes: 5253cb8c00a6f ("arm64: dts: marvell: espressobin: add ethernet alias") +Cc: # a2c7023f7075c: dsa: read mac address +Signed-off-by: Pali Rohár +Reviewed-by: Andrew Lunn +Reviewed-by: Andre Heider +Signed-off-by: Gregory CLEMENT +[pali: Backported Espressobin rev V5 changes to 5.4 and 4.19 versions] +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -21,6 +21,10 @@ + + aliases { + ethernet0 = ð0; ++ /* for dsa slave device */ ++ ethernet1 = &switch0port1; ++ ethernet2 = &switch0port2; ++ ethernet3 = &switch0port3; + serial0 = &uart0; + serial1 = &uart1; + }; +@@ -136,25 +140,25 @@ + #address-cells = <1>; + #size-cells = <0>; + +- port@0 { ++ switch0port0: port@0 { + reg = <0>; + label = "cpu"; + ethernet = <ð0>; + }; + +- port@1 { ++ switch0port1: port@1 { + reg = <1>; + label = "wan"; + phy-handle = <&switch0phy0>; + }; + +- port@2 { ++ switch0port2: port@2 { + reg = <2>; + label = "lan0"; + phy-handle = <&switch0phy1>; + }; + +- port@3 { ++ switch0port3: port@3 { + reg = <3>; + label = "lan1"; + phy-handle = <&switch0phy2>; diff --git a/queue-4.19/net-dsa-read-mac-address-from-dt-for-slave-device.patch b/queue-4.19/net-dsa-read-mac-address-from-dt-for-slave-device.patch new file mode 100644 index 00000000000..492fd878c17 --- /dev/null +++ b/queue-4.19/net-dsa-read-mac-address-from-dt-for-slave-device.patch @@ -0,0 +1,58 @@ +From a2c7023f7075ca9b80f944d3f20f60e6574538e2 Mon Sep 17 00:00:00 2001 +From: Xiaofei Shen +Date: Fri, 29 Mar 2019 11:04:58 +0530 +Subject: net: dsa: read mac address from DT for slave device + +From: Xiaofei Shen + +commit a2c7023f7075ca9b80f944d3f20f60e6574538e2 upstream. + +Before creating a slave netdevice, get the mac address from DTS and +apply in case it is valid. + +Signed-off-by: Xiaofei Shen +Signed-off-by: Vinod Koul +Signed-off-by: David S. Miller +Cc: Pali Rohár +Signed-off-by: Greg Kroah-Hartman + +--- + include/net/dsa.h | 1 + + net/dsa/dsa2.c | 1 + + net/dsa/slave.c | 5 ++++- + 3 files changed, 6 insertions(+), 1 deletion(-) + +--- a/include/net/dsa.h ++++ b/include/net/dsa.h +@@ -196,6 +196,7 @@ struct dsa_port { + unsigned int index; + const char *name; + const struct dsa_port *cpu_dp; ++ const char *mac; + struct device_node *dn; + unsigned int ageing_time; + u8 stp_state; +--- a/net/dsa/dsa2.c ++++ b/net/dsa/dsa2.c +@@ -261,6 +261,7 @@ static int dsa_port_setup(struct dsa_por + int err = 0; + + memset(&dp->devlink_port, 0, sizeof(dp->devlink_port)); ++ dp->mac = of_get_mac_address(dp->dn); + + if (dp->type != DSA_PORT_TYPE_UNUSED) + err = devlink_port_register(ds->devlink, &dp->devlink_port, +--- a/net/dsa/slave.c ++++ b/net/dsa/slave.c +@@ -1313,7 +1313,10 @@ int dsa_slave_create(struct dsa_port *po + slave_dev->features = master->vlan_features | NETIF_F_HW_TC; + slave_dev->hw_features |= NETIF_F_HW_TC; + slave_dev->ethtool_ops = &dsa_slave_ethtool_ops; +- eth_hw_addr_inherit(slave_dev, master); ++ if (port->mac && is_valid_ether_addr(port->mac)) ++ ether_addr_copy(slave_dev->dev_addr, port->mac); ++ else ++ eth_hw_addr_inherit(slave_dev, master); + slave_dev->priv_flags |= IFF_NO_QUEUE; + slave_dev->netdev_ops = &dsa_slave_netdev_ops; + slave_dev->switchdev_ops = &dsa_slave_switchdev_ops; diff --git a/queue-4.19/series b/queue-4.19/series index 24ba8c4b830..a082c67814d 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -67,3 +67,5 @@ revert-arc-entry-fix-potential-efa-clobber-when-tif_syscall_trace.patch pm-runtime-resume-the-device-earlier-in-__device_release_driver.patch perf-core-fix-a-memory-leak-in-perf_event_parse_addr_filter.patch tools-perf-fix-build-error-in-v4.19.y.patch +net-dsa-read-mac-address-from-dt-for-slave-device.patch +arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch