linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-rc 0/5] bnxt_re Bug fixes
@ 2024-12-11  8:39 Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 1/5] RDMA/bnxt_re: Fix the check for 9060 condition Kalesh AP
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg; +Cc: linux-rdma, andrew.gospodarek, selvin.xavier, Kalesh AP

This series contains some bug fixes for bnxt_re.
Please review and apply.

Regards,
Kalesh

Damodharam Ammepalli (1):
  RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp

Hongguang Gao (1):
  RDMA/bnxt_re: Fix to export port num to ib_query_qp

Kalesh AP (2):
  RDMA/bnxt_re: Fix the check for 9060 condition
  RDMA/bnxt_re: Fix reporting hw_ver in query_device

Saravanan Vajravel (1):
  RDMA/bnxt_re: Add check for path mtu in modify_qp

 drivers/infiniband/hw/bnxt_re/ib_verbs.c  | 29 +++++++++++++----------
 drivers/infiniband/hw/bnxt_re/ib_verbs.h  |  4 ++++
 drivers/infiniband/hw/bnxt_re/qplib_fp.c  | 24 ++++++++++++++-----
 drivers/infiniband/hw/bnxt_re/qplib_fp.h  |  1 +
 drivers/infiniband/hw/bnxt_re/qplib_res.h |  5 ++++
 drivers/infiniband/hw/bnxt_re/roce_hsi.h  |  1 +
 6 files changed, 45 insertions(+), 19 deletions(-)

-- 
2.43.5


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

* [PATCH for-rc 1/5] RDMA/bnxt_re: Fix the check for 9060 condition
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
@ 2024-12-11  8:39 ` Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 2/5] RDMA/bnxt_re: Add check for path mtu in modify_qp Kalesh AP
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier, Kalesh AP,
	Kashyap Desai

The check for 9060 condition should only be made for legacy chips.

Fixes: 9152e0b722b2 ("RDMA/bnxt_re: HW workarounds for handling specific conditions")
Reviewed-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/qplib_fp.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
index 72f35070f671..093bfb748cdf 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
@@ -2669,10 +2669,12 @@ static int bnxt_qplib_cq_process_req(struct bnxt_qplib_cq *cq,
 			bnxt_qplib_add_flush_qp(qp);
 		} else {
 			/* Before we complete, do WA 9060 */
-			if (do_wa9060(qp, cq, cq_cons, sq->swq_last,
-				      cqe_sq_cons)) {
-				*lib_qp = qp;
-				goto out;
+			if (!bnxt_qplib_is_chip_gen_p5_p7(qp->cctx)) {
+				if (do_wa9060(qp, cq, cq_cons, sq->swq_last,
+					      cqe_sq_cons)) {
+					*lib_qp = qp;
+					goto out;
+				}
 			}
 			if (swq->flags & SQ_SEND_FLAGS_SIGNAL_COMP) {
 				cqe->status = CQ_REQ_STATUS_OK;
-- 
2.43.5


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

* [PATCH for-rc 2/5] RDMA/bnxt_re: Add check for path mtu in modify_qp
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 1/5] RDMA/bnxt_re: Fix the check for 9060 condition Kalesh AP
@ 2024-12-11  8:39 ` Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 3/5] RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp Kalesh AP
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier, Saravanan Vajravel,
	Kalesh AP

From: Saravanan Vajravel <saravanan.vajravel@broadcom.com>

When RDMA app configures path MTU, add a check in modify_qp verb
to make sure that it doesn't go beyond interface MTU. If this
check fails, driver will fail the modify_qp verb.

Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 26 +++++++++++++-----------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index 215074c0860b..a609e1635a3d 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -2162,18 +2162,20 @@ int bnxt_re_modify_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr,
 		}
 	}
 
