Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/98832/?format=api
http://patches.dpdk.org/api/patches/98832/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210914053833.7760-9-talshn@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": "<20210914053833.7760-9-talshn@nvidia.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20210914053833.7760-9-talshn@nvidia.com", "date": "2021-09-14T05:38:31", "name": "[RFC,08/10] crypto/mlx5: use OS agnostic functions for Verbs operations", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "a06a55e5bd057b2dec5342a29d8ab07e6d147072", "submitter": { "id": 1893, "url": "http://patches.dpdk.org/api/people/1893/?format=api", "name": "Tal Shnaiderman", "email": "talshn@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/20210914053833.7760-9-talshn@nvidia.com/mbox/", "series": [ { "id": 18890, "url": "http://patches.dpdk.org/api/series/18890/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=18890", "date": "2021-09-14T05:38:23", "name": "Support MLX5 crypto driver on Windows", "version": 1, "mbox": "http://patches.dpdk.org/series/18890/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/98832/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/98832/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 3A6B6A0C47;\n\tTue, 14 Sep 2021 07:40:51 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1EB5C4113C;\n\tTue, 14 Sep 2021 07:40:18 +0200 (CEST)", "from NAM10-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam10on2042.outbound.protection.outlook.com [40.107.94.42])\n by mails.dpdk.org (Postfix) with ESMTP id 859A341124\n for <dev@dpdk.org>; Tue, 14 Sep 2021 07:40:15 +0200 (CEST)", "from DM5PR15CA0067.namprd15.prod.outlook.com (2603:10b6:3:ae::29) by\n CH2PR12MB4921.namprd12.prod.outlook.com (2603:10b6:610:62::7) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.4500.17; Tue, 14 Sep 2021 05:40:13 +0000", "from DM6NAM11FT019.eop-nam11.prod.protection.outlook.com\n (2603:10b6:3:ae:cafe::76) by DM5PR15CA0067.outlook.office365.com\n (2603:10b6:3:ae::29) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend\n Transport; Tue, 14 Sep 2021 05:40:13 +0000", "from mail.nvidia.com (216.228.112.32) by\n DM6NAM11FT019.mail.protection.outlook.com (10.13.172.172) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4500.14 via Frontend Transport; Tue, 14 Sep 2021 05:40:13 +0000", "from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL109.nvidia.com\n (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 13 Sep\n 2021 22:40:13 -0700", "from nvidia.com (172.20.187.6) by DRHQMAIL107.nvidia.com\n (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 14 Sep\n 2021 05:40:10 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Zjrhf92F8rbatUx0nr1ChRh9W7wpbiU9T/EB+3K6IdERUDPxIBbH8BV+iwI5wU/n6TJwkr8ChbzBv+mye0py85naHcdSx+nlbIpp5jaAFbSa768Bj/ReNxINjQ8gg6p5M17niPTf9vjM/zPA2P7lx8yEa/Rk/cDpVZ85DboQp2e2xcBJy6AJxHW54G9nmKeLrCkNSFZiphTxMIVHUXsldRdZUpgaDcI+WCtqBa3OyKwQCz5+M2Pigq96B8pGCQ7rMyojjRYIhX1dW3IDImEMGu3aM1PhOVeTMs1IB4a1Q03sg8k9c3XWQi/Jbln+ngrhsmrawf0k9B+KpWS2qVhVrA==", "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;\n bh=BhxJblF3J7t8HSsyBDGwXTbgdMdYz29V1/pUIO/ssEg=;\n b=h46IWpGnCxRc/rf5FuP1mrrhRLumoqU94f5iyMVWY4iHyec/ynQrB8WKaz7n8zwBYrlyNO7S2DlWDoh32DeSSfaU9ByRJ6lGeNPJKU88tmH0QBWuT/RHaOLaJPfOlrNNDWZPd0lBcUT3DQ5Q+7lOAM6+lW2fpNI3XJVyTT6rrsiDRXvclyf7xq9NxwIjti3gS9TDrGU2N7x++XKQkb/6jjlNIZxsikspmA3PjFR0q+2FcHN0hXw5lMjJxrIjEVULLCC6wtzs74C9VtJ2kYFjX3JDhMtZICBCvSVZRE7QT331MkSoNXLyMEO0dc/F2//UTq/xTiQTX1HjdbTke1z0TA==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.32) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=pass (p=quarantine 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=BhxJblF3J7t8HSsyBDGwXTbgdMdYz29V1/pUIO/ssEg=;\n b=OiQbeanfxV9UDmRlP25LLDJcnfIuWnLAlhvlLUQwXhma4Zj9CFjQuNAcCxqGMIPbjvLZF2+bB0I95fP+GAAq/y3/VWbRFlTQYkFEn4jGuafwuGB9bNOwBfRua40JVUqq6Aqh7l0BIHoWIIyGx4HK834iRdov/s+/TIC7kZnDyBU1Fw1beWNGtUUVTT3Txn1G5gKW90iLjheoiIvB9v6F5KmVk5p+hUeL0IZv86dz1l36hCvfGdJOq+cjQ6UcU3Nj2XL+Vg5DouuvqNfGSLH3bqrkuePKPPC8y12mazru8JwyxViFMVjC9qcuG3wa4cO03r7yHXEr6lKEzmgten0r8g==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.32)\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.32 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.32; helo=mail.nvidia.com;", "From": "Tal Shnaiderman <talshn@nvidia.com>", "To": "<dev@dpdk.org>", "CC": "<thomas@monjalon.net>, <matan@nvidia.com>, <rasland@nvidia.com>,\n <asafp@nvidia.com>, <gakhil@marvell.com>, <declan.doherty@intel.com>,\n <viacheslavo@nvidia.com>, <eilong@nvidia.com>", "Date": "Tue, 14 Sep 2021 08:38:31 +0300", "Message-ID": "<20210914053833.7760-9-talshn@nvidia.com>", "X-Mailer": "git-send-email 2.16.1.windows.4", "In-Reply-To": "<20210914053833.7760-1-talshn@nvidia.com>", "References": "<20210914053833.7760-1-talshn@nvidia.com>", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-Originating-IP": "[172.20.187.6]", "X-ClientProxiedBy": "HQMAIL111.nvidia.com (172.20.187.18) To\n DRHQMAIL107.nvidia.com (10.27.9.16)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "abaf2a6e-676e-4c14-842a-08d977421fe7", "X-MS-TrafficTypeDiagnostic": "CH2PR12MB4921:", "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr", "X-Microsoft-Antispam-PRVS": "\n <CH2PR12MB492176F82165983A359DC004A4DA9@CH2PR12MB4921.namprd12.prod.outlook.com>", "X-MS-Oob-TLC-OOBClassifiers": "OLM:1107;", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n LoCopUSqIaqb6F4+buodZUK2ryEMgplocTKVQbr4NkctTIuCE+vIhJ0EHhNdu5GBxNnu92QkxjK/0PnAaKy7KAw+scEFcanqFqUIU5+aztaD11DlqhM91qEHmQp3UoullJh4t8JipdHDMyDnIVwriZR4QeapKP2Ien3GNPrIsB/M4xcs2wX1wIIMdhyE65bp4YX+LM1+mM/9TkSHPJFttc4YnKSWWlf7jtktRZcu5qVoLIChg74J/u9x8TttwG6DWlQIGfnA5amo5+qz8HgI7JcdRWPS1Um8BhW/qUIcsj1Ds841TgtzjsOXdIi8avkmC6rZLz18k9Y2gW4DOzZvhc3YkSnAZ2+SokGwL7SCPIeLBtYmaeJ6xl/X3P1/Jo7svasvGvLxbzOhF0UzM1yGU2dbb/RINkKXdug4vH4/dH9tUTyfjYK1Fsrp9szIPlIaNXLDjzyLNg5DqBl+wqGR40ROUvuQGvefetI68Npd4cwRQTCAxQr1QxicPYznX25n/0fOTsLpPSEfTNRaFchIpT1fhOG7OSDgUKdKGch7PQBWMsvHPgl+v9BwK2vQOGkCdMujmmgt7Vw0jp4Bsi3RqOD7rODRpTjJBzv8/ih9J1sbZcVad/qNjVhrSJUZAqx4yyvhNswTtM5kccl6yxjaqAYpBlFEwn7/t2nSS4gcTQtfR0zfWf3P9amaN3pKk6mtrpRZH0ObA4UlG0L9R06Oiw==", "X-Forefront-Antispam-Report": "CIP:216.228.112.32; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid01.nvidia.com; CAT:NONE;\n SFS:(4636009)(136003)(39860400002)(396003)(346002)(376002)(46966006)(36840700001)(47076005)(5660300002)(2616005)(4326008)(86362001)(8676002)(70586007)(2906002)(186003)(1076003)(82310400003)(16526019)(26005)(36756003)(356005)(8936002)(83380400001)(70206006)(82740400003)(316002)(54906003)(55016002)(7696005)(36860700001)(426003)(107886003)(6916009)(6286002)(336012)(6666004)(7636003)(478600001);\n DIR:OUT; SFP:1101;", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "14 Sep 2021 05:40:13.5309 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n abaf2a6e-676e-4c14-842a-08d977421fe7", "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.32];\n Helo=[mail.nvidia.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n DM6NAM11FT019.eop-nam11.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CH2PR12MB4921", "Subject": "[dpdk-dev] [RFC PATCH 08/10] crypto/mlx5: use OS agnostic functions\n for Verbs operations", "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": "use the functions mlx5_os_open_device_context, mlx5_os_get_ctx_device_name\nmlx5_os_reg_mr mlx5_os_dereg_mr instead of the ib verbs functions\nand variables to support device operations on all OSs.\n\nSigned-off-by: Tal Shnaiderman <talshn@nvidia.com>\n---\n drivers/crypto/mlx5/mlx5_crypto.c | 41 +++++++++++++++++----------------------\n drivers/crypto/mlx5/mlx5_crypto.h | 2 +-\n 2 files changed, 19 insertions(+), 24 deletions(-)", "diff": "diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c\nindex 35319d0115..3f5a6745dc 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.c\n+++ b/drivers/crypto/mlx5/mlx5_crypto.c\n@@ -796,9 +796,6 @@ mlx5_crypto_hw_global_release(struct mlx5_crypto_priv *priv)\n static int\n mlx5_crypto_pd_create(struct mlx5_crypto_priv *priv)\n {\n-#ifdef HAVE_IBV_FLOW_DV_SUPPORT\n-\tstruct mlx5dv_obj obj;\n-\tstruct mlx5dv_pd pd_info;\n \tint ret;\n \n \tpriv->pd = mlx5_os_alloc_pd(priv->ctx);\n@@ -814,11 +811,6 @@ mlx5_crypto_pd_create(struct mlx5_crypto_priv *priv)\n \t\treturn -errno;\n \t}\n \treturn 0;\n-#else\n-\t(void)priv;\n-\tDRV_LOG(ERR, \"Cannot get pdn - no DV support.\");\n-\treturn -ENOTSUP;\n-#endif /* HAVE_IBV_FLOW_DV_SUPPORT */\n }\n \n static int\n@@ -964,8 +956,8 @@ mlx5_crypto_mr_mem_event_cb(enum rte_mem_event event_type, const void *addr,\n \t\t/* Iterate all the existing mlx5 devices. */\n \t\tTAILQ_FOREACH(priv, &mlx5_crypto_priv_list, next)\n \t\t\tmlx5_free_mr_by_addr(&priv->mr_scache,\n-\t\t\t\t\t priv->ctx->device->name,\n-\t\t\t\t\t addr, len);\n+\t\t\t\t\t mlx5_os_get_ctx_device_name(\n+\t\t\t\t\t priv->ctx), addr, len);\n \t\tpthread_mutex_unlock(&priv_list_lock);\n \t\tbreak;\n \tcase RTE_MEM_EVENT_ALLOC:\n@@ -977,9 +969,9 @@ mlx5_crypto_mr_mem_event_cb(enum rte_mem_event event_type, const void *addr,\n static int\n mlx5_crypto_dev_probe(struct rte_device *dev)\n {\n-\tstruct ibv_device *ibv;\n \tstruct rte_cryptodev *crypto_dev;\n-\tstruct ibv_context *ctx;\n+\tvoid *ctx;\n+\tconst char *device_name;\n \tstruct mlx5_devx_obj *login;\n \tstruct mlx5_crypto_priv *priv;\n \tstruct mlx5_crypto_devarg_params devarg_prms = { 0 };\n@@ -999,15 +991,19 @@ mlx5_crypto_dev_probe(struct rte_device *dev)\n \t\trte_errno = ENOTSUP;\n \t\treturn -rte_errno;\n \t}\n-\tibv = mlx5_os_get_ibv_dev(dev);\n-\tif (ibv == NULL)\n-\t\treturn -rte_errno;\n-\tctx = mlx5_glue->dv_open_device(ibv);\n+\tctx = mlx5_os_open_device_context(dev);\n \tif (ctx == NULL) {\n-\t\tDRV_LOG(ERR, \"Failed to open IB device \\\"%s\\\".\", ibv->name);\n+\t\tDRV_LOG(ERR, \"Failed to open IB device.\");\n \t\trte_errno = ENODEV;\n \t\treturn -rte_errno;\n \t}\n+\tdevice_name = mlx5_os_get_ctx_device_name(ctx);\n+\tif (!device_name) {\n+\t\tDRV_LOG(ERR, \"Failed getting device name\");\n+\t\tclaim_zero(mlx5_glue->close_device(ctx));\n+\t\trte_errno = ENODEV;\n+\t\treturn -ENODEV;\n+\t}\n \tif (mlx5_devx_cmd_query_hca_attr(ctx, &attr) != 0 ||\n \t attr.crypto == 0 || attr.aes_xts == 0) {\n \t\tDRV_LOG(ERR, \"Not enough capabilities to support crypto \"\n@@ -1029,15 +1025,14 @@ mlx5_crypto_dev_probe(struct rte_device *dev)\n \t\tclaim_zero(mlx5_glue->close_device(ctx));\n \t\treturn -rte_errno;\n \t}\n-\tcrypto_dev = rte_cryptodev_pmd_create(ibv->name, dev,\n-\t\t\t\t\t&init_params);\n+\tcrypto_dev = rte_cryptodev_pmd_create(device_name, dev, &init_params);\n \tif (crypto_dev == NULL) {\n-\t\tDRV_LOG(ERR, \"Failed to create device \\\"%s\\\".\", ibv->name);\n+\t\tDRV_LOG(ERR, \"Failed to create device \\\"%s\\\".\", device_name);\n \t\tclaim_zero(mlx5_glue->close_device(ctx));\n \t\treturn -ENODEV;\n \t}\n \tDRV_LOG(INFO,\n-\t\t\"Crypto device %s was created successfully.\", ibv->name);\n+\t\t\"Crypto device %s was created successfully.\", device_name);\n \tcrypto_dev->dev_ops = &mlx5_crypto_ops;\n \tcrypto_dev->dequeue_burst = mlx5_crypto_dequeue_burst;\n \tcrypto_dev->enqueue_burst = mlx5_crypto_enqueue_burst;\n@@ -1061,8 +1056,8 @@ mlx5_crypto_dev_probe(struct rte_device *dev)\n \t\trte_errno = ENOMEM;\n \t\treturn -rte_errno;\n \t}\n-\tpriv->mr_scache.reg_mr_cb = mlx5_common_verbs_reg_mr;\n-\tpriv->mr_scache.dereg_mr_cb = mlx5_common_verbs_dereg_mr;\n+\tpriv->mr_scache.reg_mr_cb = mlx5_os_reg_mr;\n+\tpriv->mr_scache.dereg_mr_cb = mlx5_os_dereg_mr;\n \tpriv->keytag = rte_cpu_to_be_64(devarg_prms.keytag);\n \tpriv->max_segs_num = devarg_prms.max_segs_num;\n \tpriv->umr_wqe_size = sizeof(struct mlx5_wqe_umr_bsf_seg) +\ndiff --git a/drivers/crypto/mlx5/mlx5_crypto.h b/drivers/crypto/mlx5/mlx5_crypto.h\nindex 91e3f438b8..57461a8a33 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.h\n+++ b/drivers/crypto/mlx5/mlx5_crypto.h\n@@ -19,7 +19,7 @@\n \n struct mlx5_crypto_priv {\n \tTAILQ_ENTRY(mlx5_crypto_priv) next;\n-\tstruct ibv_context *ctx; /* Device context. */\n+\tvoid *ctx; /* Device context. */\n \tstruct rte_cryptodev *crypto_dev;\n \tvoid *uar; /* User Access Region. */\n \tvolatile uint64_t *uar_addr;\n", "prefixes": [ "RFC", "08/10" ] }{ "id": 98832, "url": "