diff mbox series

[for-next,V3,1/4] RDMA: Introduce ib_port_phys_state enum

Message ID 20190802093210.5705-2-kamalheib1@gmail.com (mailing list archive)
State Superseded
Delegated to: Doug Ledford
Headers show
Series RDMA: Cleanups and improvements | expand

Commit Message

Kamal Heib Aug. 2, 2019, 9:32 a.m. UTC
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>
---
 drivers/infiniband/core/sysfs.c              | 24 +++++++++++++-------
 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, 49 insertions(+), 41 deletions(-)

Comments

Michal Kalderon Aug. 2, 2019, 7:26 p.m. UTC | #1
> From: Kamal Heib <kamalheib1@gmail.com>
> Sent: Friday, August 2, 2019 12:32 PM
> 
> External Email
> 
> ----------------------------------------------------------------------
> 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>
> ---
>  drivers/infiniband/core/sysfs.c              | 24 +++++++++++++-------
>  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, 49 insertions(+), 41 deletions(-)
> 
> 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

Thanks, 
For qedr changes
Acked-by: Michal Kalderon <michal.kalderon@marvell.com>
Bernard Metzler Aug. 5, 2019, 3:18 p.m. UTC | #2
-----"Kamal Heib" <kamalheib1@gmail.com> wrote: -----

>To: linux-rdma@vger.kernel.org
>From: "Kamal Heib" <kamalheib1@gmail.com>
>Date: 08/02/2019 11:32AM
>Cc: "Jason Gunthorpe" <jgg@ziepe.ca>, "Doug Ledford"
><dledford@redhat.com>, "Potnuri Bharat Teja" <bharat@chelsio.com>,
>"Selvin Xavier" <selvin.xavier@broadcom.com>, "Gal Pressman"
><galpress@amazon.com>, "Leon Romanovsky" <leon@kernel.org>, "Michal
>Kalderon" <mkalderon@marvell.com>, "Christian Benvenuti"
><benve@cisco.com>, "Moni Shoua" <monis@mellanox.com>, "Bernard
>Metzler" <bmt@zurich.ibm.com>, "Shiraz Saleem"
><shiraz.saleem@intel.com>, "Andrew Boyer" <aboyer@tobark.org>, "Kamal
>Heib" <kamalheib1@gmail.com>
>Subject: [EXTERNAL] [PATCH for-next V3 1/4] RDMA: Introduce
>ib_port_phys_state enum
>
>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>
>---
> drivers/infiniband/core/sysfs.c              | 24
>+++++++++++++-------
> 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, 49 insertions(+), 41 deletions(-)
>
>diff --git a/drivers/infiniband/core/sysfs.c
>b/drivers/infiniband/core/sysfs.c
>index b477295a96c2..46722e04f6e1 100644
>--- a/drivers/infiniband/core/sysfs.c
>+++ b/drivers/infiniband/core/sysfs.c
>@@ -301,14 +301,22 @@ static ssize_t phys_state_show(struct ib_port
>*p, struct port_attribute *unused,
> 		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);
>+	case IB_PORT_PHYS_STATE_SLEEP:
>+		return sprintf(buf, "1: Sleep\n");
>+	case IB_PORT_PHYS_STATE_POLLING:
>+		return sprintf(buf, "2: Polling\n");
>+	case IB_PORT_PHYS_STATE_DISABLED:
>+		return sprintf(buf, "3: Disabled\n");
>+	case IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING:
>+		return sprintf(buf, "4: PortConfigurationTraining\n");
>+	case IB_PORT_PHYS_STATE_LINK_UP:
>+		return sprintf(buf, "5: LinkUp\n");
>+	case IB_PORT_PHYS_STATE_LINK_ERROR_RECOVERY:
>+		return sprintf(buf, "6: LinkErrorRecovery\n");
>+	case IB_PORT_PHYS_STATE_PHY_TEST:
>+		return sprintf(buf, "7: Phy Test\n");
>+	default:
>+		return sprintf(buf, "%d: <unknown>\n", attr.phys_state);
> 	}
> }
> 
>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
>
>
Thanks!

For siw changes:

Acked-by: Bernard Metzler <bmt@zurich.ibm.com>
Leon Romanovsky Aug. 6, 2019, 9:56 a.m. UTC | #3
On Fri, Aug 02, 2019 at 12:32:07PM +0300, Kamal Heib wrote:
> 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>
> ---
>  drivers/infiniband/core/sysfs.c              | 24 +++++++++++++-------
>  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, 49 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
> index b477295a96c2..46722e04f6e1 100644
> --- a/drivers/infiniband/core/sysfs.c
> +++ b/drivers/infiniband/core/sysfs.c
> @@ -301,14 +301,22 @@ static ssize_t phys_state_show(struct ib_port *p, struct port_attribute *unused,
>  		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);
> +	case IB_PORT_PHYS_STATE_SLEEP:
> +		return sprintf(buf, "1: Sleep\n");
> +	case IB_PORT_PHYS_STATE_POLLING:
> +		return sprintf(buf, "2: Polling\n");
> +	case IB_PORT_PHYS_STATE_DISABLED:
> +		return sprintf(buf, "3: Disabled\n");
> +	case IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING:
> +		return sprintf(buf, "4: PortConfigurationTraining\n");
> +	case IB_PORT_PHYS_STATE_LINK_UP:
> +		return sprintf(buf, "5: LinkUp\n");
> +	case IB_PORT_PHYS_STATE_LINK_ERROR_RECOVERY:
> +		return sprintf(buf, "6: LinkErrorRecovery\n");
> +	case IB_PORT_PHYS_STATE_PHY_TEST:
> +		return sprintf(buf, "7: Phy Test\n");
> +	default:
> +		return sprintf(buf, "%d: <unknown>\n", attr.phys_state);
>  	}

If you touch that function, the better way to write it will be like here (without OPA)
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/tree/rdma/link.c#n209

sprintf(buf, "%d: %s\n", attr.phys_state, phys_state_to_str(attr.phys_state));

Thanks
Kamal Heib Aug. 7, 2019, 10:21 a.m. UTC | #4
On Tue, Aug 06, 2019 at 12:56:38PM +0300, Leon Romanovsky wrote:
> On Fri, Aug 02, 2019 at 12:32:07PM +0300, Kamal Heib wrote:
> > 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>
> > ---
> >  drivers/infiniband/core/sysfs.c              | 24 +++++++++++++-------
> >  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, 49 insertions(+), 41 deletions(-)
> >
> > diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
> > index b477295a96c2..46722e04f6e1 100644
> > --- a/drivers/infiniband/core/sysfs.c
> > +++ b/drivers/infiniband/core/sysfs.c
> > @@ -301,14 +301,22 @@ static ssize_t phys_state_show(struct ib_port *p, struct port_attribute *unused,
> >  		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);
> > +	case IB_PORT_PHYS_STATE_SLEEP:
> > +		return sprintf(buf, "1: Sleep\n");
> > +	case IB_PORT_PHYS_STATE_POLLING:
> > +		return sprintf(buf, "2: Polling\n");
> > +	case IB_PORT_PHYS_STATE_DISABLED:
> > +		return sprintf(buf, "3: Disabled\n");
> > +	case IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING:
> > +		return sprintf(buf, "4: PortConfigurationTraining\n");
> > +	case IB_PORT_PHYS_STATE_LINK_UP:
> > +		return sprintf(buf, "5: LinkUp\n");
> > +	case IB_PORT_PHYS_STATE_LINK_ERROR_RECOVERY:
> > +		return sprintf(buf, "6: LinkErrorRecovery\n");
> > +	case IB_PORT_PHYS_STATE_PHY_TEST:
> > +		return sprintf(buf, "7: Phy Test\n");
> > +	default:
> > +		return sprintf(buf, "%d: <unknown>\n", attr.phys_state);
> >  	}
> 
> If you touch that function, the better way to write it will be like here (without OPA)
> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/tree/rdma/link.c#n209
> 
> sprintf(buf, "%d: %s\n", attr.phys_state, phys_state_to_str(attr.phys_state));
> 
> Thanks

OK, I'll send v4 soon.

Thanks,
Kamal
diff mbox series

Patch

diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index b477295a96c2..46722e04f6e1 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -301,14 +301,22 @@  static ssize_t phys_state_show(struct ib_port *p, struct port_attribute *unused,
 		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);
+	case IB_PORT_PHYS_STATE_SLEEP:
+		return sprintf(buf, "1: Sleep\n");
+	case IB_PORT_PHYS_STATE_POLLING:
+		return sprintf(buf, "2: Polling\n");
+	case IB_PORT_PHYS_STATE_DISABLED:
+		return sprintf(buf, "3: Disabled\n");
+	case IB_PORT_PHYS_STATE_PORT_CONFIGURATION_TRAINING:
+		return sprintf(buf, "4: PortConfigurationTraining\n");
+	case IB_PORT_PHYS_STATE_LINK_UP:
+		return sprintf(buf, "5: LinkUp\n");
+	case IB_PORT_PHYS_STATE_LINK_ERROR_RECOVERY:
+		return sprintf(buf, "6: LinkErrorRecovery\n");
+	case IB_PORT_PHYS_STATE_PHY_TEST:
+		return sprintf(buf, "7: Phy Test\n");
+	default:
+		return sprintf(buf, "%d: <unknown>\n", attr.phys_state);
 	}
 }
 
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,