Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
@ 2019-08-07 10:31 Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 1/4] RDMA: Introduce ib_port_phys_state enum Kamal Heib
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Kamal Heib @ 2019-08-07 10:31 UTC (permalink / raw)
  To: linux-rdma
  Cc: Jason Gunthorpe, Doug Ledford, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer, Kamal Heib

This series includes few cleanups and improvements, the first patch
introduce a new enum for describing the physical state values and use it
instead of using the magic numbers, patch 2-4 add support for a common
query port for iWARP drivers and remove the common code from the iWARP
drivers.

Changes from v3:
- Patch #1:
-- Introduce phys_state_to_str() and use it. 

Changes from v2:
- Patch #1:
-- Update mlx4 and hns to use the new ib_port_phys_state enum.
- Patch #3:
-- Use rdma_protocol_iwarp() instead of rdma_node_get_transport().

Changes from v1 :
- Patch #3:
-- Delete __ prefix.
-- Add missing dev_put(netdev);
-- Initilize gid to {}.
-- Return error code directly.

Kamal Heib (4):
  RDMA: Introduce ib_port_phys_state enum
  RDMA/cxgb3: Use ib_device_set_netdev()
  RDMA/core: Add common iWARP query port
  RDMA/{cxgb3, cxgb4, i40iw}: Remove common code

 drivers/infiniband/core/device.c             | 87 ++++++++++++++++----
 drivers/infiniband/core/sysfs.c              | 30 ++++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c     |  4 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c  | 45 +++++-----
 drivers/infiniband/hw/cxgb4/provider.c       | 24 ------
 drivers/infiniband/hw/efa/efa_verbs.c        |  2 +-
 drivers/infiniband/hw/hns/hns_roce_device.h  | 10 ---
 drivers/infiniband/hw/hns/hns_roce_main.c    |  3 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c    | 11 ---
 drivers/infiniband/hw/mlx4/main.c            |  3 +-
 drivers/infiniband/hw/mlx5/main.c            |  4 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |  4 +-
 drivers/infiniband/hw/qedr/verbs.c           |  4 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |  7 +-
 drivers/infiniband/sw/rxe/rxe.h              |  4 -
 drivers/infiniband/sw/rxe/rxe_param.h        |  2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c        |  6 +-
 drivers/infiniband/sw/siw/siw_verbs.c        |  3 +-
 include/rdma/ib_verbs.h                      | 10 +++
 19 files changed, 144 insertions(+), 119 deletions(-)

-- 
2.20.1


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

* [PATCH for-next V4 1/4] RDMA: Introduce ib_port_phys_state enum
  2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
