]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Nov 2020 12:46:32 +0000 (13:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Nov 2020 12:46:32 +0000 (13:46 +0100)
added patches:
arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch
net-dsa-read-mac-address-from-dt-for-slave-device.patch

queue-4.19/arm64-dts-marvell-espressobin-add-ethernet-switch-aliases.patch [new file with mode: 0644]
queue-4.19/net-dsa-read-mac-address-from-dt-for-slave-device.patch [new file with mode: 0644]
queue-4.19/series

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 (file)
index 0000000..daa4946
--- /dev/null
@@ -0,0 +1,83 @@
+From b64d814257b027e29a474bcd660f6372490138c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
+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 <pali@kernel.org>
+
+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: <stable@vger.kernel.org> # a2c7023f7075c: dsa: read mac address
+Signed-off-by: Pali Rohár <pali@kernel.org>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Reviewed-by: Andre Heider <a.heider@gmail.com>
+Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
+[pali: Backported Espressobin rev V5 changes to 5.4 and 4.19 versions]
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 = &eth0;
++              /* 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 = <&eth0>;
+                       };
+-                      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 (file)
index 0000000..492fd87
--- /dev/null
@@ -0,0 +1,58 @@
+From a2c7023f7075ca9b80f944d3f20f60e6574538e2 Mon Sep 17 00:00:00 2001
+From: Xiaofei Shen <xiaofeis@codeaurora.org>
+Date: Fri, 29 Mar 2019 11:04:58 +0530
+Subject: net: dsa: read mac address from DT for slave device
+
+From: Xiaofei Shen <xiaofeis@codeaurora.org>
+
+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 <xiaofeis@codeaurora.org>
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Pali Rohár <pali@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;
index 24ba8c4b830cb4488f08f83a3d4ff5b7d89d78de..a082c67814da866910d3e6308049ed007e83e3c2 100644 (file)
@@ -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