get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 106628,
    "url": "http://patches.dpdk.org/api/patches/106628/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220127153950.812953-10-michaelba@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": "<20220127153950.812953-10-michaelba@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220127153950.812953-10-michaelba@nvidia.com",
    "date": "2022-01-27T15:39:39",
    "name": "[09/20] net/mlx5: remove Verbs query device duplication",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "2f39073a654c5b1d0bf4c80730f0f4ca9c980834",
    "submitter": {
        "id": 1949,
        "url": "http://patches.dpdk.org/api/people/1949/?format=api",
        "name": "Michael Baum",
        "email": "michaelba@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220127153950.812953-10-michaelba@nvidia.com/mbox/",
    "series": [
        {
            "id": 21402,
            "url": "http://patches.dpdk.org/api/series/21402/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=21402",
            "date": "2022-01-27T15:39:30",
            "name": "mlx5: refactor devargs management",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/21402/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/106628/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/106628/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 62051A04A6;\n\tThu, 27 Jan 2022 16:41:21 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8B914428AC;\n\tThu, 27 Jan 2022 16:40:20 +0100 (CET)",
            "from NAM12-BN8-obe.outbound.protection.outlook.com\n (mail-bn8nam12on2041.outbound.protection.outlook.com [40.107.237.41])\n by mails.dpdk.org (Postfix) with ESMTP id 1313542854\n for <dev@dpdk.org>; Thu, 27 Jan 2022 16:40:17 +0100 (CET)",
            "from BN1PR13CA0022.namprd13.prod.outlook.com (2603:10b6:408:e2::27)\n by BYAPR12MB4616.namprd12.prod.outlook.com (2603:10b6:a03:a2::28)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Thu, 27 Jan\n 2022 15:40:14 +0000",
            "from BN8NAM11FT059.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:e2:cafe::71) by BN1PR13CA0022.outlook.office365.com\n (2603:10b6:408:e2::27) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.5 via Frontend\n Transport; Thu, 27 Jan 2022 15:40:14 +0000",
            "from mail.nvidia.com (12.22.5.236) by\n BN8NAM11FT059.mail.protection.outlook.com (10.13.177.120) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 15:40:14 +0000",
            "from drhqmail202.nvidia.com (10.126.190.181) by\n DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id\n 15.0.1497.18; Thu, 27 Jan 2022 15:40:13 +0000",
            "from drhqmail202.nvidia.com (10.126.190.181) by\n drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9;\n Thu, 27 Jan 2022 07:40:13 -0800",
            "from nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.181)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9 via Frontend\n Transport; Thu, 27 Jan 2022 07:40:11 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=blyrV5EBKXhxu6Ucfg6JaKrWh3Z1hLKJaXZSfguTjnUVuqJmRAelgitcH2Say53Rqfo6pJrKc6/bJ3B4rUVZDcr9kuMH6D6ALm/BjAqoUGfAfpmrHyXXaZ17f8EYPHJIYsfkHu5InGYj62LJjPhWy3BpR9jtVyXLzGKJcmylqhKbidhVzP4ZI2UuTkPaR8+p50Jt9ExSjThu5kRKz/TgzZWBhvBvVwmplwpFqJPKxNAeNfuvAR8nzO/TfjkEuX+LVYUSWTIOInmfCF75fA2NHLcoqCNhUbX8szRjP7RzqQoCuyQEa0BQ0NnqqE+sAO2PmvUgMma4Ibv3hXR6HJaJbw==",
        "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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=eo6GQZwKV3hE8EWyLFfL/ll9Mq5VjvPbKS2GlESi9Jk=;\n b=YZnZIzAfno9GZpapVaN6SBy/illdOlCiaLfh9WovFLtOw+PUMMJpSIzGEIlEOey5x40IrDA1VOKW59onDTG0qsGGGP95xVEhQXBNjMwMRxeNXXAIvkZXSG8VaLxuke/9nuiWQutpLW4VLuIjGdqVYZRbQ/mwFtbVSlRh/HFMWXjWzMT+E13XxVBOyS26CDdn/F8YgGUbTfTLWrOJe9DgO80mGqMIG7iOfCNJY59phHWycKmvS6RyPGNPEZqmH8HNnfmEnozkR1Yy2DOU++lOjpYqgxUfKTwaHcyHRGovmhuqn6nyaC0HpXYIW1YB5O8h+LBOuCvVZS5cvi6+cZJH1A==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 12.22.5.236) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass\n (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none\n (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=eo6GQZwKV3hE8EWyLFfL/ll9Mq5VjvPbKS2GlESi9Jk=;\n b=cmO7L0C1tJG0N5Wo+Le818P+OzuWsV3Ec9Rz9VBevZWZUzThi45i2YsuhkKDIr0tcKBHIHau8D/eXo/hIVMgNAnaYbnhlhHMwaQjCIW8Bs5Mz+rdiL2q5gSs9XUbF3gD3nwq+QuiVBiGhO7ykRD0aOWoakQC9qa2w8eKbWdkrE/SpxoSMkFMMj88v9z6NzIx5iZtS4ymDKjgocU0CAHqRD8RpC6w885Zfpb5gcabOOFnpoAVtUsEaXcdmJdLnr6968F9MPEV24zk/i5g0HHgvfrYr7VmNRdoA5QIsaL/rw4nbzj+uNMVPbApoQMF/XdcSM7XyRMA2tbmKq2id4vxAA==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 12.22.5.236)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 12.22.5.236 as permitted sender) receiver=protection.outlook.com;\n client-ip=12.22.5.236; helo=mail.nvidia.com;",
        "From": "Michael Baum <michaelba@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Matan Azrad <matan@nvidia.com>, Raslan Darawsheh <rasland@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>",
        "Subject": "[PATCH 09/20] net/mlx5: remove Verbs query device duplication",
        "Date": "Thu, 27 Jan 2022 17:39:39 +0200",
        "Message-ID": "<20220127153950.812953-10-michaelba@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20220127153950.812953-1-michaelba@nvidia.com>",
        "References": "<20220127153950.812953-1-michaelba@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "a15ea657-1514-4e9d-c20c-08d9e1ab4fb8",
        "X-MS-TrafficTypeDiagnostic": "BYAPR12MB4616:EE_",
        "X-Microsoft-Antispam-PRVS": "\n <BYAPR12MB46162EA59BD9A5B918F7D185CC219@BYAPR12MB4616.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:6430;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n So7rzEs29qOWpppA3/AEbN+q0zr9AZzAel3WmbS9uRT5sH/g+9WJ0bo45QEfFiKYqlDdFG5GhDWSHVOHX8OYLoaqt2FBEtT7nfognv15++ofJj100h1plbufjWGcO4nmLw3/xrS861ocuRQwsjNr2+cpW51ZWxAXJ/2/GvTci/zXqNX/Q7bYg3UTjfWIdHNksDD5JA2ai+HI86R/sO6SNV+6k+jVUYpbOBBUQz1W06ztuRm3MjAjt2przcoWJ5h7l/Kk5WirN2wcLcjfqIsxo//AbGSPr5HYvFIV12tx1FcZgn5Xw22AWWJpjo4xNe3Ku0RyWtdNQg8Bxkv6XVniC5oz+NV/PMiFYxsNVxRbUFMnuUrsiqlJU7CgWCpbwi8qQNHaG/oZT1PJG14pM0yP8IHceOegtHECTWAvehB4KRF6SneljILt4jAppBbwIBrSjBYSwipXSd00892ZdNSIc5OWh/l85iYF5NKvJ/xRzEtKYrmVUdfftnR0tvv07FK3jPiYzEUXM/tMPV2b01zc9FsQuBM9m+Im+oFX7UfQVHTVYoFSxR6qIb0xXw6AFfmeJ3LuNgXYu9RFRIDKUE5+Cc2zHb8stQ7uIF2+EkpPvjMPyXmm5X7lUComCVf8GZze/oMaNhw5AvsnhzbOPT9berZD44/TAYt/H9iQuo9lvZB2jRD2UNO/Y7sj7Tx/qRsJ8u5tHUQDRnqNrt1jMo7obo1kil+p6tAfF1g2nNXsWGQDH+ezlwr9TRROlvg/K/fjhFzaZBR2GItz571dOrqqFu6MwLzuep1bFAChhEqmxhQ=",
        "X-Forefront-Antispam-Report": "CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE;\n SFS:(4636009)(36840700001)(46966006)(40470700004)(4326008)(186003)(70206006)(8936002)(107886003)(54906003)(6916009)(81166007)(1076003)(2616005)(336012)(2906002)(55016003)(82310400004)(356005)(5660300002)(7696005)(6666004)(47076005)(36756003)(70586007)(26005)(6286002)(8676002)(426003)(508600001)(40460700003)(83380400001)(316002)(36860700001)(86362001)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Jan 2022 15:40:14.1082 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a15ea657-1514-4e9d-c20c-08d9e1ab4fb8",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT059.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BYAPR12MB4616",
        "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"
    },
    "content": "The sharing device context structure has a field named \"device_attr\"\nwhich s filled by mlx5_os_get_dev_attr() function.\nThe spawn function calls mlx5_os_get_dev_attr() again and save it to\nlocal variable identical to \"device_attr\" field.\n\nThere is no need for this duplication, because there is a reference to\nthe sharing device context structure from spawn function.\n\nThis patch removes the local \"device_attr\" from spawn function, and uses\nthe context's field instead.\n\nSigned-off-by: Michael Baum <michaelba@nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\n---\n drivers/net/mlx5/linux/mlx5_os.c   | 63 ++++++++++++++----------------\n drivers/net/mlx5/windows/mlx5_os.c |  6 +--\n 2 files changed, 32 insertions(+), 37 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c\nindex b579be25cb..e8e842a09e 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -171,6 +171,15 @@ mlx5_os_get_dev_attr(struct mlx5_common_device *cdev,\n \tdevice_attr->tso_supported_qpts = attr_ex.tso_caps.supported_qpts;\n \n \tstruct mlx5dv_context dv_attr = { .comp_mask = 0 };\n+#ifdef HAVE_IBV_MLX5_MOD_SWP\n+\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_SWP;\n+#endif\n+#ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT\n+\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS;\n+#endif\n+#ifdef HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT\n+\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_STRIDING_RQ;\n+#endif\n \terr = mlx5_glue->dv_query_device(ctx, &dv_attr);\n \tif (err) {\n \t\trte_errno = errno;\n@@ -183,6 +192,7 @@ mlx5_os_get_dev_attr(struct mlx5_common_device *cdev,\n \tdevice_attr->sw_parsing_offloads =\n \t\tdv_attr.sw_parsing_caps.sw_parsing_offloads;\n #endif\n+#ifdef HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT\n \tdevice_attr->min_single_stride_log_num_of_bytes =\n \t\tdv_attr.striding_rq_caps.min_single_stride_log_num_of_bytes;\n \tdevice_attr->max_single_stride_log_num_of_bytes =\n@@ -193,6 +203,7 @@ mlx5_os_get_dev_attr(struct mlx5_common_device *cdev,\n \t\tdv_attr.striding_rq_caps.max_single_wqe_log_num_of_strides;\n \tdevice_attr->stride_supported_qpts =\n \t\tdv_attr.striding_rq_caps.supported_qpts;\n+#endif\n #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT\n \tdevice_attr->tunnel_offloads_caps = dv_attr.tunnel_offloads_caps;\n #endif\n@@ -878,7 +889,6 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n \tstruct mlx5_dev_ctx_shared *sh = NULL;\n \tstruct mlx5_hca_attr *hca_attr = &spawn->cdev->config.hca_attr;\n \tstruct ibv_port_attr port_attr = { .state = IBV_PORT_NOP };\n-\tstruct mlx5dv_context dv_attr = { .comp_mask = 0 };\n \tstruct rte_eth_dev *eth_dev = NULL;\n \tstruct mlx5_priv *priv = NULL;\n \tint err = 0;\n@@ -1011,23 +1021,13 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n \t\tgoto error;\n #ifdef HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR\n \tconfig->dest_tir = 1;\n-#endif\n-#ifdef HAVE_IBV_MLX5_MOD_SWP\n-\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_SWP;\n #endif\n \t/*\n \t * Multi-packet send is supported by ConnectX-4 Lx PF as well\n \t * as all ConnectX-5 devices.\n \t */\n-#ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT\n-\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS;\n-#endif\n-#ifdef HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT\n-\tdv_attr.comp_mask |= MLX5DV_CONTEXT_MASK_STRIDING_RQ;\n-#endif\n-\tmlx5_glue->dv_query_device(sh->cdev->ctx, &dv_attr);\n-\tif (dv_attr.flags & MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED) {\n-\t\tif (dv_attr.flags & MLX5DV_CONTEXT_FLAGS_ENHANCED_MPW) {\n+\tif (sh->device_attr.flags & MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED) {\n+\t\tif (sh->device_attr.flags & MLX5DV_CONTEXT_FLAGS_ENHANCED_MPW) {\n \t\t\tDRV_LOG(DEBUG, \"enhanced MPW is supported\");\n \t\t\tmps = MLX5_MPW_ENHANCED;\n \t\t} else {\n@@ -1039,44 +1039,41 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n \t\tmps = MLX5_MPW_DISABLED;\n \t}\n #ifdef HAVE_IBV_MLX5_MOD_SWP\n-\tif (dv_attr.comp_mask & MLX5DV_CONTEXT_MASK_SWP)\n-\t\tswp = dv_attr.sw_parsing_caps.sw_parsing_offloads;\n+\tif (sh->device_attr.comp_mask & MLX5DV_CONTEXT_MASK_SWP)\n+\t\tswp = sh->device_attr.sw_parsing_offloads;\n \tDRV_LOG(DEBUG, \"SWP support: %u\", swp);\n #endif\n \tconfig->swp = swp & (MLX5_SW_PARSING_CAP | MLX5_SW_PARSING_CSUM_CAP |\n \t\tMLX5_SW_PARSING_TSO_CAP);\n #ifdef HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT\n-\tif (dv_attr.comp_mask & MLX5DV_CONTEXT_MASK_STRIDING_RQ) {\n-\t\tstruct mlx5dv_striding_rq_caps mprq_caps =\n-\t\t\tdv_attr.striding_rq_caps;\n-\n+\tif (sh->device_attr.comp_mask & MLX5DV_CONTEXT_MASK_STRIDING_RQ) {\n \t\tDRV_LOG(DEBUG, \"\\tmin_single_stride_log_num_of_bytes: %d\",\n-\t\t\tmprq_caps.min_single_stride_log_num_of_bytes);\n+\t\t\tsh->device_attr.min_single_stride_log_num_of_bytes);\n \t\tDRV_LOG(DEBUG, \"\\tmax_single_stride_log_num_of_bytes: %d\",\n-\t\t\tmprq_caps.max_single_stride_log_num_of_bytes);\n+\t\t\tsh->device_attr.max_single_stride_log_num_of_bytes);\n \t\tDRV_LOG(DEBUG, \"\\tmin_single_wqe_log_num_of_strides: %d\",\n-\t\t\tmprq_caps.min_single_wqe_log_num_of_strides);\n+\t\t\tsh->device_attr.min_single_wqe_log_num_of_strides);\n \t\tDRV_LOG(DEBUG, \"\\tmax_single_wqe_log_num_of_strides: %d\",\n-\t\t\tmprq_caps.max_single_wqe_log_num_of_strides);\n+\t\t\tsh->device_attr.max_single_wqe_log_num_of_strides);\n \t\tDRV_LOG(DEBUG, \"\\tsupported_qpts: %d\",\n-\t\t\tmprq_caps.supported_qpts);\n+\t\t\tsh->device_attr.stride_supported_qpts);\n \t\tDRV_LOG(DEBUG, \"\\tmin_stride_wqe_log_size: %d\",\n \t\t\tconfig->mprq.log_min_stride_wqe_size);\n \t\tDRV_LOG(DEBUG, \"device supports Multi-Packet RQ\");\n \t\tmprq = 1;\n \t\tconfig->mprq.log_min_stride_size =\n-\t\t\tmprq_caps.min_single_stride_log_num_of_bytes;\n+\t\t\tsh->device_attr.min_single_stride_log_num_of_bytes;\n \t\tconfig->mprq.log_max_stride_size =\n-\t\t\tmprq_caps.max_single_stride_log_num_of_bytes;\n+\t\t\tsh->device_attr.max_single_stride_log_num_of_bytes;\n \t\tconfig->mprq.log_min_stride_num =\n-\t\t\tmprq_caps.min_single_wqe_log_num_of_strides;\n+\t\t\tsh->device_attr.min_single_wqe_log_num_of_strides;\n \t\tconfig->mprq.log_max_stride_num =\n-\t\t\tmprq_caps.max_single_wqe_log_num_of_strides;\n+\t\t\tsh->device_attr.max_single_wqe_log_num_of_strides;\n \t}\n #endif\n #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT\n-\tif (dv_attr.comp_mask & MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS) {\n-\t\tconfig->tunnel_en = dv_attr.tunnel_offloads_caps &\n+\tif (sh->device_attr.comp_mask & MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS) {\n+\t\tconfig->tunnel_en = sh->device_attr.tunnel_offloads_caps &\n \t\t\t     (MLX5DV_RAW_PACKET_CAP_TUNNELED_OFFLOAD_VXLAN |\n \t\t\t      MLX5DV_RAW_PACKET_CAP_TUNNELED_OFFLOAD_GRE |\n \t\t\t      MLX5DV_RAW_PACKET_CAP_TUNNELED_OFFLOAD_GENEVE);\n@@ -1098,9 +1095,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n \t\t\"tunnel offloading disabled due to old OFED/rdma-core version\");\n #endif\n #ifdef HAVE_IBV_DEVICE_MPLS_SUPPORT\n-\tmpls_en = ((dv_attr.tunnel_offloads_caps &\n+\tmpls_en = ((sh->device_attr.tunnel_offloads_caps &\n \t\t    MLX5DV_RAW_PACKET_CAP_TUNNELED_OFFLOAD_CW_MPLS_OVER_GRE) &&\n-\t\t   (dv_attr.tunnel_offloads_caps &\n+\t\t   (sh->device_attr.tunnel_offloads_caps &\n \t\t    MLX5DV_RAW_PACKET_CAP_TUNNELED_OFFLOAD_CW_MPLS_OVER_UDP));\n \tDRV_LOG(DEBUG, \"MPLS over GRE/UDP tunnel offloading is %ssupported\",\n \t\tmpls_en ? \"\" : \"not \");\n@@ -1429,7 +1426,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n #endif\n \t}\n \tif (config->cqe_comp && RTE_CACHE_LINE_SIZE == 128 &&\n-\t    !(dv_attr.flags & MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP)) {\n+\t    !(sh->device_attr.flags & MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP)) {\n \t\tDRV_LOG(WARNING, \"Rx CQE 128B compression is not supported\");\n \t\tconfig->cqe_comp = 0;\n \t}\ndiff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c\nindex 5396365ec9..31f0247be7 100644\n--- a/drivers/net/mlx5/windows/mlx5_os.c\n+++ b/drivers/net/mlx5/windows/mlx5_os.c\n@@ -318,7 +318,6 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n {\n \tconst struct mlx5_switch_info *switch_info = &spawn->info;\n \tstruct mlx5_dev_ctx_shared *sh = NULL;\n-\tstruct mlx5_dev_attr device_attr;\n \tstruct mlx5_hca_attr *hca_attr;\n \tstruct rte_eth_dev *eth_dev = NULL;\n \tstruct mlx5_priv *priv = NULL;\n@@ -376,13 +375,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,\n \t\tgoto error;\n \t}\n \tDRV_LOG(DEBUG, \"MPW isn't supported\");\n-\tmlx5_os_get_dev_attr(sh->cdev, &device_attr);\n-\tconfig->swp = device_attr.sw_parsing_offloads &\n+\tconfig->swp = sh->device_attr.sw_parsing_offloads &\n \t\t(MLX5_SW_PARSING_CAP | MLX5_SW_PARSING_CSUM_CAP |\n \t\t MLX5_SW_PARSING_TSO_CAP);\n \tconfig->ind_table_max_size =\n \t\tsh->device_attr.max_rwq_indirection_table_size;\n-\tconfig->tunnel_en = device_attr.tunnel_offloads_caps &\n+\tconfig->tunnel_en = sh->device_attr.tunnel_offloads_caps &\n \t\t(MLX5_TUNNELED_OFFLOADS_VXLAN_CAP |\n \t\t MLX5_TUNNELED_OFFLOADS_GRE_CAP |\n \t\t MLX5_TUNNELED_OFFLOADS_GENEVE_CAP);\n",
    "prefixes": [
        "09/20"
    ]
}