linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr
@ 2021-10-04 19:14 Jakub Kicinski
  2021-10-04 19:14 ` [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() Jakub Kicinski
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Jakub Kicinski @ 2021-10-04 19:14 UTC (permalink / raw)
  To: davem; +Cc: netdev, tariqt, yishaih, linux-rdma, Jakub Kicinski

This patch converts mlx4 for dev->dev_addr being const. It converts
to use of common helpers but also removes some seemingly unnecessary
idiosyncrasies.

Please review.

Jakub Kicinski (4):
  mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
  mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
  mlx4: remove custom dev_addr clearing
  mlx4: constify args for const dev_addr

 drivers/infiniband/hw/mlx4/main.c             |  2 +-
 drivers/infiniband/hw/mlx4/qp.c               |  2 +-
 drivers/net/ethernet/mellanox/mlx4/cmd.c      |  4 +-
 .../net/ethernet/mellanox/mlx4/en_netdev.c    | 37 +++++++------------
 drivers/net/ethernet/mellanox/mlx4/fw.c       |  2 +-
 drivers/net/ethernet/mellanox/mlx4/mcg.c      |  2 +-
 include/linux/mlx4/device.h                   |  2 +-
 include/linux/mlx4/driver.h                   | 22 -----------
 8 files changed, 21 insertions(+), 52 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
@ 2021-10-04 19:14 ` Jakub Kicinski
  2021-10-05  9:55   ` Tariq Toukan
  2021-10-04 19:14 ` [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() Jakub Kicinski
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Jakub Kicinski @ 2021-10-04 19:14 UTC (permalink / raw)
  To: davem; +Cc: netdev, tariqt, yishaih, linux-rdma, Jakub Kicinski

mlx4_mac_to_u64() predates and opencodes ether_addr_to_u64().
It doesn't make the argument constant so it'll be problematic
when dev->dev_addr becomes a const. Convert to the generic helper.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 drivers/infiniband/hw/mlx4/main.c              |  2 +-
 drivers/infiniband/hw/mlx4/qp.c                |  2 +-
 drivers/net/ethernet/mellanox/mlx4/cmd.c       |  2 +-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 16 ++++++++--------
 drivers/net/ethernet/mellanox/mlx4/fw.c        |  2 +-
 include/linux/mlx4/driver.h                    | 12 ------------
 6 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index f367f4a4abff..f3fa2fe6a88a 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -2275,7 +2275,7 @@ static void mlx4_ib_update_qps(struct mlx4_ib_dev *ibdev,
 	u64 release_mac = MLX4_IB_INVALID_MAC;
 	struct mlx4_ib_qp *qp;
 
-	new_smac = mlx4_mac_to_u64(dev->dev_addr);
+	new_smac = ether_addr_to_u64(dev->dev_addr);
 	atomic64_set(&ibdev->iboe.mac[port - 1], new_smac);
 
 	/* no need for update QP1 and mac registration in non-SRIOV */
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
index 8662f462e2a5..aea4182f33a4 100644
--- a/drivers/infiniband/hw/mlx4/qp.c
+++ b/drivers/infiniband/hw/mlx4/qp.c
@@ -1853,7 +1853,7 @@ static int mlx4_set_path(struct mlx4_ib_dev *dev, const struct ib_qp_attr *qp,
 			 u16 vlan_id, u8 *smac)
 {
 	return _mlx4_set_path(dev, &qp->ah_attr,
-			      mlx4_mac_to_u64(smac),
+			      ether_addr_to_u64(smac),
 			      vlan_id,
 			      path, &mqp->pri, port);
 }
diff --git a/drivers/net/ethernet/mellanox/mlx4/cmd.c b/drivers/net/ethernet/mellanox/mlx4/cmd.c
index 8d751383530b..9fadedfca41c 100644
--- a/drivers/net/ethernet/mellanox/mlx4/cmd.c
+++ b/drivers/net/ethernet/mellanox/mlx4/cmd.c
@@ -3009,7 +3009,7 @@ int mlx4_set_vf_mac(struct mlx4_dev *dev, int port, int vf, u8 *mac)
 		return -EPERM;
 	}
 
-	s_info->mac = mlx4_mac_to_u64(mac);
+	s_info->mac = ether_addr_to_u64(mac);
 	mlx4_info(dev, "default mac on vf %d port %d to %llX will take effect only after vf restart\n",
 		  vf, port, s_info->mac);
 	return 0;
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index ac480dc79bc1..76c8fe8e0125 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -644,7 +644,7 @@ static int mlx4_en_get_qp(struct mlx4_en_priv *priv)
 	int index = 0;
 	int err = 0;
 	int *qpn = &priv->base_qpn;
-	u64 mac = mlx4_mac_to_u64(priv->dev->dev_addr);
+	u64 mac = ether_addr_to_u64(priv->dev->dev_addr);
 
 	en_dbg(DRV, priv, "Registering MAC: %pM for adding\n",
 	       priv->dev->dev_addr);
@@ -683,7 +683,7 @@ static void mlx4_en_put_qp(struct mlx4_en_priv *priv)
 	int qpn = priv->base_qpn;
 
 	if (dev->caps.steering_mode == MLX4_STEERING_MODE_A0) {
-		u64 mac = mlx4_mac_to_u64(priv->dev->dev_addr);
+		u64 mac = ether_addr_to_u64(priv->dev->dev_addr);
 		en_dbg(DRV, priv, "Registering MAC: %pM for deleting\n",
 		       priv->dev->dev_addr);
 		mlx4_unregister_mac(dev, priv->port, mac);
@@ -701,14 +701,14 @@ static int mlx4_en_replace_mac(struct mlx4_en_priv *priv, int qpn,
 	struct mlx4_en_dev *mdev = priv->mdev;
 	struct mlx4_dev *dev = mdev->dev;
 	int err = 0;
-	u64 new_mac_u64 = mlx4_mac_to_u64(new_mac);
+	u64 new_mac_u64 = ether_addr_to_u64(new_mac);
 
 	if (dev->caps.steering_mode != MLX4_STEERING_MODE_A0) {
 		struct hlist_head *bucket;
 		unsigned int mac_hash;
 		struct mlx4_mac_entry *entry;
 		struct hlist_node *tmp;
-		u64 prev_mac_u64 = mlx4_mac_to_u64(prev_mac);
+		u64 prev_mac_u64 = ether_addr_to_u64(prev_mac);
 
 		bucket = &priv->mac_hash[prev_mac[MLX4_EN_MAC_HASH_IDX]];
 		hlist_for_each_entry_safe(entry, tmp, bucket, hlist) {
@@ -1076,7 +1076,7 @@ static void mlx4_en_do_multicast(struct mlx4_en_priv *priv,
 		mlx4_en_cache_mclist(dev);
 		netif_addr_unlock_bh(dev);
 		list_for_each_entry(mclist, &priv->mc_list, list) {
-			mcast_addr = mlx4_mac_to_u64(mclist->addr);
+			mcast_addr = ether_addr_to_u64(mclist->addr);
 			mlx4_SET_MCAST_FLTR(mdev->dev, priv->port,
 					    mcast_addr, 0, MLX4_MCAST_CONFIG);
 		}
@@ -1169,7 +1169,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
 				found = true;
 
 			if (!found) {
-				mac = mlx4_mac_to_u64(entry->mac);
+				mac = ether_addr_to_u64(entry->mac);
 				mlx4_en_uc_steer_release(priv, entry->mac,
 							 priv->base_qpn,
 							 entry->reg_id);
@@ -1212,7 +1212,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
 				priv->flags |= MLX4_EN_FLAG_FORCE_PROMISC;
 				break;
 			}
-			mac = mlx4_mac_to_u64(ha->addr);
+			mac = ether_addr_to_u64(ha->addr);
 			memcpy(entry->mac, ha->addr, ETH_ALEN);
 			err = mlx4_register_mac(mdev->dev, priv->port, mac);
 			if (err < 0) {
@@ -1348,7 +1348,7 @@ static void mlx4_en_delete_rss_steer_rules(struct mlx4_en_priv *priv)
 	for (i = 0; i < MLX4_EN_MAC_HASH_SIZE; ++i) {
 		bucket = &priv->mac_hash[i];
 		hlist_for_each_entry_safe(entry, tmp, bucket, hlist) {
-			mac = mlx4_mac_to_u64(entry->mac);
+			mac = ether_addr_to_u64(entry->mac);
 			en_dbg(DRV, priv, "Registering MAC:%pM for deleting\n",
 			       entry->mac);
 			mlx4_en_uc_steer_release(priv, entry->mac,
diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c b/drivers/net/ethernet/mellanox/mlx4/fw.c
index dc4ac1a2b6b6..42c96c9d7fb1 100644
--- a/drivers/net/ethernet/mellanox/mlx4/fw.c
+++ b/drivers/net/ethernet/mellanox/mlx4/fw.c
@@ -3105,7 +3105,7 @@ void mlx4_replace_zero_macs(struct mlx4_dev *dev)
 		    dev->caps.port_type[i] == MLX4_PORT_TYPE_ETH) {
 			eth_random_addr(mac_addr);
 			dev->port_random_macs |= 1 << i;
-			dev->caps.def_mac[i] = mlx4_mac_to_u64(mac_addr);
+			dev->caps.def_mac[i] = ether_addr_to_u64(mac_addr);
 		}
 }
 EXPORT_SYMBOL_GPL(mlx4_replace_zero_macs);
diff --git a/include/linux/mlx4/driver.h b/include/linux/mlx4/driver.h
index a858bcb6220b..b26b71f62fb4 100644
--- a/include/linux/mlx4/driver.h
+++ b/include/linux/mlx4/driver.h
@@ -92,18 +92,6 @@ void *mlx4_get_protocol_dev(struct mlx4_dev *dev, enum mlx4_protocol proto, int
 
 struct devlink_port *mlx4_get_devlink_port(struct mlx4_dev *dev, int port);
 
-static inline u64 mlx4_mac_to_u64(u8 *addr)
-{
-	u64 mac = 0;
-	int i;
-
-	for (i = 0; i < ETH_ALEN; i++) {
-		mac <<= 8;
-		mac |= addr[i];
-	}
-	return mac;
-}
-
 static inline void mlx4_u64_to_mac(u8 *addr, u64 mac)
 {
 	int i;
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
  2021-10-04 19:14 ` [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() Jakub Kicinski
@ 2021-10-04 19:14 ` Jakub Kicinski
  2021-10-05  9:59   ` Tariq Toukan
  2021-10-04 19:14 ` [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing Jakub Kicinski
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Jakub Kicinski @ 2021-10-04 19:14 UTC (permalink / raw)
  To: davem; +Cc: netdev, tariqt, yishaih, linux-rdma, Jakub Kicinski

mlx4_u64_to_mac() predates the common helper but doesn't
make the argument constant.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 drivers/net/ethernet/mellanox/mlx4/cmd.c |  2 +-
 include/linux/mlx4/driver.h              | 10 ----------
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/cmd.c b/drivers/net/ethernet/mellanox/mlx4/cmd.c
index 9fadedfca41c..94ead263081f 100644
--- a/drivers/net/ethernet/mellanox/mlx4/cmd.c
+++ b/drivers/net/ethernet/mellanox/mlx4/cmd.c
@@ -3195,7 +3195,7 @@ int mlx4_set_vf_spoofchk(struct mlx4_dev *dev, int port, int vf, bool setting)
 	port = mlx4_slaves_closest_port(dev, slave, port);
 	s_info = &priv->mfunc.master.vf_admin[slave].vport[port];
 
-	mlx4_u64_to_mac(mac, s_info->mac);
+	u64_to_ether_addr(s_info->mac, mac);
 	if (setting && !is_valid_ether_addr(mac)) {
 		mlx4_info(dev, "Illegal MAC with spoofchk\n");
 		return -EPERM;
diff --git a/include/linux/mlx4/driver.h b/include/linux/mlx4/driver.h
index b26b71f62fb4..1834c8fad12e 100644
--- a/include/linux/mlx4/driver.h
+++ b/include/linux/mlx4/driver.h
@@ -92,14 +92,4 @@ void *mlx4_get_protocol_dev(struct mlx4_dev *dev, enum mlx4_protocol proto, int
 
 struct devlink_port *mlx4_get_devlink_port(struct mlx4_dev *dev, int port);
 
-static inline void mlx4_u64_to_mac(u8 *addr, u64 mac)
-{
-	int i;
-
-	for (i = ETH_ALEN; i > 0; i--) {
-		addr[i - 1] = mac & 0xFF;
-		mac >>= 8;
-	}
-}
-
 #endif /* MLX4_DRIVER_H */
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
  2021-10-04 19:14 ` [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() Jakub Kicinski
  2021-10-04 19:14 ` [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() Jakub Kicinski
@ 2021-10-04 19:14 ` Jakub Kicinski
  2021-10-05 10:21   ` Tariq Toukan
  2021-10-04 19:14 ` [PATCH net-next 4/4] mlx4: constify args for const dev_addr Jakub Kicinski
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Jakub Kicinski @ 2021-10-04 19:14 UTC (permalink / raw)
  To: davem; +Cc: netdev, tariqt, yishaih, linux-rdma, Jakub Kicinski

mlx4_en_u64_to_mac() takes the dev->dev_addr pointer and writes
to it byte by byte. It also clears the two bytes _after_ ETH_ALEN
which seems unnecessary. dev->addr_len is set to ETH_ALEN just
before the call.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index 76c8fe8e0125..dce228170b14 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -527,14 +527,12 @@ static int mlx4_en_vlan_rx_kill_vid(struct net_device *dev,
 	return err;
 }
 
-static void mlx4_en_u64_to_mac(unsigned char dst_mac[ETH_ALEN + 2], u64 src_mac)
+static void mlx4_en_u64_to_mac(struct net_device *dev, u64 src_mac)
 {
-	int i;
-	for (i = ETH_ALEN - 1; i >= 0; --i) {
-		dst_mac[i] = src_mac & 0xff;
-		src_mac >>= 8;
-	}
-	memset(&dst_mac[ETH_ALEN], 0, 2);
+	u8 addr[ETH_ALEN];
+
+	u64_to_ether_addr(src_mac, addr);
+	eth_hw_addr_set(dev, addr);
 }
 
 
@@ -3267,7 +3265,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
 
 	/* Set default MAC */
 	dev->addr_len = ETH_ALEN;
-	mlx4_en_u64_to_mac(dev->dev_addr, mdev->dev->caps.def_mac[priv->port]);
+	mlx4_en_u64_to_mac(dev, mdev->dev->caps.def_mac[priv->port]);
 	if (!is_valid_ether_addr(dev->dev_addr)) {
 		en_err(priv, "Port: %d, invalid mac burned: %pM, quitting\n",
 		       priv->port, dev->dev_addr);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH net-next 4/4] mlx4: constify args for const dev_addr
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
                   ` (2 preceding siblings ...)
  2021-10-04 19:14 ` [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing Jakub Kicinski
@ 2021-10-04 19:14 ` Jakub Kicinski
  2021-10-05 10:27   ` Tariq Toukan
  2021-10-05 10:28 ` [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Tariq Toukan
  2021-10-05 12:30 ` patchwork-bot+netdevbpf
  5 siblings, 1 reply; 11+ messages in thread
From: Jakub Kicinski @ 2021-10-04 19:14 UTC (permalink / raw)
  To: davem; +Cc: netdev, tariqt, yishaih, linux-rdma, Jakub Kicinski

netdev->dev_addr will become const soon. Make sure all
functions which pass it around mark appropriate args
as const.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 8 +++++---
 drivers/net/ethernet/mellanox/mlx4/mcg.c       | 2 +-
 include/linux/mlx4/device.h                    | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index dce228170b14..3f6d5c384637 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -536,7 +536,8 @@ static void mlx4_en_u64_to_mac(struct net_device *dev, u64 src_mac)
 }
 
 
-static int mlx4_en_tunnel_steer_add(struct mlx4_en_priv *priv, unsigned char *addr,
+static int mlx4_en_tunnel_steer_add(struct mlx4_en_priv *priv,
+				    const unsigned char *addr,
 				    int qpn, u64 *reg_id)
 {
 	int err;
@@ -557,7 +558,7 @@ static int mlx4_en_tunnel_steer_add(struct mlx4_en_priv *priv, unsigned char *ad
 
 
 static int mlx4_en_uc_steer_add(struct mlx4_en_priv *priv,
-				unsigned char *mac, int *qpn, u64 *reg_id)
+				const unsigned char *mac, int *qpn, u64 *reg_id)
 {
 	struct mlx4_en_dev *mdev = priv->mdev;
 	struct mlx4_dev *dev = mdev->dev;
@@ -609,7 +610,8 @@ static int mlx4_en_uc_steer_add(struct mlx4_en_priv *priv,
 }
 
 static void mlx4_en_uc_steer_release(struct mlx4_en_priv *priv,
-				     unsigned char *mac, int qpn, u64 reg_id)
+				     const unsigned char *mac,
+				     int qpn, u64 reg_id)
 {
 	struct mlx4_en_dev *mdev = priv->mdev;
 	struct mlx4_dev *dev = mdev->dev;
diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c
index f1b4ad9c66d2..f1716a83a4d3 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mcg.c
+++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c
@@ -1046,7 +1046,7 @@ int mlx4_flow_detach(struct mlx4_dev *dev, u64 reg_id)
 }
 EXPORT_SYMBOL_GPL(mlx4_flow_detach);
 
-int mlx4_tunnel_steer_add(struct mlx4_dev *dev, unsigned char *addr,
+int mlx4_tunnel_steer_add(struct mlx4_dev *dev, const unsigned char *addr,
 			  int port, int qpn, u16 prio, u64 *reg_id)
 {
 	int err;
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 30bb59fe970c..6646634a0b9d 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -1436,7 +1436,7 @@ int mlx4_map_sw_to_hw_steering_id(struct mlx4_dev *dev,
 				  enum mlx4_net_trans_rule_id id);
 int mlx4_hw_rule_sz(struct mlx4_dev *dev, enum mlx4_net_trans_rule_id id);
 
-int mlx4_tunnel_steer_add(struct mlx4_dev *dev, unsigned char *addr,
+int mlx4_tunnel_steer_add(struct mlx4_dev *dev, const unsigned char *addr,
 			  int port, int qpn, u16 prio, u64 *reg_id);
 
 void mlx4_sync_pkey_table(struct mlx4_dev *dev, int slave, int port,
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
  2021-10-04 19:14 ` [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() Jakub Kicinski
@ 2021-10-05  9:55   ` Tariq Toukan
  0 siblings, 0 replies; 11+ messages in thread
From: Tariq Toukan @ 2021-10-05  9:55 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, tariqt, yishaih, linux-rdma



On 10/4/2021 10:14 PM, Jakub Kicinski wrote:
> mlx4_mac_to_u64() predates and opencodes ether_addr_to_u64().
> It doesn't make the argument constant so it'll be problematic
> when dev->dev_addr becomes a const. Convert to the generic helper.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>   drivers/infiniband/hw/mlx4/main.c              |  2 +-
>   drivers/infiniband/hw/mlx4/qp.c                |  2 +-
>   drivers/net/ethernet/mellanox/mlx4/cmd.c       |  2 +-
>   drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 16 ++++++++--------
>   drivers/net/ethernet/mellanox/mlx4/fw.c        |  2 +-
>   include/linux/mlx4/driver.h                    | 12 ------------
>   6 files changed, 12 insertions(+), 24 deletions(-)
> 

Reviewed-by: Tariq Toukan <tariqt@nvidia.com>


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
  2021-10-04 19:14 ` [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() Jakub Kicinski
@ 2021-10-05  9:59   ` Tariq Toukan
  0 siblings, 0 replies; 11+ messages in thread
From: Tariq Toukan @ 2021-10-05  9:59 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, tariqt, yishaih, linux-rdma



On 10/4/2021 10:14 PM, Jakub Kicinski wrote:
> mlx4_u64_to_mac() predates the common helper but doesn't
> make the argument constant.
> 

Neither does the argument constant.

> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>   drivers/net/ethernet/mellanox/mlx4/cmd.c |  2 +-
>   include/linux/mlx4/driver.h              | 10 ----------
>   2 files changed, 1 insertion(+), 11 deletions(-)
> 

Reviewed-by: Tariq Toukan <tariqt@nvidia.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing
  2021-10-04 19:14 ` [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing Jakub Kicinski
@ 2021-10-05 10:21   ` Tariq Toukan
  0 siblings, 0 replies; 11+ messages in thread
From: Tariq Toukan @ 2021-10-05 10:21 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, tariqt, yishaih, linux-rdma



On 10/4/2021 10:14 PM, Jakub Kicinski wrote:
> mlx4_en_u64_to_mac() takes the dev->dev_addr pointer and writes
> to it byte by byte. It also clears the two bytes _after_ ETH_ALEN
> which seems unnecessary. dev->addr_len is set to ETH_ALEN just
> before the call.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>   drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 14 ++++++--------
>   1 file changed, 6 insertions(+), 8 deletions(-)
> 

Reviewed-by: Tariq Toukan <tariqt@nvidia.com>


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 4/4] mlx4: constify args for const dev_addr
  2021-10-04 19:14 ` [PATCH net-next 4/4] mlx4: constify args for const dev_addr Jakub Kicinski
@ 2021-10-05 10:27   ` Tariq Toukan
  0 siblings, 0 replies; 11+ messages in thread
From: Tariq Toukan @ 2021-10-05 10:27 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, tariqt, yishaih, linux-rdma



On 10/4/2021 10:14 PM, Jakub Kicinski wrote:
> netdev->dev_addr will become const soon. Make sure all
> functions which pass it around mark appropriate args
> as const.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>   drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 8 +++++---
>   drivers/net/ethernet/mellanox/mlx4/mcg.c       | 2 +-
>   include/linux/mlx4/device.h                    | 2 +-
>   3 files changed, 7 insertions(+), 5 deletions(-)
> 


Reviewed-by: Tariq Toukan <tariqt@nvidia.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
                   ` (3 preceding siblings ...)
  2021-10-04 19:14 ` [PATCH net-next 4/4] mlx4: constify args for const dev_addr Jakub Kicinski
@ 2021-10-05 10:28 ` Tariq Toukan
  2021-10-05 12:30 ` patchwork-bot+netdevbpf
  5 siblings, 0 replies; 11+ messages in thread
From: Tariq Toukan @ 2021-10-05 10:28 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, tariqt, yishaih, linux-rdma



On 10/4/2021 10:14 PM, Jakub Kicinski wrote:
> This patch converts mlx4 for dev->dev_addr being const. It converts
> to use of common helpers but also removes some seemingly unnecessary
> idiosyncrasies.
> 
> Please review.

Thanks for your series.
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>

> 
> Jakub Kicinski (4):
>    mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
>    mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
>    mlx4: remove custom dev_addr clearing
>    mlx4: constify args for const dev_addr
> 
>   drivers/infiniband/hw/mlx4/main.c             |  2 +-
>   drivers/infiniband/hw/mlx4/qp.c               |  2 +-
>   drivers/net/ethernet/mellanox/mlx4/cmd.c      |  4 +-
>   .../net/ethernet/mellanox/mlx4/en_netdev.c    | 37 +++++++------------
>   drivers/net/ethernet/mellanox/mlx4/fw.c       |  2 +-
>   drivers/net/ethernet/mellanox/mlx4/mcg.c      |  2 +-
>   include/linux/mlx4/device.h                   |  2 +-
>   include/linux/mlx4/driver.h                   | 22 -----------
>   8 files changed, 21 insertions(+), 52 deletions(-)
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr
  2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
                   ` (4 preceding siblings ...)
  2021-10-05 10:28 ` [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Tariq Toukan
@ 2021-10-05 12:30 ` patchwork-bot+netdevbpf
  5 siblings, 0 replies; 11+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-10-05 12:30 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev, tariqt, yishaih, linux-rdma

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Mon,  4 Oct 2021 12:14:42 -0700 you wrote:
> This patch converts mlx4 for dev->dev_addr being const. It converts
> to use of common helpers but also removes some seemingly unnecessary
> idiosyncrasies.
> 
> Please review.
> 
> Jakub Kicinski (4):
>   mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
>   mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
>   mlx4: remove custom dev_addr clearing
>   mlx4: constify args for const dev_addr
> 
> [...]

Here is the summary with links:
  - [net-next,1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64()
    https://git.kernel.org/netdev/net-next/c/ded6e16b37e4
  - [net-next,2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr()
    https://git.kernel.org/netdev/net-next/c/1bb96a07f9a8
  - [net-next,3/4] mlx4: remove custom dev_addr clearing
    https://git.kernel.org/netdev/net-next/c/e04ffd120f3c
  - [net-next,4/4] mlx4: constify args for const dev_addr
    https://git.kernel.org/netdev/net-next/c/ebb1fdb589bd

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-10-05 12:30 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-04 19:14 [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Jakub Kicinski
2021-10-04 19:14 ` [PATCH net-next 1/4] mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() Jakub Kicinski
2021-10-05  9:55   ` Tariq Toukan
2021-10-04 19:14 ` [PATCH net-next 2/4] mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() Jakub Kicinski
2021-10-05  9:59   ` Tariq Toukan
2021-10-04 19:14 ` [PATCH net-next 3/4] mlx4: remove custom dev_addr clearing Jakub Kicinski
2021-10-05 10:21   ` Tariq Toukan
2021-10-04 19:14 ` [PATCH net-next 4/4] mlx4: constify args for const dev_addr Jakub Kicinski
2021-10-05 10:27   ` Tariq Toukan
2021-10-05 10:28 ` [PATCH net-next 0/4] mlx4: prep for constant dev->dev_addr Tariq Toukan
2021-10-05 12:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).