Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes
@ 2025-02-05 10:35 Konstantin Taranov
  2025-02-05 10:35 ` [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW Konstantin Taranov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Konstantin Taranov @ 2025-02-05 10:35 UTC (permalink / raw)
  To: kotaranov, shirazsaleem, sharmaajay, longli, jgg, leon
  Cc: linux-rdma, linux-kernel

From: Konstantin Taranov <kotaranov@microsoft.com>

This patchset enables the mana_ib driver to query capabilities and
enable creation of error cqes.

Konstantin Taranov (1):
  RDMA/mana_ib: request error CQEs when supported

Shiraz Saleem (1):
  RDMA/mana_ib: Query feature_flags bitmask from FW

 drivers/infiniband/hw/mana/main.c    |  6 +++++-
 drivers/infiniband/hw/mana/mana_ib.h | 10 ++++++++++
 include/net/mana/gdma.h              |  1 +
 3 files changed, 16 insertions(+), 1 deletion(-)

-- 
2.43.0


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

* [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW
  2025-02-05 10:35 [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Konstantin Taranov
@ 2025-02-05 10:35 ` Konstantin Taranov
  2025-02-05 10:35 ` [PATCH rdma-next 2/2] RDMA/mana_ib: request error CQEs when supported Konstantin Taranov
  2025-02-06  8:51 ` [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Leon Romanovsky
  2 siblings, 0 replies; 4+ messages in thread
From: Konstantin Taranov @ 2025-02-05 10:35 UTC (permalink / raw)
  To: kotaranov, shirazsaleem, sharmaajay, longli, jgg, leon
  Cc: linux-rdma, linux-kernel

From: Shiraz Saleem <shirazsaleem@microsoft.com>

Extend the mana_ib_gd_query_adapter_caps function to retrieve and store
the feature_flags from the firmware response.

Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
---
 drivers/infiniband/hw/mana/main.c    | 3 ++-
 drivers/infiniband/hw/mana/mana_ib.h | 2 ++
 include/net/mana/gdma.h              | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c
index ae1fb69..3d4b8e2 100644
--- a/drivers/infiniband/hw/mana/main.c
+++ b/drivers/infiniband/hw/mana/main.c
@@ -665,7 +665,7 @@ int mana_ib_gd_query_adapter_caps(struct mana_ib_dev *dev)
 
 	mana_gd_init_req_hdr(&req.hdr, MANA_IB_GET_ADAPTER_CAP, sizeof(req),
 			     sizeof(resp));
-	req.hdr.resp.msg_version = GDMA_MESSAGE_V3;
+	req.hdr.resp.msg_version = GDMA_MESSAGE_V4;
 	req.hdr.dev_id = dev->gdma_dev->dev_id;
 
 	err = mana_gd_send_request(mdev_to_gc(dev), sizeof(req),
@@ -694,6 +694,7 @@ int mana_ib_gd_query_adapter_caps(struct mana_ib_dev *dev)
 	caps->max_inline_data_size = resp.max_inline_data_size;
 	caps->max_send_sge_count = resp.max_send_sge_count;
 	caps->max_recv_sge_count = resp.max_recv_sge_count;
+	caps->feature_flags = resp.feature_flags;
 
 	return 0;
 }
diff --git a/drivers/infiniband/hw/mana/mana_ib.h b/drivers/infiniband/hw/mana/mana_ib.h
index cd771af..baaeef0 100644
--- a/drivers/infiniband/hw/mana/mana_ib.h
+++ b/drivers/infiniband/hw/mana/mana_ib.h
@@ -58,6 +58,7 @@ struct mana_ib_adapter_caps {
 	u32 max_send_sge_count;
 	u32 max_recv_sge_count;
 	u32 max_inline_data_size;
+	u64 feature_flags;
 };
 
 struct mana_ib_queue {
@@ -230,6 +231,7 @@ struct mana_ib_query_adapter_caps_resp {
 	u32 max_send_sge_count;
 	u32 max_recv_sge_count;
 	u32 max_inline_data_size;
+	u64 feature_flags;
 }; /* HW Data */
 
 struct mana_rnic_create_adapter_req {
diff --git a/include/net/mana/gdma.h b/include/net/mana/gdma.h
index a94b04e..50ffbc4 100644
--- a/include/net/mana/gdma.h
+++ b/include/net/mana/gdma.h
@@ -152,6 +152,7 @@ struct gdma_general_req {
 #define GDMA_MESSAGE_V1 1
 #define GDMA_MESSAGE_V2 2
 #define GDMA_MESSAGE_V3 3
+#define GDMA_MESSAGE_V4 4
 
 struct gdma_general_resp {
 	struct gdma_resp_hdr hdr;
-- 
2.43.0


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

* [PATCH rdma-next 2/2] RDMA/mana_ib: request error CQEs when supported
  2025-02-05 10:35 [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Konstantin Taranov
  2025-02-05 10:35 ` [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW Konstantin Taranov
@ 2025-02-05 10:35 ` Konstantin Taranov
  2025-02-06  8:51 ` [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Leon Romanovsky
  2 siblings, 0 replies; 4+ messages in thread
From: Konstantin Taranov @ 2025-02-05 10:35 UTC (permalink / raw)
  To: kotaranov, shirazsaleem, sharmaajay, longli, jgg, leon
  Cc: linux-rdma, linux-kernel

From: Konstantin Taranov <kotaranov@microsoft.com>

Request an adapter with error CQEs when it is supported.

Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
---
 drivers/infiniband/hw/mana/main.c    | 3 +++
 drivers/infiniband/hw/mana/mana_ib.h | 8 ++++++++
 2 files changed, 11 insertions(+)

diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c
index 3d4b8e2..e3230fe 100644
--- a/drivers/infiniband/hw/mana/main.c
+++ b/drivers/infiniband/hw/mana/main.c
@@ -794,6 +794,9 @@ int mana_ib_gd_create_rnic_adapter(struct mana_ib_dev *mdev)
 	req.hdr.dev_id = gc->mana_ib.dev_id;
 	req.notify_eq_id = mdev->fatal_err_eq->id;
 
+	if (mdev->adapter_caps.feature_flags & MANA_IB_FEATURE_CLIENT_ERROR_CQE_SUPPORT)
+		req.feature_flags |= MANA_IB_FEATURE_CLIENT_ERROR_CQE_REQUEST;
+
 	err = mana_gd_send_request(gc, sizeof(req), &req, sizeof(resp), &resp);
 	if (err) {
 		ibdev_err(&mdev->ib_dev, "Failed to create RNIC adapter err %d", err);
diff --git a/drivers/infiniband/hw/mana/mana_ib.h b/drivers/infiniband/hw/mana/mana_ib.h
index baaeef0..ad716a9 100644
--- a/drivers/infiniband/hw/mana/mana_ib.h
+++ b/drivers/infiniband/hw/mana/mana_ib.h
@@ -211,6 +211,10 @@ struct mana_ib_query_adapter_caps_req {
 	struct gdma_req_hdr hdr;
 }; /*HW Data */
 
+enum mana_ib_adapter_features {
+	MANA_IB_FEATURE_CLIENT_ERROR_CQE_SUPPORT = BIT(4),
+};
+
 struct mana_ib_query_adapter_caps_resp {
 	struct gdma_resp_hdr hdr;
 	u32 max_sq_id;
@@ -234,6 +238,10 @@ struct mana_ib_query_adapter_caps_resp {
 	u64 feature_flags;
 }; /* HW Data */
 
+enum mana_ib_adapter_features_request {
+	MANA_IB_FEATURE_CLIENT_ERROR_CQE_REQUEST = BIT(1),
+}; /*HW Data */
+
 struct mana_rnic_create_adapter_req {
 	struct gdma_req_hdr hdr;
 	u32 notify_eq_id;
-- 
2.43.0


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

* Re: [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes
  2025-02-05 10:35 [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Konstantin Taranov
  2025-02-05 10:35 ` [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW Konstantin Taranov
  2025-02-05 10:35 ` [PATCH rdma-next 2/2] RDMA/mana_ib: request error CQEs when supported Konstantin Taranov
@ 2025-02-06  8:51 ` Leon Romanovsky
  2 siblings, 0 replies; 4+ messages in thread
From: Leon Romanovsky @ 2025-02-06  8:51 UTC (permalink / raw)
  To: kotaranov, shirazsaleem, sharmaajay, longli, jgg,
	Konstantin Taranov
  Cc: linux-rdma, linux-kernel


On Wed, 05 Feb 2025 02:35:11 -0800, Konstantin Taranov wrote:
> From: Konstantin Taranov <kotaranov@microsoft.com>
> 
> This patchset enables the mana_ib driver to query capabilities and
> enable creation of error cqes.
> 
> Konstantin Taranov (1):
>   RDMA/mana_ib: request error CQEs when supported
> 
> [...]

Applied, thanks!

[1/2] RDMA/mana_ib: Query feature_flags bitmask from FW
      https://git.kernel.org/rdma/rdma/c/bad4480934c822
[2/2] RDMA/mana_ib: request error CQEs when supported
      https://git.kernel.org/rdma/rdma/c/cd3c5ddf823016

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


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

end of thread, other threads:[~2025-02-06  8:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-05 10:35 [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Konstantin Taranov
2025-02-05 10:35 ` [PATCH rdma-next 1/2] RDMA/mana_ib: Query feature_flags bitmask from FW Konstantin Taranov
2025-02-05 10:35 ` [PATCH rdma-next 2/2] RDMA/mana_ib: request error CQEs when supported Konstantin Taranov
2025-02-06  8:51 ` [PATCH rdma-next 0/2] RDMA/mana_ib: enable error cqes Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox