get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 133212,
    "url": "https://patches.dpdk.org/api/patches/133212/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231024022849.3092506-8-chaoyong.he@corigine.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20231024022849.3092506-8-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231024022849.3092506-8-chaoyong.he@corigine.com",
    "date": "2023-10-24T02:28:31",
    "name": "[v2,07/25] net/nfp: extract the ctrl BAR data field",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "abcb30d6fdd8261091ec56d913f1a3dbc7fc74f2",
    "submitter": {
        "id": 2554,
        "url": "https://patches.dpdk.org/api/people/2554/?format=api",
        "name": "Chaoyong He",
        "email": "chaoyong.he@corigine.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20231024022849.3092506-8-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29961,
            "url": "https://patches.dpdk.org/api/series/29961/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29961",
            "date": "2023-10-24T02:28:24",
            "name": "add the NFP vDPA PMD",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/29961/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/133212/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/133212/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 A1DD8431EB;\n\tTue, 24 Oct 2023 04:30:37 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CFA0240EE5;\n\tTue, 24 Oct 2023 04:29:55 +0200 (CEST)",
            "from NAM10-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam10on2091.outbound.protection.outlook.com [40.107.93.91])\n by mails.dpdk.org (Postfix) with ESMTP id 49AB44069F\n for <dev@dpdk.org>; Tue, 24 Oct 2023 04:29:52 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by BLAPR13MB4691.namprd13.prod.outlook.com (2603:10b6:208:306::19)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Tue, 24 Oct\n 2023 02:29:50 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::142e:d47c:7320:8a9d]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::142e:d47c:7320:8a9d%4]) with mapi id 15.20.6907.021; Tue, 24 Oct 2023\n 02:29:50 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=QXwjPTS9PjM2pTGJHr13brZVHEmWD8GSw/ttUZ3bhpKtT5H8vykO9m07F+y3LdG//ZzPpWVNb0T3eUe5V0A7Ob/aYOEBOIYCEMUDjJAk/8BkRN+8yhs9VElHNyiQxA3UKM6fk6/OXD0lWb01RtyHAUF2GyKTo+GqqtmYwglIegZYnGJPo3oj8EJt2hefDY2YaooN4pcKLUxzFhaL70ncRZvWdTm2Tzs4+kp/g7rR9mepxv0ydk7QQUl6vtCVd5rOn165SXoaw/p/nXgOopshPaXP/p4W/PAtuQ/WqlWGsvS9kbnfZCzDq4UgoWGS7ORnwARt5b03dFm7cJNbKKn6Ig==",
        "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=8/kI7NU5TxyorUR8LL4wOEHqLzBegBRM7sjKPDePIOk=;\n b=CzfoqNOZQNdA3T7dvHM2HwA7Xgo3dkAC+SCwUHGDsgZJPScwCyQiu3mIc5bL+4fhU2tL9QavtYDXoSjVSC+uqFcBDJwc3xLAlO+YXOWeevpyhypk6aOVvFZtqcTIkQSovdAwKXXbLfigHP381BE7SB0MpeYBs1FiqgG18eYRUs0IYKeaqMb9P+cGqAiyf8vCTs74w+x+CeRQUFwYV3cX3b6l0e1xQ6T/95CFiGq3NGJ/ewSoN5J444tKVHRsS89Q1S3huRy37fTO34x12iB7kQTd+e7+whbfIrRfxD1RsXXo3+3Gc5cbR0T10VBogWa3UYSPDq0mAaqTbfYCgx3FIA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;\n dkim=pass header.d=corigine.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=8/kI7NU5TxyorUR8LL4wOEHqLzBegBRM7sjKPDePIOk=;\n b=NdPWlxg2LJBiOCS9NHifemzzIU9HzYbaizQt34h0TKJRVmdhIydHr6KguYpUij1Sl0E+FW915/U95O7Gw+1ltljjQVI41QsRigEI0RRcLcMuVI3BV4PKZW7dwDuFFJ1vDT2vpmA+T9NAsFRveH7arkU/q8CWuZrUDYLESA0MQCQ=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=corigine.com;",
        "From": "Chaoyong He <chaoyong.he@corigine.com>",
        "To": "dev@dpdk.org",
        "Cc": "oss-drivers@corigine.com, Chaoyong He <chaoyong.he@corigine.com>,\n Long Wu <long.wu@corigine.com>, Peng Zhang <peng.zhang@corigine.com>",
        "Subject": "[PATCH v2 07/25] net/nfp: extract the ctrl BAR data field",
        "Date": "Tue, 24 Oct 2023 10:28:31 +0800",
        "Message-Id": "<20231024022849.3092506-8-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20231024022849.3092506-1-chaoyong.he@corigine.com>",
        "References": "<20231017054545.1692509-1-chaoyong.he@corigine.com>\n <20231024022849.3092506-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BYAPR04CA0015.namprd04.prod.outlook.com\n (2603:10b6:a03:40::28) To SJ0PR13MB5545.namprd13.prod.outlook.com\n (2603:10b6:a03:424::5)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "SJ0PR13MB5545:EE_|BLAPR13MB4691:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "5f29df0f-7f33-4694-5a0c-08dbd4391905",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n Jx1LACcGFDAF37rcYyRX6koLMaJ7bklrMXEhIUBB0AY8f6GEBUUWREjFCIz5eVuajqCDSm5L/J3srrqM/6ws3Q4QikQ+f4OPowkAWd73pIpZzTRZxvaXJTFtVRxy+eZ8qILkO4RD7NPcqp8Jnx+yTpmBccJa4VvvRwQcwCqSF5ckG9PT6HOPayB1hWcpkb4st5mKMXa22tHcAxQxmkn8XB6apUi0XMTBYPRm0hzlexwNzi0Q5dXd7VLj0Z06ln4qnEflm+oGyeco31hf20J7L4hLdzHv8VtigWlehROBSSVbtKONqxWeMk3pQccd+XUm+TgJL28CL48qpiIUbJqmY4oo5mH2Qd9yDMQlAEWumfEsLTyf6A0vk804Cf2YSYHkYxp2v4QoO0K1WanIsx3sAb1BQ9OUR5DftvKS3TKZQXNVKs+54s2tO/QPtCibtLqA1nJVG4xCs5/s4+F3Tmkf+OcjT51Dy/qpBBHiYSeCq5DyAFc3mSI1jiSPQtynbIm60i17b09JIEvrFITqrEuk6MW82X263VkFvPMlQWP1JfqFeNyKgKybfBv1Y4GIMHLNoYevc48/U3HfIBOxJKi6BO4DkhYKySYc37OnLoIC5gY3GbNAYG7r0826FAth4ZJGhsSLEqphFb0pTxqa4vXvYgnw7kussLxN6K2o/6HNiuc=",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230031)(39830400003)(366004)(376002)(346002)(396003)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(83380400001)(38350700005)(2906002)(4326008)(8936002)(36756003)(44832011)(8676002)(26005)(52116002)(107886003)(2616005)(1076003)(38100700002)(6506007)(6666004)(6512007)(316002)(6916009)(478600001)(6486002)(5660300002)(66476007)(86362001)(54906003)(41300700001)(66946007)(66556008);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n 5guY5PTN1FrAXXhyz2YfMNsVdlgAytjACFIbnSUaCXSaH8eJwBTyGQ3SLb71oJLXRwF8ldFpWHM6T42SjaXH/+ku4ngjRGQVqDOgvgg5mqsLMHta+/ivLdP5grLRzaYVN6yoVspU8trliMgtoYUOBZCbGVJWqx3qKGSXSMdc3jFPbqXUh30mETzkRdt44rYZZVqV2H/AbqXbezPjo+CEcA3AFnUt9dBc9Djvb7vqTnh98AH0ITs18TBuayw4cx/zngvNJzVYruqu7bgeFuGNz+b/5hhf9U0qYXSrnGHgCXmR9MihDw2FvTAjzKJXBRZoClFKEX2A6DSBvb3vEDwLzfoiJY1QJtgkCtMKgY8W6ADwNJ88lwBeLhEZrrqUJrURLc4/4hYc4wS0/+elfcwD/R/bLQowMx1B+Gy3Ya+JwquKcxHzzJ/EvVXOmEToPuzb+MvmefPqnJNtQhlXc8doXdkTeVLzlzk6IWctZ25jvKnaeA2Uq8lAfGLgl1XvPjMhHOCbXP+zRxx6Wkm977F647EL//AZpZBpbMSt3ZRVTM9MYTysrkcZ/6yPcvbdxXhxjJG2OUt5Qwmli3QtrGwOI3zvCc14JbFJWQzgUOzNhTuw07o8tigvIaBu5zI+SEn6CbDas0oIWa8pLhZfMrLpYBaL8+qs/GfKpTkTuLHsKer6sQfA55sDGgckmiL4CJJBpJls3yfdAJVLQIleQY+1ilBiAIoasUIP3aqbjpXVgp1cvxWOwoGBVd3vbDIeAICcJtpMrIOT49N02xdkmxce5SHo113Y+QrqTANjnFhV03clelyh36771MgOWYw8nZ0dREvX0t8NPAX980+MyVwcePEbV7QZQNiodYTkaHjRFr9LVU2ohsfq8bChFQvRLziPIFwQ9vDwRQI5Sd1aF7EM3hA2DOQPnd86+8yHp5gjbbYYXRuCgaJlpTo6MFHblqItDZdPz8COa6u46VZnTQx7o5pZnJwoJerQcSPNyqeQPtx5Qb7r4RG5/CAxHn1UROJcwsyxCc9a98/JPwFVJ+I4tf+fP2yDUVVGJNGQqFWwEYwhA4e+dLl2Uqwd7sJKRLJymjCnTi9lKCAVDF3LnWtZWHe5VFmP9ZIM5rS4/Ffml4cYOwLVpDuvVneZfNs4BDJI0PJjlBU3sI9Q977O+rn7uksw2YmtQ2vZHF6spNMtyhdqgcl6Ue31+5G5gUbojCtowcxT9ROuwa12v2993ZEslPgJvCz9013oGsCbzpx9xwYdnWl0Uix/xeAG/7sj3H6/jSFeCY4PZ2GKHavRZ5WG14Zqu9ax7rt7Pnzzhvc7MjrpA7n/u3qFqigX9eBQXzOIOvVOMJ/e882YrGHx4gmvuirbJqzOVmVgAgFFoi/IWP3jITMlLPorvcyAs5R6T3z9RtZzJcqriOwJM9ti1GNghwlc77JKS50HMqbkIuP6tKJ5YCWlXPxVSET902LyYu5pwEohqitv/KgZ5fKqmnvjAcIOOjP+fAWsDwXmUDqESJylWIwtYAXXapgXKC+rUQ5b7jmKnRuaQI3zatfP9tAJtWZCXDaFwNhT1OSjvYNsAHHgUJY7wkXQ2YCP1h6ssrS2XQQykhrrChwqLt9UXeaV5g==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 5f29df0f-7f33-4694-5a0c-08dbd4391905",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "24 Oct 2023 02:29:50.3909 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "fe128f2c-073b-4c20-818e-7246a585940c",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n e2JGOM+VGS6ZHQIxsxuOs0Fa5Fi1QaFwxw2MTsnecPwdXCCBMtpx21RMJzfkLzR/nx0h18JRredpJo7pTG+BUHE/N8QK58Xds9xIE39kcB4=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLAPR13MB4691",
        "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": "Extract the 'ctrl_bar' data filed into the super class, prepare for the\nupcoming common library.\n\nSigned-off-by: Chaoyong He <chaoyong.he@corigine.com>\nReviewed-by: Long Wu <long.wu@corigine.com>\nReviewed-by: Peng Zhang <peng.zhang@corigine.com>\n---\n drivers/net/nfp/flower/nfp_flower.c |  8 ++++----\n drivers/net/nfp/nfp_ethdev.c        | 14 +++++++-------\n drivers/net/nfp/nfp_ethdev_vf.c     | 10 +++++-----\n drivers/net/nfp/nfp_net_common.c    |  4 ++--\n drivers/net/nfp/nfp_net_common.h    | 18 +++++++++---------\n drivers/net/nfp/nfp_net_ctrl.c      |  8 ++++----\n 6 files changed, 31 insertions(+), 31 deletions(-)",
    "diff": "diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c\nindex 453080f521..c8455e0241 100644\n--- a/drivers/net/nfp/flower/nfp_flower.c\n+++ b/drivers/net/nfp/flower/nfp_flower.c\n@@ -349,7 +349,7 @@ nfp_flower_init_vnic_common(struct nfp_net_hw *hw,\n \tpf_dev = hw->pf_dev;\n \tpci_dev = hw->pf_dev->pci_dev;\n \n-\tPMD_INIT_LOG(DEBUG, \"%s vNIC ctrl bar: %p\", vnic_type, hw->ctrl_bar);\n+\tPMD_INIT_LOG(DEBUG, \"%s vNIC ctrl bar: %p\", vnic_type, hw->super.ctrl_bar);\n \n \terr = nfp_net_common_init(pci_dev, hw);\n \tif (err != 0)\n@@ -873,7 +873,7 @@ nfp_init_app_fw_flower(struct nfp_pf_dev *pf_dev,\n \n \t/* Fill in the PF vNIC and populate app struct */\n \tapp_fw_flower->pf_hw = pf_hw;\n-\tpf_hw->ctrl_bar = pf_dev->ctrl_bar;\n+\tpf_hw->super.ctrl_bar = pf_dev->ctrl_bar;\n \tpf_hw->pf_dev = pf_dev;\n \tpf_hw->cpp = pf_dev->cpp;\n \tpf_hw->dev_info = dev_info;\n@@ -891,9 +891,9 @@ nfp_init_app_fw_flower(struct nfp_pf_dev *pf_dev,\n \tctrl_hw = app_fw_flower->ctrl_hw;\n \n \t/* Map the ctrl vNIC ctrl bar */\n-\tctrl_hw->ctrl_bar = nfp_rtsym_map(pf_dev->sym_tbl, \"_pf0_net_ctrl_bar\",\n+\tctrl_hw->super.ctrl_bar = nfp_rtsym_map(pf_dev->sym_tbl, \"_pf0_net_ctrl_bar\",\n \t\t\tNFP_NET_CFG_BAR_SZ, &ctrl_hw->ctrl_area);\n-\tif (ctrl_hw->ctrl_bar == NULL) {\n+\tif (ctrl_hw->super.ctrl_bar == NULL) {\n \t\tPMD_INIT_LOG(ERR, \"Cloud not map the ctrl vNIC ctrl bar\");\n \t\tret = -ENODEV;\n \t\tgoto pf_cpp_area_cleanup;\ndiff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c\nindex 8ac2acea7b..b7c60b642f 100644\n--- a/drivers/net/nfp/nfp_ethdev.c\n+++ b/drivers/net/nfp/nfp_ethdev.c\n@@ -506,16 +506,16 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \n \trte_eth_copy_pci_info(eth_dev, pci_dev);\n \n-\thw->ctrl_bar = pci_dev->mem_resource[0].addr;\n-\tif (hw->ctrl_bar == NULL) {\n-\t\tPMD_DRV_LOG(ERR, \"hw->ctrl_bar is NULL. BAR0 not configured\");\n+\thw->super.ctrl_bar = pci_dev->mem_resource[0].addr;\n+\tif (hw->super.ctrl_bar == NULL) {\n+\t\tPMD_DRV_LOG(ERR, \"hw->super.ctrl_bar is NULL. BAR0 not configured\");\n \t\treturn -ENODEV;\n \t}\n \n \tif (port == 0) {\n \t\tuint32_t min_size;\n \n-\t\thw->ctrl_bar = pf_dev->ctrl_bar;\n+\t\thw->super.ctrl_bar = pf_dev->ctrl_bar;\n \t\tmin_size = NFP_MAC_STATS_SIZE * hw->pf_dev->nfp_eth_table->max_index;\n \t\thw->mac_stats_bar = nfp_rtsym_map(hw->pf_dev->sym_tbl, \"_mac_stats\",\n \t\t\t\tmin_size, &hw->mac_stats_area);\n@@ -530,12 +530,12 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \t\t\treturn -ENODEV;\n \n \t\t/* Use port offset in pf ctrl_bar for this ports control bar */\n-\t\thw->ctrl_bar = pf_dev->ctrl_bar + (port * NFP_NET_CFG_BAR_SZ);\n+\t\thw->super.ctrl_bar = pf_dev->ctrl_bar + (port * NFP_NET_CFG_BAR_SZ);\n \t\thw->mac_stats = app_fw_nic->ports[0]->mac_stats_bar +\n \t\t\t\t(hw->nfp_idx * NFP_MAC_STATS_SIZE);\n \t}\n \n-\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->ctrl_bar);\n+\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->super.ctrl_bar);\n \tPMD_INIT_LOG(DEBUG, \"MAC stats: %p\", hw->mac_stats);\n \n \terr = nfp_net_common_init(pci_dev, hw);\n@@ -573,7 +573,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \teth_dev->data->dev_private = hw;\n \n \tPMD_INIT_LOG(DEBUG, \"ctrl_bar: %p, tx_bar: %p, rx_bar: %p\",\n-\t\t\thw->ctrl_bar, hw->tx_bar, hw->rx_bar);\n+\t\t\thw->super.ctrl_bar, hw->tx_bar, hw->rx_bar);\n \n \tnfp_net_cfg_queue_setup(hw);\n \thw->mtu = RTE_ETHER_MTU;\ndiff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c\nindex 293d1ed53c..641fed6fcf 100644\n--- a/drivers/net/nfp/nfp_ethdev_vf.c\n+++ b/drivers/net/nfp/nfp_ethdev_vf.c\n@@ -270,13 +270,13 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n \thw->dev_info = dev_info;\n \n-\thw->ctrl_bar = pci_dev->mem_resource[0].addr;\n-\tif (hw->ctrl_bar == NULL) {\n-\t\tPMD_DRV_LOG(ERR, \"hw->ctrl_bar is NULL. BAR0 not configured\");\n+\thw->super.ctrl_bar = pci_dev->mem_resource[0].addr;\n+\tif (hw->super.ctrl_bar == NULL) {\n+\t\tPMD_DRV_LOG(ERR, \"hw->super.ctrl_bar is NULL. BAR0 not configured\");\n \t\treturn -ENODEV;\n \t}\n \n-\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->ctrl_bar);\n+\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->super.ctrl_bar);\n \n \terr = nfp_net_common_init(pci_dev, hw);\n \tif (err != 0)\n@@ -308,7 +308,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \thw->rx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + rx_bar_off;\n \n \tPMD_INIT_LOG(DEBUG, \"ctrl_bar: %p, tx_bar: %p, rx_bar: %p\",\n-\t\t\thw->ctrl_bar, hw->tx_bar, hw->rx_bar);\n+\t\t\thw->super.ctrl_bar, hw->tx_bar, hw->rx_bar);\n \n \tnfp_net_cfg_queue_setup(hw);\n \thw->mtu = RTE_ETHER_MTU;\ndiff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c\nindex cb64fa13c5..29f836c31e 100644\n--- a/drivers/net/nfp/nfp_net_common.c\n+++ b/drivers/net/nfp/nfp_net_common.c\n@@ -536,12 +536,12 @@ nfp_net_write_mac(struct nfp_net_hw *hw,\n \tuint16_t mac1;\n \n \tmac0 = *(uint32_t *)mac;\n-\tnn_writel(rte_cpu_to_be_32(mac0), hw->ctrl_bar + NFP_NET_CFG_MACADDR);\n+\tnn_writel(rte_cpu_to_be_32(mac0), hw->super.ctrl_bar + NFP_NET_CFG_MACADDR);\n \n \tmac += 4;\n \tmac1 = *(uint16_t *)mac;\n \tnn_writew(rte_cpu_to_be_16(mac1),\n-\t\t\thw->ctrl_bar + NFP_NET_CFG_MACADDR + 6);\n+\t\t\thw->super.ctrl_bar + NFP_NET_CFG_MACADDR + 6);\n }\n \n int\ndiff --git a/drivers/net/nfp/nfp_net_common.h b/drivers/net/nfp/nfp_net_common.h\nindex 4bfb3174b0..dd62ec6d83 100644\n--- a/drivers/net/nfp/nfp_net_common.h\n+++ b/drivers/net/nfp/nfp_net_common.h\n@@ -113,6 +113,7 @@ struct nfp_app_fw_nic {\n };\n \n struct nfp_hw {\n+\tuint8_t *ctrl_bar;\n \tuint8_t *qcp_cfg;\n \tuint32_t cap;\n \tuint32_t cap_ext;\n@@ -141,7 +142,6 @@ struct nfp_net_hw {\n \t/** Current values for control */\n \tuint32_t ctrl;\n \n-\tuint8_t *ctrl_bar;\n \tuint8_t *tx_bar;\n \tuint8_t *rx_bar;\n \n@@ -251,7 +251,7 @@ static inline uint8_t\n nn_cfg_readb(struct nfp_net_hw *hw,\n \t\tuint32_t off)\n {\n-\treturn nn_readb(hw->ctrl_bar + off);\n+\treturn nn_readb(hw->super.ctrl_bar + off);\n }\n \n static inline void\n@@ -259,14 +259,14 @@ nn_cfg_writeb(struct nfp_net_hw *hw,\n \t\tuint32_t off,\n \t\tuint8_t val)\n {\n-\tnn_writeb(val, hw->ctrl_bar + off);\n+\tnn_writeb(val, hw->super.ctrl_bar + off);\n }\n \n static inline uint16_t\n nn_cfg_readw(struct nfp_net_hw *hw,\n \t\tuint32_t off)\n {\n-\treturn rte_le_to_cpu_16(nn_readw(hw->ctrl_bar + off));\n+\treturn rte_le_to_cpu_16(nn_readw(hw->super.ctrl_bar + off));\n }\n \n static inline void\n@@ -274,14 +274,14 @@ nn_cfg_writew(struct nfp_net_hw *hw,\n \t\tuint32_t off,\n \t\tuint16_t val)\n {\n-\tnn_writew(rte_cpu_to_le_16(val), hw->ctrl_bar + off);\n+\tnn_writew(rte_cpu_to_le_16(val), hw->super.ctrl_bar + off);\n }\n \n static inline uint32_t\n nn_cfg_readl(struct nfp_net_hw *hw,\n \t\tuint32_t off)\n {\n-\treturn rte_le_to_cpu_32(nn_readl(hw->ctrl_bar + off));\n+\treturn rte_le_to_cpu_32(nn_readl(hw->super.ctrl_bar + off));\n }\n \n static inline void\n@@ -289,14 +289,14 @@ nn_cfg_writel(struct nfp_net_hw *hw,\n \t\tuint32_t off,\n \t\tuint32_t val)\n {\n-\tnn_writel(rte_cpu_to_le_32(val), hw->ctrl_bar + off);\n+\tnn_writel(rte_cpu_to_le_32(val), hw->super.ctrl_bar + off);\n }\n \n static inline uint64_t\n nn_cfg_readq(struct nfp_net_hw *hw,\n \t\tuint32_t off)\n {\n-\treturn rte_le_to_cpu_64(nn_readq(hw->ctrl_bar + off));\n+\treturn rte_le_to_cpu_64(nn_readq(hw->super.ctrl_bar + off));\n }\n \n static inline void\n@@ -304,7 +304,7 @@ nn_cfg_writeq(struct nfp_net_hw *hw,\n \t\tuint32_t off,\n \t\tuint64_t val)\n {\n-\tnn_writeq(rte_cpu_to_le_64(val), hw->ctrl_bar + off);\n+\tnn_writeq(rte_cpu_to_le_64(val), hw->super.ctrl_bar + off);\n }\n \n /**\ndiff --git a/drivers/net/nfp/nfp_net_ctrl.c b/drivers/net/nfp/nfp_net_ctrl.c\nindex b0a427c98e..d469896a64 100644\n--- a/drivers/net/nfp/nfp_net_ctrl.c\n+++ b/drivers/net/nfp/nfp_net_ctrl.c\n@@ -36,8 +36,8 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)\n \tcaps = &hw->tlv_caps;\n \tnfp_net_tlv_caps_reset(caps);\n \n-\tdata = hw->ctrl_bar + NFP_NET_CFG_TLV_BASE;\n-\tend = hw->ctrl_bar + NFP_NET_CFG_BAR_SZ;\n+\tdata = hw->super.ctrl_bar + NFP_NET_CFG_TLV_BASE;\n+\tend = hw->super.ctrl_bar + NFP_NET_CFG_BAR_SZ;\n \n \thdr = rte_read32(data);\n \tif (hdr == 0) {\n@@ -46,7 +46,7 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)\n \t}\n \n \tfor (; ; data += length) {\n-\t\toffset = data - hw->ctrl_bar;\n+\t\toffset = data - hw->super.ctrl_bar;\n \n \t\tif (data + NFP_NET_CFG_TLV_VALUE > end) {\n \t\t\tPMD_DRV_LOG(ERR, \"Reached end of BAR without END TLV\");\n@@ -87,7 +87,7 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)\n \t\t\tcaps->mbox_len = length;\n \n \t\t\tif (length != 0)\n-\t\t\t\tcaps->mbox_off = data - hw->ctrl_bar;\n+\t\t\t\tcaps->mbox_off = data - hw->super.ctrl_bar;\n \t\t\telse\n \t\t\t\tcaps->mbox_off = 0;\n \t\t\tbreak;\n",
    "prefixes": [
        "v2",
        "07/25"
    ]
}