@ 2019-08-07 10:31 ` Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 2/4] RDMA/cxgb3: Use ib_device_set_netdev() Kamal Heib
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Kamal Heib @ 2019-08-07 10:31 UTC (permalink / raw)
  To: linux-rdma
  Cc: Jason Gunthorpe, Doug Ledford, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer, Kamal Heib, Michal Kalderon

In order to improve readability, add ib_port_phys_state enum to replace
the use of magic numbers.

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
Reviewed-by: Andrew Boyer <aboyer@tobark.org>
Acked-by: Michal Kalderon <michal.kalderon@marvell.com>
Acked-by: Bernard Metzler <bmt@zurich.ibm.com>
---
 drivers/infiniband/core/sysfs.c              | 30 +++++++++++++-------
 drivers/infiniband/hw/bnxt_re/ib_verbs.c     |  4 +--
 drivers/infiniband/hw/efa/efa_verbs.c        |  2 +-
 drivers/infiniband/hw/hns/hns_roce_device.h  | 10 -------
 drivers/infiniband/hw/hns/hns_roce_main.c    |  3 +-
 drivers/infiniband/hw/mlx4/main.c            |  3 +-
 drivers/infiniband/hw/mlx5/main.c            |  4 +--
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |  4 +--
 drivers/infiniband/hw/qedr/verbs.c           |  4 +--
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |  7 +++--
 drivers/infiniband/sw/rxe/rxe.h              |  4 ---
 drivers/infiniband/sw/rxe/rxe_param.h        |  2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c        |  6 ++--
 drivers/infiniband/sw/siw/siw_verbs.c        |  3 +-
 include/rdma/ib_verbs.h                      | 10 +++++++
 15 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index b477295a96c2..a0cb33943510 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -289,6 +289,24 @@ static ssize_t rate_show(struct ib_port *p, struct port_attribute *unused,
 		       ib_width_enum_to_int(attr.active_width), speed);
 }
 
+static const char *phys_state_to_str(enum ib_port_phys_state phys_state)
+{
+	static const char * phys_state_str[] = {
+		"Unknown",
+		"Sleep",
+		"Polling",
+		"Disabled",
+		"PortConfigurationTraining",
+		"LinkUp",
+		"LinkErrorRecovery",
+		"PhyTest",
+	};
+
+	if (phys_state < ARRAY_SIZE(phys_state_str))
+		return phys_state_str[phys_state];
+	return "Unknown";
+}
+
 static ssize_t phys_state_show(struct ib_port *p, struct port_attribute *unused,
 			       char *buf)
 {
@@ -300,16 +318,8 @@ static ssize_t phys_state_show(struct ib_port *p, struct port_attribute *unused,
 	if (ret)
 		return ret;
 
-	switch (attr.phys_state) {
-	case 1:  return sprintf(buf, "1: Sleep\n");
-	case 2:  return sprintf(buf, "2: Polling\n");
-	case 3:  return sprintf(buf, "3: Disabled\n");
-	case 4:  return sprintf(buf, "4: PortConfigurationTraining\n");
-	case 5:  return sprintf(buf, "5: LinkUp\n");
-	case 6:  return sprintf(buf, "6: LinkErrorRecovery\n");
-	case 7:  return sprintf(buf, "7: Phy Test\n");
-	default: return sprintf(buf, "%d: <unknown>\n", attr.phys_state);
-	}
+	return sprintf(buf, "%d: %s\n", attr.phys_state,
+		       phys_state_to_str(attr.phys_state));
 }
 
 static ssize_t link_layer_show(struct ib_port *p, struct port_attribute *unused,
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index 098ab883733e..f9e97d0cc459 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -220,10 +220,10 @@ int bnxt_re_query_port(struct ib_device *ibdev, u8 port_num,
 
 	if (netif_running(rdev->netdev) && netif_carrier_ok(rdev->netdev)) {
 		port_attr->state = IB_PORT_ACTIVE;
-		port_attr->phys_state = 5;
+		port_attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	} else {
 		port_attr->state = IB_PORT_DOWN;
-		port_attr->phys_state = 3;
+		port_attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
 	}
 	port_attr->max_mtu = IB_MTU_4096;
 	port_attr->active_mtu = iboe_get_mtu(rdev->netdev->mtu);
diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c
index 32d3b3deabce..70851bd7f801 100644
--- a/drivers/infiniband/hw/efa/efa_verbs.c
+++ b/drivers/infiniband/hw/efa/efa_verbs.c
@@ -333,7 +333,7 @@ int efa_query_port(struct ib_device *ibdev, u8 port,
 	props->lmc = 1;
 
 	props->state = IB_PORT_ACTIVE;
-	props->phys_state = 5;
+	props->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	props->gid_tbl_len = 1;
 	props->pkey_tbl_len = 1;
 	props->active_speed = IB_SPEED_EDR;
diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
index b39497a13b61..12a2b8565771 100644
--- a/drivers/infiniband/hw/hns/hns_roce_device.h
+++ b/drivers/infiniband/hw/hns/hns_roce_device.h
@@ -989,16 +989,6 @@ struct hns_roce_hw {
 	const struct ib_device_ops *hns_roce_dev_srq_ops;
 };
 
-enum hns_phy_state {
-	HNS_ROCE_PHY_SLEEP		= 1,
-	HNS_ROCE_PHY_POLLING		= 2,
-	HNS_ROCE_PHY_DISABLED		= 3,
-	HNS_ROCE_PHY_TRAINING		= 4,
-	HNS_ROCE_PHY_LINKUP		= 5,
-	HNS_ROCE_PHY_LINKERR		= 6,
-	HNS_ROCE_PHY_TEST		= 7
-};
-
 struct hns_roce_dev {
 	struct ib_device	ib_dev;
 	struct platform_device  *pdev;
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
index 1e4ba48f5613..1b757cc924c3 100644
--- a/drivers/infiniband/hw/hns/hns_roce_main.c
+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
@@ -262,7 +262,8 @@ static int hns_roce_query_port(struct ib_device *ib_dev, u8 port_num,
 	props->state = (netif_running(net_dev) && netif_carrier_ok(net_dev)) ?
 			IB_PORT_ACTIVE : IB_PORT_DOWN;
 	props->phys_state = (props->state == IB_PORT_ACTIVE) ?
-			     HNS_ROCE_PHY_LINKUP : HNS_ROCE_PHY_DISABLED;
+			     IB_PORT_PHYS_STATE_LINK_UP :
+			     IB_PORT_PHYS_STATE_DISABLED;
 
 	spin_unlock_irqrestore(&hr_dev->iboe.lock, flags);
 
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 8790101facb7..8d2f1e38b891 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -734,7 +734,8 @@ static int ib_link_query_port(struct ib_device *ibdev, u8 port,
 
 static u8 state_to_phys_state(enum ib_port_state state)
 {
-	return state == IB_PORT_ACTIVE ? 5 : 3;
+	return state == IB_PORT_ACTIVE ?
+		IB_PORT_PHYS_STATE_LINK_UP : IB_PORT_PHYS_STATE_DISABLED;
 }
 
 static int eth_link_query_port(struct ib_device *ibdev, u8 port,
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index 4a3d700cd783..af1986b4aa7d 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -535,7 +535,7 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
 	props->max_msg_sz       = 1 << MLX5_CAP_GEN(dev->mdev, log_max_msg);
 	props->pkey_tbl_len     = 1;
 	props->state            = IB_PORT_DOWN;
-	props->phys_state       = 3;
+	props->phys_state       = IB_PORT_PHYS_STATE_DISABLED;
 
 	mlx5_query_nic_vport_qkey_viol_cntr(mdev, &qkey_viol_cntr);
 	props->qkey_viol_cntr = qkey_viol_cntr;
@@ -561,7 +561,7 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
 
 	if (netif_running(ndev) && netif_carrier_ok(ndev)) {
 		props->state      = IB_PORT_ACTIVE;
-		props->phys_state = 5;
+		props->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	}
 
 	ndev_ib_mtu = iboe_get_mtu(ndev->mtu);
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index bccc11378109..e8267e590772 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -163,10 +163,10 @@ int ocrdma_query_port(struct ib_device *ibdev,
 	netdev = dev->nic_info.netdev;
 	if (netif_running(netdev) && netif_oper_up(netdev)) {
 		port_state = IB_PORT_ACTIVE;
-		props->phys_state = 5;
+		props->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	} else {
 		port_state = IB_PORT_DOWN;
-		props->phys_state = 3;
+		props->phys_state = IB_PORT_PHYS_STATE_DISABLED;
 	}
 	props->max_mtu = IB_MTU_4096;
 	props->active_mtu = iboe_get_mtu(netdev->mtu);
diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 0c6a4bc848f5..6f3ce86019b7 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -221,10 +221,10 @@ int qedr_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *attr)
 	/* *attr being zeroed by the caller, avoid zeroing it here */
 	if (rdma_port->port_state == QED_RDMA_PORT_UP) {
 		attr->state = IB_PORT_ACTIVE;
-		attr->phys_state = 5;
+		attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	} else {
 		attr->state = IB_PORT_DOWN;
-		attr->phys_state = 3;
+		attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
 	}
 	attr->max_mtu = IB_MTU_4096;
 	attr->active_mtu = iboe_get_mtu(dev->ndev->mtu);
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
index a354c7c86547..556b8e44a51c 100644
--- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
+++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
@@ -356,13 +356,14 @@ int usnic_ib_query_port(struct ib_device *ibdev, u8 port,
 
 	if (!us_ibdev->ufdev->link_up) {
 		props->state = IB_PORT_DOWN;
-		props->phys_state = 3;
+		props->phys_state = IB_PORT_PHYS_STATE_DISABLED;
 	} else if (!us_ibdev->ufdev->inaddr) {
 		props->state = IB_PORT_INIT;
-		props->phys_state = 4;
+		props->phys_state =
+			IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING;
 	} else {
 		props->state = IB_PORT_ACTIVE;
-		props->phys_state = 5;
+		props->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	}
 
 	props->port_cap_flags = 0;
diff --git a/drivers/infiniband/sw/rxe/rxe.h b/drivers/infiniband/sw/rxe/rxe.h
index ecf6e659c0da..fb07eed9e402 100644
--- a/drivers/infiniband/sw/rxe/rxe.h
+++ b/drivers/infiniband/sw/rxe/rxe.h
@@ -65,10 +65,6 @@
  */
 #define RXE_UVERBS_ABI_VERSION		2
 
-#define RDMA_LINK_PHYS_STATE_LINK_UP	(5)
-#define RDMA_LINK_PHYS_STATE_DISABLED	(3)
-#define RDMA_LINK_PHYS_STATE_POLLING	(2)
-
 #define RXE_ROCE_V2_SPORT		(0xc000)
 
 static inline u32 rxe_crc32(struct rxe_dev *rxe,
diff --git a/drivers/infiniband/sw/rxe/rxe_param.h b/drivers/infiniband/sw/rxe/rxe_param.h
index 1abed47ca221..fe5207386700 100644
--- a/drivers/infiniband/sw/rxe/rxe_param.h
+++ b/drivers/infiniband/sw/rxe/rxe_param.h
@@ -154,7 +154,7 @@ enum rxe_port_param {
 	RXE_PORT_ACTIVE_WIDTH		= IB_WIDTH_1X,
 	RXE_PORT_ACTIVE_SPEED		= 1,
 	RXE_PORT_PKEY_TBL_LEN		= 64,
-	RXE_PORT_PHYS_STATE		= 2,
+	RXE_PORT_PHYS_STATE		= IB_PORT_PHYS_STATE_POLLING,
 	RXE_PORT_SUBNET_PREFIX		= 0xfe80000000000000ULL,
 };
 
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
index 4ebdfcf4d33e..623129f27f5a 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.c
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
@@ -69,11 +69,11 @@ static int rxe_query_port(struct ib_device *dev,
 			      &attr->active_width);
 
 	if (attr->state == IB_PORT_ACTIVE)
-		attr->phys_state = RDMA_LINK_PHYS_STATE_LINK_UP;
+		attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
 	else if (dev_get_flags(rxe->ndev) & IFF_UP)
-		attr->phys_state = RDMA_LINK_PHYS_STATE_POLLING;
+		attr->phys_state = IB_PORT_PHYS_STATE_POLLING;
 	else
-		attr->phys_state = RDMA_LINK_PHYS_STATE_DISABLED;
+		attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
 
 	mutex_unlock(&rxe->usdev_lock);
 
diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
index 32dc79d0e898..404e7ca4b30c 100644
--- a/drivers/infiniband/sw/siw/siw_verbs.c
+++ b/drivers/infiniband/sw/siw/siw_verbs.c
@@ -206,7 +206,8 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
 	attr->gid_tbl_len = 1;
 	attr->max_msg_sz = -1;
 	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
-	attr->phys_state = sdev->state == IB_PORT_ACTIVE ? 5 : 3;
+	attr->phys_state = sdev->state == IB_PORT_ACTIVE ?
+		IB_PORT_PHYS_STATE_LINK_UP : IB_PORT_PHYS_STATE_DISABLED;
 	attr->pkey_tbl_len = 1;
 	attr->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_DEVICE_MGMT_SUP;
 	attr->state = sdev->state;
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index c5f8a9f17063..27fe844cff42 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -451,6 +451,16 @@ enum ib_port_state {
 	IB_PORT_ACTIVE_DEFER	= 5
 };
 
+enum ib_port_phys_state {
+	IB_PORT_PHYS_STATE_SLEEP = 1,
+	IB_PORT_PHYS_STATE_POLLING = 2,
+	IB_PORT_PHYS_STATE_DISABLED = 3,
+	IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING = 4,
+	IB_PORT_PHYS_STATE_LINK_UP = 5,
+	IB_PORT_PHYS_STATE_LINK_ERROR_RECOVERY = 6,
+	IB_PORT_PHYS_STATE_PHY_TEST = 7,
+};
+
 enum ib_port_width {
 	IB_WIDTH_1X	= 1,
 	IB_WIDTH_2X	= 16,
-- 
2.20.1


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

* [PATCH for-next V4 2/4] RDMA/cxgb3: Use ib_device_set_netdev()
  2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 1/4] RDMA: Introduce ib_port_phys_state enum Kamal Heib
@ 2019-08-07 10:31 ` Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 3/4] RDMA/core: Add common iWARP query port Kamal Heib
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Kamal Heib @ 2019-08-07 10:31 UTC (permalink / raw)
  To: linux-rdma
  Cc: Jason Gunthorpe, Doug Ledford, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer, Kamal Heib