-	if (qp_attr_mask & IB_QP_PATH_MTU) {
-		qp->qplib_qp.modify_flags |=
-				CMDQ_MODIFY_QP_MODIFY_MASK_PATH_MTU;
-		qp->qplib_qp.path_mtu = __from_ib_mtu(qp_attr->path_mtu);
-		qp->qplib_qp.mtu = ib_mtu_enum_to_int(qp_attr->path_mtu);
-	} else if (qp_attr->qp_state == IB_QPS_RTR) {
-		qp->qplib_qp.modify_flags |=
-			CMDQ_MODIFY_QP_MODIFY_MASK_PATH_MTU;
-		qp->qplib_qp.path_mtu =
-			__from_ib_mtu(iboe_get_mtu(rdev->netdev->mtu));
-		qp->qplib_qp.mtu =
-			ib_mtu_enum_to_int(iboe_get_mtu(rdev->netdev->mtu));
+	if (qp_attr->qp_state == IB_QPS_RTR) {
+		enum ib_mtu qpmtu;
+
+		qpmtu = iboe_get_mtu(rdev->netdev->mtu);
+		if (qp_attr_mask & IB_QP_PATH_MTU) {
+			if (ib_mtu_enum_to_int(qp_attr->path_mtu) >
+			    ib_mtu_enum_to_int(qpmtu))
+				return -EINVAL;
+			qpmtu = qp_attr->path_mtu;
+		}
+
+		qp->qplib_qp.modify_flags |= CMDQ_MODIFY_QP_MODIFY_MASK_PATH_MTU;
+		qp->qplib_qp.path_mtu = __from_ib_mtu(qpmtu);
+		qp->qplib_qp.mtu = ib_mtu_enum_to_int(qpmtu);
 	}
 
 	if (qp_attr_mask & IB_QP_TIMEOUT) {
-- 
2.43.5


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

* [PATCH for-rc 3/5] RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 1/5] RDMA/bnxt_re: Fix the check for 9060 condition Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 2/5] RDMA/bnxt_re: Add check for path mtu in modify_qp Kalesh AP
@ 2024-12-11  8:39 ` Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 4/5] RDMA/bnxt_re: Fix to export port num to ib_query_qp Kalesh AP
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier,
	Damodharam Ammepalli, Rukhsana Ansari, Kalesh AP

From: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>

Firmware expects "min_rnr_timer" as a mandatory attribute in
MODIFY_QP command during the RTR-RTS transition. This needs
to be enforced by the driver which is missing while setting
bnxt_set_mandatory_attributes that sends these flags as part
of modify_qp optimization.

Fixes: 82c32d219272 ("RDMA/bnxt_re: Add support for optimized modify QP")
Reviewed-by: Rukhsana Ansari <rukhsana.ansari@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/qplib_fp.c  | 13 +++++++++++--
 drivers/infiniband/hw/bnxt_re/qplib_res.h |  5 +++++
 drivers/infiniband/hw/bnxt_re/roce_hsi.h  |  1 +
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
index 093bfb748cdf..5169804e6f12 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
@@ -1285,7 +1285,8 @@ static void __filter_modify_flags(struct bnxt_qplib_qp *qp)
 	}
 }
 
-static void bnxt_set_mandatory_attributes(struct bnxt_qplib_qp *qp,
+static void bnxt_set_mandatory_attributes(struct bnxt_qplib_res *res,
+					  struct bnxt_qplib_qp *qp,
 					  struct cmdq_modify_qp *req)
 {
 	u32 mandatory_flags = 0;
@@ -1300,6 +1301,14 @@ static void bnxt_set_mandatory_attributes(struct bnxt_qplib_qp *qp,
 		mandatory_flags |= CMDQ_MODIFY_QP_MODIFY_MASK_PKEY;
 	}
 
+	if (_is_min_rnr_in_rtr_rts_mandatory(res->dattr->dev_cap_flags2) &&
+	    (qp->cur_qp_state == CMDQ_MODIFY_QP_NEW_STATE_RTR &&
+	     qp->state == CMDQ_MODIFY_QP_NEW_STATE_RTS)) {
+		if (qp->type == CMDQ_MODIFY_QP_QP_TYPE_RC)
+			mandatory_flags |=
+				CMDQ_MODIFY_QP_MODIFY_MASK_MIN_RNR_TIMER;
+	}
+
 	if (qp->type == CMDQ_MODIFY_QP_QP_TYPE_UD ||
 	    qp->type == CMDQ_MODIFY_QP_QP_TYPE_GSI)
 		mandatory_flags |= CMDQ_MODIFY_QP_MODIFY_MASK_QKEY;
@@ -1340,7 +1349,7 @@ int bnxt_qplib_modify_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp)
 		/* Set mandatory attributes for INIT -> RTR and RTR -> RTS transition */
 		if (_is_optimize_modify_qp_supported(res->dattr->dev_cap_flags2) &&
 		    is_optimized_state_transition(qp))
-			bnxt_set_mandatory_attributes(qp, &req);
+			bnxt_set_mandatory_attributes(res, qp, &req);
 	}
 	bmask = qp->modify_flags;
 	req.modify_mask = cpu_to_le32(qp->modify_flags);
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_res.h b/drivers/infiniband/hw/bnxt_re/qplib_res.h
index 21fb148713a6..cbfc49a1a56d 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_res.h
+++ b/drivers/infiniband/hw/bnxt_re/qplib_res.h
@@ -584,6 +584,11 @@ static inline bool _is_optimize_modify_qp_supported(u16 dev_cap_ext_flags2)
 	return dev_cap_ext_flags2 & CREQ_QUERY_FUNC_RESP_SB_OPTIMIZE_MODIFY_QP_SUPPORTED;
 }
 
+static inline bool _is_min_rnr_in_rtr_rts_mandatory(u16 dev_cap_ext_flags2)
+{
+	return !!(dev_cap_ext_flags2 & CREQ_QUERY_FUNC_RESP_SB_MIN_RNR_RTR_RTS_OPT_SUPPORTED);
+}
+
 static inline bool _is_cq_coalescing_supported(u16 dev_cap_ext_flags2)
 {
 	return dev_cap_ext_flags2 & CREQ_QUERY_FUNC_RESP_SB_CQ_COALESCING_SUPPORTED;
diff --git a/drivers/infiniband/hw/bnxt_re/roce_hsi.h b/drivers/infiniband/hw/bnxt_re/roce_hsi.h
index a98fc9c2313e..0ee60fdc18b3 100644
--- a/drivers/infiniband/hw/bnxt_re/roce_hsi.h
+++ b/drivers/infiniband/hw/bnxt_re/roce_hsi.h
@@ -2215,6 +2215,7 @@ struct creq_query_func_resp_sb {
 	#define CREQ_QUERY_FUNC_RESP_SB_REQ_RETRANSMISSION_SUPPORT_IQM_MSN_TABLE   (0x2UL << 4)
 	#define CREQ_QUERY_FUNC_RESP_SB_REQ_RETRANSMISSION_SUPPORT_LAST	\
 			CREQ_QUERY_FUNC_RESP_SB_REQ_RETRANSMISSION_SUPPORT_IQM_MSN_TABLE
+	#define CREQ_QUERY_FUNC_RESP_SB_MIN_RNR_RTR_RTS_OPT_SUPPORTED            0x1000UL
 	__le16	max_xp_qp_size;
 	__le16	create_qp_batch_size;
 	__le16	destroy_qp_batch_size;
-- 
2.43.5


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

* [PATCH for-rc 4/5] RDMA/bnxt_re: Fix to export port num to ib_query_qp
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
                   ` (2 preceding siblings ...)
  2024-12-11  8:39 ` [PATCH for-rc 3/5] RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp Kalesh AP
@ 2024-12-11  8:39 ` Kalesh AP
  2024-12-11  8:39 ` [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device Kalesh AP
  2024-12-16 13:34 ` [PATCH for-rc 0/5] bnxt_re Bug fixes Leon Romanovsky
  5 siblings, 0 replies; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier, Hongguang Gao,
	Saravanan Vajravel, Kalesh AP

