get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/92772/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 92772,
    "url": "http://patches.dpdk.org/api/patches/92772/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210504210857.3398397-13-matan@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210504210857.3398397-13-matan@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210504210857.3398397-13-matan@nvidia.com",
    "date": "2021-05-04T21:08:54",
    "name": "[v3,12/15] crypto/mlx5: add WQE set initialization",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "b81a059a9c8bca926f455bf0b714cf7a674f7851",
    "submitter": {
        "id": 1911,
        "url": "http://patches.dpdk.org/api/people/1911/?format=api",
        "name": "Matan Azrad",
        "email": "matan@nvidia.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210504210857.3398397-13-matan@nvidia.com/mbox/",
    "series": [
        {
            "id": 16812,
            "url": "http://patches.dpdk.org/api/series/16812/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=16812",
            "date": "2021-05-04T21:08:42",
            "name": "drivers: introduce mlx5 crypto PMD",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/16812/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/92772/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/92772/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id C492AA0A02;\n\tTue,  4 May 2021 23:10:53 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 751FE41156;\n\tTue,  4 May 2021 23:09:49 +0200 (CEST)",
            "from NAM10-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam10on2044.outbound.protection.outlook.com [40.107.93.44])\n by mails.dpdk.org (Postfix) with ESMTP id D9E2241151\n for <dev@dpdk.org>; Tue,  4 May 2021 23:09:46 +0200 (CEST)",
            "from MWHPR21CA0046.namprd21.prod.outlook.com (2603:10b6:300:129::32)\n by DM6PR12MB3785.namprd12.prod.outlook.com (2603:10b6:5:1cd::18) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Tue, 4 May\n 2021 21:09:44 +0000",
            "from CO1NAM11FT061.eop-nam11.prod.protection.outlook.com\n (2603:10b6:300:129:cafe::6c) by MWHPR21CA0046.outlook.office365.com\n (2603:10b6:300:129::32) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.1 via Frontend\n Transport; Tue, 4 May 2021 21:09:44 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n CO1NAM11FT061.mail.protection.outlook.com (10.13.175.200) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4087.27 via Frontend Transport; Tue, 4 May 2021 21:09:44 +0000",
            "from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 4 May\n 2021 21:09:42 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=bpIGS1tsrKD4aiGRSC2XN4GaoSPIPF42Q5e73esucQ+8PY2EPW7JRK0mGUNDq1pn2/tYYJc5JSsm3AC2EhBDGhqjX0XKtc9yJQAe73pCSYRxhgPqV33XFR9ITK88ZK3yRnUjSqAhxUSJdZ1nRW9aF3YL8EUPUR7Qm6vhrXvcBDy2Yo7Samq7b9op+O9YWAOPwlm0+fM1PQ6t2DMPIX2KwKnVublAVPzrmLhksMzwKaLThZHDUuIcY3l+6/agKsyE0/T1h4aNAEnpMGcR3zzHbr7z/T8ZIOoNC/OQdm421urFCnHpXw1gCaRmcc4ih+v48FD1tDTCpfoOA1WTeiZe+A==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=P3lIcazeX8GCrAVM6FCae180anpU80d7B+UKhCFhHgw=;\n b=cZiMe2+E/deMDoVTOkJNXnWXSbojtXXsD3vBDm8G7qMRqHl0GV9jRWuMjkiiX/RIwX4oFzktV6Iy8leDJO+uO2f/4GqpO6qfmp/jSFor337scsvzs3x0ICZivmsyWh2PJGKfW++xOkI9lWh5WNBqZNQm0i/sQQ2kVImDvNRGx3D67EdHQpQz4Qte8sXUxFSNTnWgP6wngVT05kmbYFuFwXq7JODJeSKa/4yfgt5CROQGbZyH0mSSLLBPZcmE7TQEGhFikr4K+tR744YWkdq+EfQAEFffRtmRm6kh0twOc3gdiDyoygd0ktz0d/hnXfXUCslc22+ou3jgYglblWwZNA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=P3lIcazeX8GCrAVM6FCae180anpU80d7B+UKhCFhHgw=;\n b=Layk48orfGK0jYgIt3P1uU282VbXHrg3X3TIa8MnRh00Qi5Tw77QKZQXXoDWrqOqsajX/ZTbDiSAnCPKJcayivbb/LStAAMpA4wEEK2P6z3hnF9graz/9WkYg0mdRgfpeEcu3UXf/jDN1rjK+HOqDuFFXi+P9ONcL60sk4E6WMgsGZdlbpslJVIH3aYk4xqaB/UANe4tBXK8WXminE1tuGo8m2C6augktteVtxOWYzGbhrTv5l0j2nGE6LllMqBADsV31D9e68Ju+F5rp68+2QPkDK57R8UJclddCByEHzfgtogJ9SdIRLKIl43QXET5CHRbrE7+FbAoaC3lJuKBQw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; monjalon.net; dkim=none (message not signed)\n header.d=none;monjalon.net; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;",
        "From": "Matan Azrad <matan@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<matan@nvidia.com>, <gakhil@marvell.com>, <suanmingm@nvidia.com>, \"Thomas\n Monjalon\" <thomas@monjalon.net>",
        "Date": "Wed, 5 May 2021 00:08:54 +0300",
        "Message-ID": "<20210504210857.3398397-13-matan@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210504210857.3398397-1-matan@nvidia.com>",
        "References": "<20210429154712.2820159-1-matan@nvidia.com>\n <20210504210857.3398397-1-matan@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[172.20.145.6]",
        "X-ClientProxiedBy": "HQMAIL111.nvidia.com (172.20.187.18) To\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "0086016a-43cb-4e36-52bf-08d90f40f0f5",
        "X-MS-TrafficTypeDiagnostic": "DM6PR12MB3785:",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <DM6PR12MB37852A10003E8F27B73CEFDBDF5A9@DM6PR12MB3785.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:295;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n vrC91wlvdaRKw/qQPhgET+SiKtlOEl8KiVvuWBXT7VJ2YQP5w6Ixe5Cmzzxj7yGIgCMP/WkOZjIsRybtoS88W4eEJVjTfafb7B4Ey+B2OFw7iYWOZ4pGaa6a0iQLz5z22yN4bzx15hX09Uk17F/YnXwbifuoOzXTDI/Z7XIHavhceXkgfRiFdD30qLcRUAJnG9kKHisp3GI3BU//y3R/fYCbgiX76DVXzrQ6eu88Z3qOpNUw41pgBWtk2y3wJJ6e4GXnOhZDvT4FO0AVchlFR0f2A7sf5aMBwF5oFnICax9D9Y0rbPZNn6DFfuG3DN2E1RgzL2u0TEJdEOt8MKyBi9iwKhZidYh56UX8a6dnNFVZLn+Ndf8XZ1x/JBjwZKXjNIQGqVe2X8jLYs+219Q/ptixRXHXvHwjZjPhnnCRJlohrOOTzMJw4UmtBcMjSCyMzUfl5408VCsoAoOWg/QIChbk8cs5uncVUM2G6V70UzlmZ5WdiPRRi6qLLxheOH5kKXs3X4jFyjPlLf1V7+6LxGOBa4QcrvSud0Zxd+K0qMO5Mbp7GcxMx1hXawhVCcx0XygSszF5Ab1mxE+F38lvKQuQV/hG512hJcS7Uz7OVziYh7utK40S4ZJaQPd7e8fMF8a7f/MVe7h79jM26iqqDSD6+gAxM7irMv2aXWH+gT0=",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(396003)(376002)(346002)(136003)(39860400002)(46966006)(36840700001)(83380400001)(186003)(70206006)(2906002)(16526019)(4326008)(5660300002)(36756003)(70586007)(26005)(6286002)(336012)(6916009)(86362001)(426003)(8676002)(356005)(8936002)(1076003)(82740400003)(55016002)(47076005)(36860700001)(54906003)(36906005)(82310400003)(7636003)(316002)(6666004)(7696005)(2616005)(478600001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 May 2021 21:09:44.3579 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 0086016a-43cb-4e36-52bf-08d90f40f0f5",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CO1NAM11FT061.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR12MB3785",
        "Subject": "[dpdk-dev] [PATCH v3 12/15] crypto/mlx5: add WQE set initialization",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Suanming Mou <suanmingm@nvidia.com>\n\nCurrently, HW handles the WQEs much faster than the software,\nUsing the constant WQE set layout can initialize most of the WQE\nsegments in advanced, and software only needs to configure very\nlimited segments in datapath. This accelerates the software WQE\norganize in datapath.\n\nThis commit initializes the fixed WQE set segments.\n\nSigned-off-by: Suanming Mou <suanmingm@nvidia.com>\nSigned-off-by: Matan Azrad <matan@nvidia.com>\n---\n drivers/crypto/mlx5/mlx5_crypto.c | 83 +++++++++++++++++++++++++++++--\n drivers/crypto/mlx5/mlx5_crypto.h | 10 +++-\n 2 files changed, 87 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c\nindex 6de44398bd..7bffe08bfe 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.c\n+++ b/drivers/crypto/mlx5/mlx5_crypto.c\n@@ -268,6 +268,69 @@ mlx5_crypto_qp2rts(struct mlx5_crypto_qp *qp)\n \treturn 0;\n }\n \n+static void\n+mlx5_crypto_qp_init(struct mlx5_crypto_priv *priv, struct mlx5_crypto_qp *qp)\n+{\n+\tuint32_t i;\n+\n+\tfor (i = 0 ; i < qp->entries_n; i++) {\n+\t\tstruct mlx5_wqe_cseg *cseg = RTE_PTR_ADD(qp->umem_buf, i *\n+\t\t\t\t\t\t\t priv->wqe_set_size);\n+\t\tstruct mlx5_wqe_umr_cseg *ucseg = (struct mlx5_wqe_umr_cseg *)\n+\t\t\t\t\t\t\t\t     (cseg + 1);\n+\t\tstruct mlx5_wqe_umr_bsf_seg *bsf =\n+\t\t\t(struct mlx5_wqe_umr_bsf_seg *)(RTE_PTR_ADD(cseg,\n+\t\t\t\t\t\t       priv->umr_wqe_size)) - 1;\n+\t\tstruct mlx5_wqe_rseg *rseg;\n+\n+\t\t/* Init UMR WQE. */\n+\t\tcseg->sq_ds = rte_cpu_to_be_32((qp->qp_obj->id << 8) |\n+\t\t\t\t\t (priv->umr_wqe_size / MLX5_WSEG_SIZE));\n+\t\tcseg->flags = RTE_BE32(MLX5_COMP_ONLY_FIRST_ERR <<\n+\t\t\t\t       MLX5_COMP_MODE_OFFSET);\n+\t\tcseg->misc = rte_cpu_to_be_32(qp->mkey[i]->id);\n+\t\tucseg->if_cf_toe_cq_res = RTE_BE32(1u << MLX5_UMRC_IF_OFFSET);\n+\t\tucseg->mkey_mask = RTE_BE64(1u << 0); /* Mkey length bit. */\n+\t\tucseg->ko_to_bs = rte_cpu_to_be_32\n+\t\t\t((RTE_ALIGN(priv->max_segs_num, 4u) <<\n+\t\t\t MLX5_UMRC_KO_OFFSET) | (4 << MLX5_UMRC_TO_BS_OFFSET));\n+\t\tbsf->keytag = priv->keytag;\n+\t\t/* Init RDMA WRITE WQE. */\n+\t\tcseg = RTE_PTR_ADD(cseg, priv->umr_wqe_size);\n+\t\tcseg->flags = RTE_BE32((MLX5_COMP_ALWAYS <<\n+\t\t\t\t      MLX5_COMP_MODE_OFFSET) |\n+\t\t\t\t      MLX5_WQE_CTRL_INITIATOR_SMALL_FENCE);\n+\t\trseg = (struct mlx5_wqe_rseg *)(cseg + 1);\n+\t\trseg->rkey = rte_cpu_to_be_32(qp->mkey[i]->id);\n+\t}\n+}\n+\n+static int\n+mlx5_crypto_indirect_mkeys_prepare(struct mlx5_crypto_priv *priv,\n+\t\t\t\t  struct mlx5_crypto_qp *qp)\n+{\n+\tstruct mlx5_umr_wqe *umr;\n+\tuint32_t i;\n+\tstruct mlx5_devx_mkey_attr attr = {\n+\t\t.pd = priv->pdn,\n+\t\t.umr_en = 1,\n+\t\t.crypto_en = 1,\n+\t\t.set_remote_rw = 1,\n+\t\t.klm_num = RTE_ALIGN(priv->max_segs_num, 4),\n+\t};\n+\n+\tfor (umr = (struct mlx5_umr_wqe *)qp->umem_buf, i = 0;\n+\t   i < qp->entries_n; i++, umr = RTE_PTR_ADD(umr, priv->wqe_set_size)) {\n+\t\tattr.klm_array = (struct mlx5_klm *)&umr->kseg[0];\n+\t\tqp->mkey[i] = mlx5_devx_cmd_mkey_create(priv->ctx, &attr);\n+\t\tif (!qp->mkey[i]) {\n+\t\t\tDRV_LOG(ERR, \"Failed to allocate indirect mkey.\");\n+\t\t\treturn -1;\n+\t\t}\n+\t}\n+\treturn 0;\n+}\n+\n static int\n mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \t\t\t     const struct rte_cryptodev_qp_conf *qp_conf,\n@@ -278,7 +341,7 @@ mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \tstruct mlx5_crypto_qp *qp;\n \tuint16_t log_nb_desc = rte_log2_u32(qp_conf->nb_descriptors);\n \tuint32_t umem_size = RTE_BIT32(log_nb_desc) *\n-\t\t\t      MLX5_CRYPTO_WQE_SET_SIZE +\n+\t\t\t      priv->wqe_set_size +\n \t\t\t      sizeof(*qp->db_rec) * 2;\n \tuint32_t alloc_size = sizeof(*qp);\n \tstruct mlx5_devx_cq_attr cq_attr = {\n@@ -286,7 +349,9 @@ mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \t};\n \n \talloc_size = RTE_ALIGN(alloc_size, RTE_CACHE_LINE_SIZE);\n-\talloc_size += sizeof(struct rte_crypto_op *) * RTE_BIT32(log_nb_desc);\n+\talloc_size += (sizeof(struct rte_crypto_op *) +\n+\t\t       sizeof(struct mlx5_devx_obj *)) *\n+\t\t       RTE_BIT32(log_nb_desc);\n \tqp = rte_zmalloc_socket(__func__, alloc_size, RTE_CACHE_LINE_SIZE,\n \t\t\t\tsocket_id);\n \tif (qp == NULL) {\n@@ -330,8 +395,7 @@ mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \tattr.wq_umem_id = qp->umem_obj->umem_id;\n \tattr.wq_umem_offset = 0;\n \tattr.dbr_umem_id = qp->umem_obj->umem_id;\n-\tattr.dbr_address = RTE_BIT64(log_nb_desc) *\n-\t\t\t   MLX5_CRYPTO_WQE_SET_SIZE;\n+\tattr.dbr_address = RTE_BIT64(log_nb_desc) * priv->wqe_set_size;\n \tqp->qp_obj = mlx5_devx_cmd_create_qp(priv->ctx, &attr);\n \tif (qp->qp_obj == NULL) {\n \t\tDRV_LOG(ERR, \"Failed to create QP(%u).\", rte_errno);\n@@ -340,8 +404,17 @@ mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \tqp->db_rec = RTE_PTR_ADD(qp->umem_buf, (uintptr_t)attr.dbr_address);\n \tif (mlx5_crypto_qp2rts(qp))\n \t\tgoto error;\n-\tqp->ops = (struct rte_crypto_op **)RTE_ALIGN((uintptr_t)(qp + 1),\n+\tqp->mkey = (struct mlx5_devx_obj **)RTE_ALIGN((uintptr_t)(qp + 1),\n \t\t\t\t\t\t\t   RTE_CACHE_LINE_SIZE);\n+\tqp->ops = (struct rte_crypto_op **)(qp->mkey + RTE_BIT32(log_nb_desc));\n+\tqp->entries_n = 1 << log_nb_desc;\n+\tif (mlx5_crypto_indirect_mkeys_prepare(priv, qp)) {\n+\t\tDRV_LOG(ERR, \"Cannot allocate indirect memory regions.\");\n+\t\trte_errno = ENOMEM;\n+\t\tgoto error;\n+\t}\n+\tmlx5_crypto_qp_init(priv, qp);\n+\tqp->priv = priv;\n \tdev->data->queue_pairs[qp_id] = qp;\n \treturn 0;\n error:\ndiff --git a/drivers/crypto/mlx5/mlx5_crypto.h b/drivers/crypto/mlx5/mlx5_crypto.h\nindex 81452bd700..52fcf5217f 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.h\n+++ b/drivers/crypto/mlx5/mlx5_crypto.h\n@@ -16,7 +16,6 @@\n \n #define MLX5_CRYPTO_DEK_HTABLE_SZ (1 << 11)\n #define MLX5_CRYPTO_KEY_LENGTH 80\n-#define MLX5_CRYPTO_WQE_SET_SIZE 1024\n \n struct mlx5_crypto_priv {\n \tTAILQ_ENTRY(mlx5_crypto_priv) next;\n@@ -24,6 +23,7 @@ struct mlx5_crypto_priv {\n \tstruct rte_pci_device *pci_dev;\n \tstruct rte_cryptodev *crypto_dev;\n \tvoid *uar; /* User Access Region. */\n+\tvolatile uint64_t *uar_addr;\n \tuint32_t pdn; /* Protection Domain number. */\n \tuint32_t max_segs_num; /* Maximum supported data segs. */\n \tstruct ibv_pd *pd;\n@@ -40,13 +40,21 @@ struct mlx5_crypto_priv {\n };\n \n struct mlx5_crypto_qp {\n+\tstruct mlx5_crypto_priv *priv;\n \tstruct mlx5_devx_cq cq_obj;\n \tstruct mlx5_devx_obj *qp_obj;\n+\tstruct rte_cryptodev_stats stats;\n \tstruct mlx5dv_devx_umem *umem_obj;\n \tvoid *umem_buf;\n \tvolatile uint32_t *db_rec;\n \tstruct rte_crypto_op **ops;\n+\tstruct mlx5_devx_obj **mkey; /* WQE's indirect mekys. */\n \tstruct mlx5_mr_ctrl mr_ctrl;\n+\tuint8_t *wqe;\n+\tuint16_t entries_n;\n+\tuint16_t pi;\n+\tuint16_t ci;\n+\tuint16_t db_pi;\n };\n \n struct mlx5_crypto_dek {\n",
    "prefixes": [
        "v3",
        "12/15"
    ]
}