This change is required to associate the cxgb3 ib_dev with the
underlying net_device, so in the upcoming patch we can call
ib_device_get_netdev().

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
 drivers/infiniband/hw/cxgb3/iwch_provider.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c
index e775c1a1a450..5848e4727b2e 100644
--- a/drivers/infiniband/hw/cxgb3/iwch_provider.c
+++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c
@@ -1273,8 +1273,24 @@ static const struct ib_device_ops iwch_dev_ops = {
 	INIT_RDMA_OBJ_SIZE(ib_ucontext, iwch_ucontext, ibucontext),
 };
 
+static int set_netdevs(struct ib_device *ib_dev, struct cxio_rdev *rdev)
+{
+	int ret;
+	int i;
+
+	for (i = 0; i < rdev->port_info.nports; i++) {
+		ret = ib_device_set_netdev(ib_dev, rdev->port_info.lldevs[i],
+					   i + 1);
+		if (ret)
+			return ret;
+	}
+	return 0;
+}
+
 int iwch_register_device(struct iwch_dev *dev)
 {
+	int err;
+
 	pr_debug("%s iwch_dev %p\n", __func__, dev);
 	memset(&dev->ibdev.node_guid, 0, sizeof(dev->ibdev.node_guid));
 	memcpy(&dev->ibdev.node_guid, dev->rdev.t3cdev_p->lldev->dev_addr, 6);
@@ -1315,6 +1331,10 @@ int iwch_register_device(struct iwch_dev *dev)
 
 	rdma_set_device_sysfs_group(&dev->ibdev, &iwch_attr_group);
 	ib_set_device_ops(&dev->ibdev, &iwch_dev_ops);
+	err = set_netdevs(&dev->ibdev, &dev->rdev);
+	if (err)
+		return err;
+
 	return ib_register_device(&dev->ibdev, "cxgb3_%d");
 }
 
-- 
2.20.1


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

* [PATCH for-next V4 3/4] RDMA/core: Add common iWARP query port
  2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 1/4] RDMA: Introduce ib_port_phys_state enum Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 2/4] RDMA/cxgb3: Use ib_device_set_netdev() Kamal Heib
@ 2019-08-07 10:31 ` Kamal Heib
  2019-08-07 10:31 ` [PATCH for-next V4 4/4] RDMA/{cxgb3, cxgb4, i40iw}: Remove common code Kamal Heib
  2019-08-07 19:56 ` [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Doug Ledford
  4 siblings, 0 replies; 10+ messages in thread
From: Kamal Heib @ 2019-08-07 10:31 UTC (permalink / raw)
  To: linux-rdma
  Cc: Jason Gunthorpe, Doug Ledford, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer, Kamal Heib

Add support for a common iWARP query port function, the new function
includes a common code that is used by the iWARP devices to update the
port attributes like max_mtu, active_mtu, state, and phys_state, the
function also includes a call for the driver-specific query_port callback
to query the device-specific port attributes.

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
 drivers/infiniband/core/device.c | 87 ++++++++++++++++++++++++++------
 1 file changed, 71 insertions(+), 16 deletions(-)

diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index c3576c7d2e8f..8892862fb759 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -1939,31 +1939,64 @@ void ib_dispatch_event(struct ib_event *event)
 }
 EXPORT_SYMBOL(ib_dispatch_event);
 
-/**
- * ib_query_port - Query IB port attributes
- * @device:Device to query
- * @port_num:Port number to query
- * @port_attr:Port attributes
- *
- * ib_query_port() returns the attributes of a port through the
- * @port_attr pointer.
- */
-int ib_query_port(struct ib_device *device,
-		  u8 port_num,
-		  struct ib_port_attr *port_attr)
+static int iw_query_port(struct ib_device *device,
+			   u8 port_num,
+			   struct ib_port_attr *port_attr)
 {
-	union ib_gid gid;
+	struct in_device *inetdev;
+	struct net_device *netdev;
 	int err;
 
-	if (!rdma_is_port_valid(device, port_num))
-		return -EINVAL;
+	memset(port_attr, 0, sizeof(*port_attr));
+
+	netdev = ib_device_get_netdev(device, port_num);
+	if (!netdev)
+		return -ENODEV;
+
+	dev_put(netdev);
+
+	port_attr->max_mtu = IB_MTU_4096;
+	port_attr->active_mtu = ib_mtu_int_to_enum(netdev->mtu);
+
+	if (!netif_carrier_ok(netdev)) {
+		port_attr->state = IB_PORT_DOWN;
+		port_attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
+	} else {
+		inetdev = in_dev_get(netdev);
+
+		if (inetdev && inetdev->ifa_list) {
+			port_attr->state = IB_PORT_ACTIVE;
+			port_attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
+			in_dev_put(inetdev);
+		} else {
+			port_attr->state = IB_PORT_INIT;
+			port_attr->phys_state =
+				IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING;
+		}
+	}
+
+	err = device->ops.query_port(device, port_num, port_attr);
+	if (err)
+		return err;
+
+	return 0;
+}
+
+static int __ib_query_port(struct ib_device *device,
+			   u8 port_num,
+			   struct ib_port_attr *port_attr)
+{
+	union ib_gid gid = {};
+	int err;
 
 	memset(port_attr, 0, sizeof(*port_attr));
+
 	err = device->ops.query_port(device, port_num, port_attr);
 	if (err || port_attr->subnet_prefix)
 		return err;
 
-	if (rdma_port_get_link_layer(device, port_num) != IB_LINK_LAYER_INFINIBAND)
+	if (rdma_port_get_link_layer(device, port_num) !=
+	    IB_LINK_LAYER_INFINIBAND)
 		return 0;
 
 	err = device->ops.query_gid(device, port_num, 0, &gid);
@@ -1973,6 +2006,28 @@ int ib_query_port(struct ib_device *device,
 	port_attr->subnet_prefix = be64_to_cpu(gid.global.subnet_prefix);
 	return 0;
 }
+
+/**
+ * ib_query_port - Query IB port attributes
+ * @device:Device to query
+ * @port_num:Port number to query
+ * @port_attr:Port attributes
+ *
+ * ib_query_port() returns the attributes of a port through the
+ * @port_attr pointer.
+ */
+int ib_query_port(struct ib_device *device,
+		  u8 port_num,
+		  struct ib_port_attr *port_attr)
+{
+	if (!rdma_is_port_valid(device, port_num))
+		return -EINVAL;
+
+	if (rdma_protocol_iwarp(device, port_num))
+		return iw_query_port(device, port_num, port_attr);
+	else
+		return __ib_query_port(device, port_num, port_attr);
+}
 EXPORT_SYMBOL(ib_query_port);
 
 static void add_ndev_hash(struct ib_port_data *pdata)
-- 
2.20.1


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

* [PATCH for-next V4 4/4] RDMA/{cxgb3, cxgb4, i40iw}: Remove common code
  2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
                   ` (2 preceding siblings ...)
  2019-08-07 10:31 ` [PATCH for-next V4 3/4] RDMA/core: Add common iWARP query port Kamal Heib
@ 2019-08-07 10:31 ` Kamal Heib
  2019-08-07 19:56 ` [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Doug Ledford
  4 siblings, 0 replies; 10+ messages in thread
From: Kamal Heib @ 2019-08-07 10:31 UTC (permalink / raw)
  To: linux-rdma
  Cc: Jason Gunthorpe, Doug Ledford, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer, Kamal Heib

Now that we have a common iWARP query port function we can remove the
common code from the iWARP drivers.

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
Acked-by: Potnuri Bharat Teja <bharat@chelsio.com>
---
 drivers/infiniband/hw/cxgb3/iwch_provider.c | 25 ---------------------
 drivers/infiniband/hw/cxgb4/provider.c      | 24 --------------------
 drivers/infiniband/hw/i40iw/i40iw_verbs.c   | 11 ---------
 3 files changed, 60 deletions(-)

diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c
index 5848e4727b2e..dcf02ec02810 100644
--- a/drivers/infiniband/hw/cxgb3/iwch_provider.c
+++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c
@@ -991,33 +991,8 @@ static int iwch_query_device(struct ib_device *ibdev, struct ib_device_attr *pro
 static int iwch_query_port(struct ib_device *ibdev,
 			   u8 port, struct ib_port_attr *props)
 {
-	struct iwch_dev *dev;
-	struct net_device *netdev;
-	struct in_device *inetdev;
-
 	pr_debug("%s ibdev %p\n", __func__, ibdev);
 
-	dev = to_iwch_dev(ibdev);
-	netdev = dev->rdev.port_info.lldevs[port-1];
-
-	/* props being zeroed by the caller, avoid zeroing it here */
-	props->max_mtu = IB_MTU_4096;
-	props->active_mtu = ib_mtu_int_to_enum(netdev->mtu);
-
-	if (!netif_carrier_ok(netdev))
-		props->state = IB_PORT_DOWN;
-	else {
-		inetdev = in_dev_get(netdev);
-		if (inetdev) {
-			if (inetdev->ifa_list)
-				props->state = IB_PORT_ACTIVE;
-			else
-				props->state = IB_PORT_INIT;
-			in_dev_put(inetdev);
-		} else
-			props->state = IB_PORT_INIT;
-	}
-
 	props->port_cap_flags =
 	    IB_PORT_CM_SUP |
 	    IB_PORT_SNMP_TUNNEL_SUP |
diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c
index 5e59c5708729..d373ac0fe2cb 100644
--- a/drivers/infiniband/hw/cxgb4/provider.c
+++ b/drivers/infiniband/hw/cxgb4/provider.c
@@ -305,32 +305,8 @@ static int c4iw_query_device(struct ib_device *ibdev, struct ib_device_attr *pro
 static int c4iw_query_port(struct ib_device *ibdev, u8 port,
 			   struct ib_port_attr *props)
 {
-	struct c4iw_dev *dev;
-	struct net_device *netdev;
-	struct in_device *inetdev;
-
 	pr_debug("ibdev %p\n", ibdev);
 
-	dev = to_c4iw_dev(ibdev);
-	netdev = dev->rdev.lldi.ports[port-1];
-	/* props being zeroed by the caller, avoid zeroing it here */
-	props->max_mtu = IB_MTU_4096;
-	props->active_mtu = ib_mtu_int_to_enum(netdev->mtu);
-
-	if (!netif_carrier_ok(netdev))
-		props->state = IB_PORT_DOWN;
-	else {
-		inetdev = in_dev_get(netdev);
-		if (inetdev) {
-			if (inetdev->ifa_list)
-				props->state = IB_PORT_ACTIVE;
-			else
-				props->state = IB_PORT_INIT;
-			in_dev_put(inetdev);
-		} else
-			props->state = IB_PORT_INIT;
-	}
-
 	props->port_cap_flags =
 	    IB_PORT_CM_SUP |
 	    IB_PORT_SNMP_TUNNEL_SUP |
diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
index d169a8031375..8056930bbe2c 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c
+++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
@@ -97,18 +97,7 @@ static int i40iw_query_port(struct ib_device *ibdev,
 			    u8 port,
 			    struct ib_port_attr *props)
 {
-	struct i40iw_device *iwdev = to_iwdev(ibdev);
-	struct net_device *netdev = iwdev->netdev;
-
-	/* props being zeroed by the caller, avoid zeroing it here */
-	props->max_mtu = IB_MTU_4096;
-	props->active_mtu = ib_mtu_int_to_enum(netdev->mtu);
-
 	props->lid = 1;
-	if (netif_carrier_ok(iwdev->netdev))
-		props->state = IB_PORT_ACTIVE;
-	else
-		props->state = IB_PORT_DOWN;
 	props->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_REINIT_SUP |
 		IB_PORT_VENDOR_CLASS_SUP | IB_PORT_BOOT_MGMT_SUP;
 	props->gid_tbl_len = 1;
-- 
2.20.1


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

* Re: [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
  2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
                   ` (3 preceding siblings ...)
  2019-08-07 10:31 ` [PATCH for-next V4 4/4] RDMA/{cxgb3, cxgb4, i40iw}: Remove common code Kamal Heib
@ 2019-08-07 19:56 ` Doug Ledford
  2019-08-08  7:54   ` Leon Romanovsky
  4 siblings, 1 reply; 10+ messages in thread
From: Doug Ledford @ 2019-08-07 19:56 UTC (permalink / raw)
  To: Kamal Heib, linux-rdma
  Cc: Jason Gunthorpe, Potnuri Bharat Teja, Selvin Xavier,
	Gal Pressman, Leon Romanovsky, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer

[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]

On Wed, 2019-08-07 at 13:31 +0300, Kamal Heib wrote:
> This series includes few cleanups and improvements, the first patch
> introduce a new enum for describing the physical state values and use
> it
> instead of using the magic numbers, patch 2-4 add support for a common
> query port for iWARP drivers and remove the common code from the iWARP
> drivers.
> 
> Changes from v3:
> - Patch #1:
> -- Introduce phys_state_to_str() and use it. 
> 
> Changes from v2:
> - Patch #1:
> -- Update mlx4 and hns to use the new ib_port_phys_state enum.
> - Patch #3:
> -- Use rdma_protocol_iwarp() instead of rdma_node_get_transport().
> 
> Changes from v1 :
> - Patch #3:
> -- Delete __ prefix.
> -- Add missing dev_put(netdev);
> -- Initilize gid to {}.
> -- Return error code directly.
> 
> Kamal Heib (4):
>   RDMA: Introduce ib_port_phys_state enum
>   RDMA/cxgb3: Use ib_device_set_netdev()
>   RDMA/core: Add common iWARP query port
>   RDMA/{cxgb3, cxgb4, i40iw}: Remove common code

Thanks, series applied to for-next.

-- 
Doug Ledford <dledford@redhat.com>
    GPG KeyID: B826A3330E572FDD
    Fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
  2019-08-07 19:56 ` [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Doug Ledford
@ 2019-08-08  7:54   ` Leon Romanovsky
  2019-08-08 20:38     ` Doug Ledford
  0 siblings, 1 reply; 10+ messages in thread
From: Leon Romanovsky @ 2019-08-08  7:54 UTC (permalink / raw)
  To: Doug Ledford
  Cc: Kamal Heib, linux-rdma, Jason Gunthorpe, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer

On Wed, Aug 07, 2019 at 03:56:26PM -0400, Doug Ledford wrote:
> On Wed, 2019-08-07 at 13:31 +0300, Kamal Heib wrote:
> > This series includes few cleanups and improvements, the first patch
> > introduce a new enum for describing the physical state values and use
> > it
> > instead of using the magic numbers, patch 2-4 add support for a common
> > query port for iWARP drivers and remove the common code from the iWARP
> > drivers.
> >
> > Changes from v3:
> > - Patch #1:
> > -- Introduce phys_state_to_str() and use it.
> >
> > Changes from v2:
> > - Patch #1:
> > -- Update mlx4 and hns to use the new ib_port_phys_state enum.
> > - Patch #3:
> > -- Use rdma_protocol_iwarp() instead of rdma_node_get_transport().
> >
> > Changes from v1 :
> > - Patch #3:
> > -- Delete __ prefix.
> > -- Add missing dev_put(netdev);
> > -- Initilize gid to {}.
> > -- Return error code directly.
> >
> > Kamal Heib (4):
> >   RDMA: Introduce ib_port_phys_state enum
> >   RDMA/cxgb3: Use ib_device_set_netdev()
> >   RDMA/core: Add common iWARP query port
> >   RDMA/{cxgb3, cxgb4, i40iw}: Remove common code
>
> Thanks, series applied to for-next.

Doug,

First patch is not accurate and need to be reworked/discussed.

first, it changed "Phy Test" output to be "PhyTest" and second
"<unknown>" was changed to be "Unknown". I don't think that it is a big
deal, but who knows what will break after this change.

Thanks

>
> --
> Doug Ledford <dledford@redhat.com>
>     GPG KeyID: B826A3330E572FDD
>     Fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD



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

* Re: [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
  2019-08-08  7:54   ` Leon Romanovsky
@ 2019-08-08 20:38     ` Doug Ledford
  2019-08-12 12:18       ` Jason Gunthorpe
  0 siblings, 1 reply; 10+ messages in thread
From: Doug Ledford @ 2019-08-08 20:38 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Kamal Heib, linux-rdma, Jason Gunthorpe, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer

[-- Attachment #1: Type: text/plain, Size: 1966 bytes --]

On Thu, 2019-08-08 at 10:54 +0300, Leon Romanovsky wrote:
> On Wed, Aug 07, 2019 at 03:56:26PM -0400, Doug Ledford wrote:
> > On Wed, 2019-08-07 at 13:31 +0300, Kamal Heib wrote:
> > > This series includes few cleanups and improvements, the first
> > > patch
> > > introduce a new enum for describing the physical state values and
> > > use
> > > it
> > > instead of using the magic numbers, patch 2-4 add support for a
> > > common
> > > query port for iWARP drivers and remove the common code from the
> > > iWARP
> > > drivers.
> > > 
> > > Changes from v3:
> > > - Patch #1:
> > > -- Introduce phys_state_to_str() and use it.
> > > 
> > > Changes from v2:
> > > - Patch #1:
> > > -- Update mlx4 and hns to use the new ib_port_phys_state enum.
> > > - Patch #3:
> > > -- Use rdma_protocol_iwarp() instead of rdma_node_get_transport().
> > > 
> > > Changes from v1 :
> > > - Patch #3:
> > > -- Delete __ prefix.
> > > -- Add missing dev_put(netdev);
> > > -- Initilize gid to {}.
> > > -- Return error code directly.
> > > 
> > > Kamal Heib (4):
> > >   RDMA: Introduce ib_port_phys_state enum
> > >   RDMA/cxgb3: Use ib_device_set_netdev()
> > >   RDMA/core: Add common iWARP query port
> > >   RDMA/{cxgb3, cxgb4, i40iw}: Remove common code
> > 
> > Thanks, series applied to for-next.
> 
> Doug,
> 
> First patch is not accurate and need to be reworked/discussed.
> 
> first, it changed "Phy Test" output to be "PhyTest" and second
> "<unknown>" was changed to be "Unknown". I don't think that it is a
> big
> deal, but who knows what will break after this change.

A quick grep -r of rdma-core for "Phy Test" and "unknown" says nothing
will break, but that doesn't attest to anything else.

It is also still in my wip branch, so can be fixed directly if needed.

-- 
Doug Ledford <dledford@redhat.com>
    GPG KeyID: B826A3330E572FDD
    Fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
  2019-08-08 20:38     ` Doug Ledford
@ 2019-08-12 12:18       ` Jason Gunthorpe
  2019-08-12 14:21         ` Doug Ledford
  0 siblings, 1 reply; 10+ messages in thread
From: Jason Gunthorpe @ 2019-08-12 12:18 UTC (permalink / raw)
  To: Doug Ledford
  Cc: Leon Romanovsky, Kamal Heib, linux-rdma, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer

On Thu, Aug 08, 2019 at 04:38:19PM -0400, Doug Ledford wrote:
> On Thu, 2019-08-08 at 10:54 +0300, Leon Romanovsky wrote:
> > On Wed, Aug 07, 2019 at 03:56:26PM -0400, Doug Ledford wrote:
> > > On Wed, 2019-08-07 at 13:31 +0300, Kamal Heib wrote:
> > > > This series includes few cleanups and improvements, the first
> > > > patch
> > > > introduce a new enum for describing the physical state values and
> > > > use
> > > > it
> > > > instead of using the magic numbers, patch 2-4 add support for a
> > > > common
> > > > query port for iWARP drivers and remove the common code from the
> > > > iWARP
> > > > drivers.
> > > > 
> > > > Changes from v3:
> > > > - Patch #1:
> > > > 
> > > > Changes from v2:
> > > > - Patch #1:
> > > > - Patch #3:
> > > > 
> > > > Changes from v1 :
> > > > - Patch #3:
> > > > 
> > > > Kamal Heib (4):
> > > >   RDMA: Introduce ib_port_phys_state enum
> > > >   RDMA/cxgb3: Use ib_device_set_netdev()
> > > >   RDMA/core: Add common iWARP query port
> > > >   RDMA/{cxgb3, cxgb4, i40iw}: Remove common code
> > > 
> > > Thanks, series applied to for-next.
> > 
> > Doug,
> > 
> > First patch is not accurate and need to be reworked/discussed.
> > 
> > first, it changed "Phy Test" output to be "PhyTest" and second
> > "<unknown>" was changed to be "Unknown". I don't think that it is a
> > big
> > deal, but who knows what will break after this change.
> 
> A quick grep -r of rdma-core for "Phy Test" and "unknown" says nothing
> will break, but that doesn't attest to anything else.
> 
> It is also still in my wip branch, so can be fixed directly if needed.

There is no reason to change the text so we should fix it

Jason

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

* Re: [PATCH for-next V4 0/4] RDMA: Cleanups and improvements
  2019-08-12 12:18       ` Jason Gunthorpe
@ 2019-08-12 14:21         ` Doug Ledford
  0 siblings, 0 replies; 10+ messages in thread
From: Doug Ledford @ 2019-08-12 14:21 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Leon Romanovsky, Kamal Heib, linux-rdma, Potnuri Bharat Teja,
	Selvin Xavier, Gal Pressman, Michal Kalderon,
	Christian Benvenuti, Moni Shoua, Bernard Metzler, Shiraz Saleem,
	Andrew Boyer

[-- Attachment #1: Type: text/plain, Size: 2125 bytes --]

On Mon, 2019-08-12 at 09:18 -0300, Jason Gunthorpe wrote:
> On Thu, Aug 08, 2019 at 04:38:19PM -0400, Doug Ledford wrote:
> > On Thu, 2019-08-08 at 10:54 +0300, Leon Romanovsky wrote:
> > > On Wed, Aug 07, 2019 at 03:56:26PM -0400, Doug Ledford wrote:
> > > > On Wed, 2019-08-07 at 13:31 +0300, Kamal Heib wrote:
> > > > > This series includes few cleanups and improvements, the first
> > > > > patch
> > > > > introduce a new enum for describing the physical state values
> > > > > and
> > > > > use
> > > > > it
> > > > > instead of using the magic numbers, patch 2-4 add support for
> > > > > a
> > > > > common
> > > > > query port for iWARP drivers and remove the common code from
> > > > > the
> > > > > iWARP
> > > > > drivers.
> > > > > 
> > > > > Changes from v3:
> > > > > - Patch #1:
> > > > > 
> > > > > Changes from v2:
> > > > > - Patch #1:
> > > > > - Patch #3:
> > > > > 
> > > > > Changes from v1 :
> > > > > - Patch #3:
> > > > > 
> > > > > Kamal Heib (4):
> > > > >   RDMA: Introduce ib_port_phys_state enum
> > > > >   RDMA/cxgb3: Use ib_device_set_netdev()
> > > > >   RDMA/core: Add common iWARP query port
> > > > >   RDMA/{cxgb3, cxgb4, i40iw}: Remove common code
> > > > 
> > > > Thanks, series applied to for-next.
> > > 
> > > Doug,
> > > 
> > > First patch is not accurate and need to be reworked/discussed.
> > > 
> > > first, it changed "Phy Test" output to be "PhyTest" and second
> > > "<unknown>" was changed to be "Unknown". I don't think that it is
> > > a
> > > big
> > > deal, but who knows what will break after this change.
> > 
> > A quick grep -r of rdma-core for "Phy Test" and "unknown" says
> > nothing
> > will break, but that doesn't attest to anything else.
> > 
> > It is also still in my wip branch, so can be fixed directly if
> > needed.
> 
> There is no reason to change the text so we should fix it
> 
> Jason

Done.  Rebased to fix issue, will repush my wip branch.

-- 
Doug Ledford <dledford@redhat.com>
    GPG KeyID: B826A3330E572FDD
    Fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, back to index

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-07 10:31 [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Kamal Heib
2019-08-07 10:31 ` [PATCH for-next V4 1/4] RDMA: Introduce ib_port_phys_state enum Kamal Heib
2019-08-07 10:31 ` [PATCH for-next V4 2/4] RDMA/cxgb3: Use ib_device_set_netdev() Kamal Heib
2019-08-07 10:31 ` [PATCH for-next V4 3/4] RDMA/core: Add common iWARP query port Kamal Heib
2019-08-07 10:31 ` [PATCH for-next V4 4/4] RDMA/{cxgb3, cxgb4, i40iw}: Remove common code Kamal Heib
2019-08-07 19:56 ` [PATCH for-next V4 0/4] RDMA: Cleanups and improvements Doug Ledford
2019-08-08  7:54   ` Leon Romanovsky
2019-08-08 20:38     ` Doug Ledford
2019-08-12 12:18       ` Jason Gunthorpe
2019-08-12 14:21         ` Doug Ledford

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org linux-rdma@archiver.kernel.org
	public-inbox-index linux-rdma


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/ public-inbox