From: Hongguang Gao <hongguang.gao@broadcom.com>

Current driver implementation doesn't populate the port_num
field in query_qp. Adding the code to convert internal firmware
port id to ibv defined port number and export it.

Reviewed-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Hongguang Gao <hongguang.gao@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 1 +
 drivers/infiniband/hw/bnxt_re/ib_verbs.h | 4 ++++
 drivers/infiniband/hw/bnxt_re/qplib_fp.c | 1 +
 drivers/infiniband/hw/bnxt_re/qplib_fp.h | 1 +
 4 files changed, 7 insertions(+)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index a609e1635a3d..bcb7cfc63d09 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -2325,6 +2325,7 @@ int bnxt_re_query_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr,
 	qp_attr->retry_cnt = qplib_qp->retry_cnt;
 	qp_attr->rnr_retry = qplib_qp->rnr_retry;
 	qp_attr->min_rnr_timer = qplib_qp->min_rnr_timer;
+	qp_attr->port_num = __to_ib_port_num(qplib_qp->port_id);
 	qp_attr->rq_psn = qplib_qp->rq.psn;
 	qp_attr->max_rd_atomic = qplib_qp->max_rd_atomic;
 	qp_attr->sq_psn = qplib_qp->sq.psn;
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.h b/drivers/infiniband/hw/bnxt_re/ib_verbs.h
index ac59f1d73b15..fbb16a411d6a 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.h
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.h
@@ -268,6 +268,10 @@ void bnxt_re_dealloc_ucontext(struct ib_ucontext *context);
 int bnxt_re_mmap(struct ib_ucontext *context, struct vm_area_struct *vma);
 void bnxt_re_mmap_free(struct rdma_user_mmap_entry *rdma_entry);
 
