All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.