]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/mana_ib: request error CQEs when supported
authorKonstantin Taranov <kotaranov@microsoft.com>
Wed, 5 Feb 2025 10:35:13 +0000 (02:35 -0800)
committerLeon Romanovsky <leon@kernel.org>
Thu, 6 Feb 2025 08:51:13 +0000 (03:51 -0500)
Request an adapter with error CQEs when it is supported.

Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Link: https://patch.msgid.link/1738751713-16169-3-git-send-email-kotaranov@linux.microsoft.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mana/main.c
drivers/infiniband/hw/mana/mana_ib.h

index 3d4b8e21d63a2a07db8fc4379b22d682b6b7aa0d..e3230fe31fbc81ef1d68060d77b30df7418e2057 100644 (file)
@@ -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);
index baaeef0dc8bb40f4d0c8dbb5ff704415732f5001..ad716a90c7be6e65cbce23dcd8133d6a6cb23641 100644 (file)
@@ -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;