+static inline u32 __to_ib_port_num(u16 port_id)
+{
+	return (u32)port_id + 1;
+}
 
 unsigned long bnxt_re_lock_cqs(struct bnxt_re_qp *qp);
 void bnxt_re_unlock_cqs(struct bnxt_re_qp *qp, unsigned long flags);
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
index 5169804e6f12..d8a2a929bbe3 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
@@ -1532,6 +1532,7 @@ int bnxt_qplib_query_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp)
 	qp->dest_qpn = le32_to_cpu(sb->dest_qp_id);
 	memcpy(qp->smac, sb->src_mac, 6);
 	qp->vlan_id = le16_to_cpu(sb->vlan_pcp_vlan_dei_vlan_id);
+	qp->port_id = le16_to_cpu(sb->port_id);
 bail:
 	dma_free_coherent(&rcfw->pdev->dev, sbuf.size,
 			  sbuf.sb, sbuf.dma_addr);
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.h b/drivers/infiniband/hw/bnxt_re/qplib_fp.h
index 19e279871f10..0660101b5310 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.h
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.h
@@ -298,6 +298,7 @@ struct bnxt_qplib_qp {
 	u32				dest_qpn;
 	u8				smac[6];
 	u16				vlan_id;
+	u16				port_id;
 	u8				nw_type;
 	struct bnxt_qplib_ah		ah;
 
-- 
2.43.5


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

* [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
                   ` (3 preceding siblings ...)
  2024-12-11  8:39 ` [PATCH for-rc 4/5] RDMA/bnxt_re: Fix to export port num to ib_query_qp Kalesh AP
@ 2024-12-11  8:39 ` Kalesh AP
  2024-12-16 13:32   ` Leon Romanovsky
  2024-12-16 13:34 ` [PATCH for-rc 0/5] bnxt_re Bug fixes Leon Romanovsky
  5 siblings, 1 reply; 8+ messages in thread
From: Kalesh AP @ 2024-12-11  8:39 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier, Kalesh AP,
	Preethi G

Driver currently populates subsystem_device id in the
"hw_ver" field of ib_attr structure in query_device.

Updated to populate PCI revision ID.

Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Reviewed-by: Preethi G <preethi.gurusiddalingeswaraswamy@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index bcb7cfc63d09..e3d26bd6de05 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -199,7 +199,7 @@ int bnxt_re_query_device(struct ib_device *ibdev,
 
 	ib_attr->vendor_id = rdev->en_dev->pdev->vendor;
 	ib_attr->vendor_part_id = rdev->en_dev->pdev->device;
-	ib_attr->hw_ver = rdev->en_dev->pdev->subsystem_device;
+	ib_attr->hw_ver = rdev->en_dev->pdev->revision;
 	ib_attr->max_qp = dev_attr->max_qp;
 	ib_attr->max_qp_wr = dev_attr->max_qp_wqes;
 	ib_attr->device_cap_flags =
-- 
2.43.5


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

* Re: [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device
  2024-12-11  8:39 ` [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device Kalesh AP
@ 2024-12-16 13:32   ` Leon Romanovsky
  0 siblings, 0 replies; 8+ messages in thread
From: Leon Romanovsky @ 2024-12-16 13:32 UTC (permalink / raw)
  To: Kalesh AP; +Cc: jgg, linux-rdma, andrew.gospodarek, selvin.xavier, Preethi G

On Wed, Dec 11, 2024 at 02:09:31PM +0530, Kalesh AP wrote:
> Driver currently populates subsystem_device id in the
> "hw_ver" field of ib_attr structure in query_device.

I applied this patch, but it is not currently, it was the case for last
7 years and it has chances to break your customers.

Thanks

> 
> Updated to populate PCI revision ID.
> 
> Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
> Reviewed-by: Preethi G <preethi.gurusiddalingeswaraswamy@broadcom.com>
> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
> ---
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> index bcb7cfc63d09..e3d26bd6de05 100644
> --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> @@ -199,7 +199,7 @@ int bnxt_re_query_device(struct ib_device *ibdev,
>  
>  	ib_attr->vendor_id = rdev->en_dev->pdev->vendor;
>  	ib_attr->vendor_part_id = rdev->en_dev->pdev->device;
> -	ib_attr->hw_ver = rdev->en_dev->pdev->subsystem_device;
> +	ib_attr->hw_ver = rdev->en_dev->pdev->revision;
>  	ib_attr->max_qp = dev_attr->max_qp;
>  	ib_attr->max_qp_wr = dev_attr->max_qp_wqes;
>  	ib_attr->device_cap_flags =
> -- 
> 2.43.5
> 

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

* Re: [PATCH for-rc 0/5] bnxt_re Bug fixes
  2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
                   ` (4 preceding siblings ...)
  2024-12-11  8:39 ` [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device Kalesh AP
@ 2024-12-16 13:34 ` Leon Romanovsky
  5 siblings, 0 replies; 8+ messages in thread
From: Leon Romanovsky @ 2024-12-16 13:34 UTC (permalink / raw)
  To: jgg, Kalesh AP; +Cc: linux-rdma, andrew.gospodarek, selvin.xavier


On Wed, 11 Dec 2024 14:09:26 +0530, Kalesh AP wrote:
> This series contains some bug fixes for bnxt_re.
> Please review and apply.
> 
> Regards,
> Kalesh
> 
> Damodharam Ammepalli (1):
>   RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp
> 
> [...]

Applied, thanks!

[1/5] RDMA/bnxt_re: Fix the check for 9060 condition
      https://git.kernel.org/rdma/rdma/c/38651476e46e08
[2/5] RDMA/bnxt_re: Add check for path mtu in modify_qp
      https://git.kernel.org/rdma/rdma/c/798653a0ee30d3
[3/5] RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp
      https://git.kernel.org/rdma/rdma/c/da2132e683954e
[4/5] RDMA/bnxt_re: Fix to export port num to ib_query_qp
      https://git.kernel.org/rdma/rdma/c/34db8ec931b84d
[5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device
      https://git.kernel.org/rdma/rdma/c/7179fe0074a3c9

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>


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

end of thread, other threads:[~2024-12-16 13:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11  8:39 [PATCH for-rc 0/5] bnxt_re Bug fixes Kalesh AP
2024-12-11  8:39 ` [PATCH for-rc 1/5] RDMA/bnxt_re: Fix the check for 9060 condition Kalesh AP
2024-12-11  8:39 ` [PATCH for-rc 2/5] RDMA/bnxt_re: Add check for path mtu in modify_qp Kalesh AP
2024-12-11  8:39 ` [PATCH for-rc 3/5] RDMA/bnxt_re: Fix setting mandatory attributes for modify_qp Kalesh AP
2024-12-11  8:39 ` [PATCH for-rc 4/5] RDMA/bnxt_re: Fix to export port num to ib_query_qp Kalesh AP
2024-12-11  8:39 ` [PATCH for-rc 5/5] RDMA/bnxt_re: Fix reporting hw_ver in query_device Kalesh AP
2024-12-16 13:32   ` Leon Romanovsky
2024-12-16 13:34 ` [PATCH for-rc 0/5] bnxt_re Bug fixes Leon Romanovsky

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).