get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 133347,
    "url": "http://patches.dpdk.org/api/patches/133347/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231026064324.177531-8-chaoyong.he@corigine.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": "<20231026064324.177531-8-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231026064324.177531-8-chaoyong.he@corigine.com",
    "date": "2023-10-26T06:43:06",
    "name": "[v3,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": "http://patches.dpdk.org/api/people/2554/?format=api",
        "name": "Chaoyong He",
        "email": "chaoyong.he@corigine.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20231026064324.177531-8-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29991,
            "url": "http://patches.dpdk.org/api/series/29991/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=29991",
            "date": "2023-10-26T06:42:59",
            "name": "add the NFP vDPA PMD",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/29991/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/133347/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/133347/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 6750843204;\n\tThu, 26 Oct 2023 08:44:54 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 032D1410D5;\n\tThu, 26 Oct 2023 08:44:06 +0200 (CEST)",
            "from NAM11-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam11on2127.outbound.protection.outlook.com [40.107.223.127])\n by mails.dpdk.org (Postfix) with ESMTP id 3920A40EAB\n for <dev@dpdk.org>; Thu, 26 Oct 2023 08:43:59 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by SJ0PR13MB5965.namprd13.prod.outlook.com (2603:10b6:a03:43d::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Thu, 26 Oct\n 2023 06:43:57 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.6933.022; Thu, 26 Oct 2023\n 06:43:57 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=gZocV0YjYqX1elsKHb/XV6mWMykh9KrWtu9uWX/IelZ85of0w4HRzRwj/CLGodud5uFxSpok/maUaRGhroSlMUlWdxhWnj9vC4DcYQatj7trC19s0Zv1wRe6Lpgx+kWNbR6qRiYbUROW8xk6I8NfkJ81BXCo3e/namyKpMfn8mqsyPiteOqZXMcI+7IFKw7hqBe4JQddUWuccb+R//rmhpuA3Pyvy7Du7RDFSGIlmSiSc0w34YgDR5aLrI3kumX3XI6CjBHeP8Si7ysLroqG0t+0qTnZbT6NF6x3NR9kNJ1EmEx+u/1O31YyCuK3h5phZHxZPOyUPZxsPyQPewCn1g==",
        "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=WcC9482QJKRTxHjwQ/iPO64XpUfFDLRdlx9Bo+dkL1mCiRlBY9/ibPHUH4xqjYaJHf2KhWQY4GV1+51dX9C0fiXsZ9HgUCdf3aQd47O0PG9DzyfLfbIBZZveGfP12PI8K37SP/Bu/92fpzJC3JrkppoI1KzCaRs6XWewsZhlfUQfVG+gLW/lNg9hOvgkx1UzFv7DHDYqqf7fzQEERVVrRQPzk7j+sAdoc7IJ/WKGSkUZlBLDXX7TsS9NkLSSf3tuoLkFl4OlR9caFakB98R4THDi8JjxXtXNTVdzLD7dwajNinarjtxo6XjnVuGMX2zfaNFBZgiPPIhrViMOsgnNLw==",
        "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=PsTe/bsQa91/GCWCcE5zJRa7O0hRHlcbOf8sV7e7rv/EhaoxHuV0v4h0vDjYaHAm7ryTJcrY0shwVL+nEC/OPITItXUZPWg49DrmTmjErm5Mj1jJGOmepoMW39Wg5qfwMy2/h0CghPo/MTSxZUoxbJr6bMOpLwMm+asy/nljdQM=",
        "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 v3 07/25] net/nfp: extract the ctrl BAR data field",
        "Date": "Thu, 26 Oct 2023 14:43:06 +0800",
        "Message-Id": "<20231026064324.177531-8-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20231026064324.177531-1-chaoyong.he@corigine.com>",
        "References": "<20231024022849.3092506-1-chaoyong.he@corigine.com>\n <20231026064324.177531-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BYAPR07CA0034.namprd07.prod.outlook.com\n (2603:10b6:a02:bc::47) 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_|SJ0PR13MB5965:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "51719d6a-6df3-46e3-2d3b-08dbd5eeedcb",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n KF1ojmLgVMFj1yuQbNxeDZVkYXlH3jJimAbbhWwModz9uHTs4Gu1yLUWCPEvMR4wyJ0RuWeaYaegErUPckEGlHbY7oGcWYpMxig8fQ/csDbNU2zzNnFrhopt+Tcjl0kTMJtrvzzMlzzGuaWI7/vSDbJuafo3FvfJ9BeyINkaOcBXZsjF0k0/qEY+QC9aSmrrCuZAjz1KsFRRG6rYhav4eNyw1kHv5/qxwauYWUS3cm/KBtgVoOzjb0P4tpbbYFO7metrvXvve4an02kOZ0KJgiYMezGSQwq8PGFBseLRTg87lfnD7pE4a8M38Ktvc6uDEfcOm3+8PmqhfJscy6kZ99Il2LlzEbiJV/HejeZ1DXjqZa6SoR56coto1skBGdhjnw38kl/EFVDIrQeC2x3UgoezJDw+oCqaIQrAhw8RIf6Th9AyEVYrm8/Yl28ad/OKQ3k01iy6tERBANhDYUGJCgPKnmw8vCIQoK3ywzOshZdFjhtAAhcWI//tZwIZcgMfPvjwDSID5ceNuBPFRsnljfznDY12kSvDLKCRv2odjLMVuddDXucavqS9c+2MqRQ47qNsuvqCnG5xvyrV+AY84hg2cSEITYzIZ2qWZbB3X3kX4DzOPIc55EdRoQLIvnB+siVDARB7qACUYRkklWFzsLB3PF/r2U7qnYp7zbv3j14=",
        "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)(346002)(39830400003)(136003)(366004)(376002)(396003)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(6512007)(478600001)(6506007)(52116002)(2616005)(8676002)(83380400001)(107886003)(41300700001)(26005)(1076003)(6486002)(5660300002)(6666004)(44832011)(6916009)(316002)(66556008)(54906003)(66476007)(66946007)(2906002)(4326008)(8936002)(38350700005)(38100700002)(86362001)(36756003);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n F8N/R6BK6tWnSx4KeZ4A40FBl/5hzQZ4kQGFsg9V2Y+Gg6Lu14h5TZVFpA8WkoBDcIktMuaTapR7wSMvLYuIQixIdl3D8qjdOj0sawNvxfG6PEf8RLO7/tsCbU4TQ6D+DrZKIy30zmuoR6VMApkx64nWowhYsjERSgbAil97T60s/9EdCy6C9G5yu5il7aqXxaCuPnxk03UlDkXcAT8BWW0zRqK0wjHEeocs/67//HjEFH9nbbsD1i/NFmsyZOKE3zWERlUP6t4KH3ENWUd9Lp4pq/Tx0RU+KXA46Um+FZgsZL4wtXCRcGouoHW7p2WY3l6hdU/XPOPloZYcohCKT+nQ+m8ZeweYB9JGbPi+paPGqrAw5EqtbrUXDwyiGVX5JKhKDZrN4qKFjB5HnYXRfaVCzYlK+T8S0Qs0MLQDnYYkHar2jGJgmHYO3ZSgmTBgWqhwB/Vy+OeS/sO9xnQtZuTzDes8UvbZtowGbI1mz2Lep85fN8PMfA2J2XkHxecS+gV4SluUmyd9+Gy3HZ6MhX/G+9guAcRWVMUIom5HnN0U4yBdIhO69gesvkZb8wPVILjzucZG0Tc+bcl/up2VgK76K0b3QsJ32dOCbS64JKw98ZuT8d2vcIrRctRDGNNl79mGLSt0O3MQEp/NnNV1FEixj4hkDVlA6TAPlCeuH57qys9hubTUW7STkm4nD0l6BkykOSrFo2kX5fI2aQ+ZGZrBW6TmCDrSvvaEf6ESeQw1YiRVdFmVEkp4WI20g9mwYeL2s52VHr1cKuxNuJkkgb6o4XSSvUcp6lSrY/JbGgDGFpC/2pneZG89YfFVs0UIt0VpkhwGAsg7D5SvZTm/CfRIwCKK+S2Egf754b+AILQfUa+qvP0ximuAwoBBkhgTFRFohVhBgxqSpcNXTiFY+gjQiceu1HkM//lniuzv4+HpBix+g8leOFXExT9vAIkyPEYdqLY9dUa+7D2SXC+SIb1OV0GVR1wSlqEZyjQceg25ErTKDEZyMmjYgM037266Ef3bjjOhhxBJm4N8kA2O2VZc5bJYupUXE5Im7e5sHFALHtmhv+dnxnk2pnRLHuVTyWAFZHScSP6r8Dn0a86aKwAa7rVOVxNRQQkz+q8EJRrNQG+qozeOgL1reOebjSC3ilW4GFSQ4B/i91urQQY0GuXYufKZmqVQpEXMk9UQxvqXMWn9xgvA5YYjktDjCucEAm3CtHho6Rn6Yy9SJKiyH+rBf+IgDVsQMVmnbG/0qNE4JuAgaEQMv6QWoW9QdWkTNrvjDr0sqtM7VM3uMkGo1bn0byI60Y7nCSh5WNvNe2pjOQaVVCtdQrt8QybcV4xLshXphkoMNVETBsPsqLR8IQNLXSlwo9hjZEPrycmLU0803OTfFIaOdwAFo6gjxDB8d/ByRI2sJ5SpiyH4aQri7uLfgS1ZQeiWa0W3w6mo9D+Wh1+mxVBrxbk4pqyfNVfALmZcNox1WFzVrVMCpBIrE0ojIW2K/tbr/1ARDt5A2njmZ5hQy8JYWLHEcr1z2Pycd65BOenkzLta3uZkIWalZkXvDkGLGBv2DIw8o+40KgdM/bYtzx09P1SrUn51eYIh2Qv3Qd9/GGhFnu1sghERNQ==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 51719d6a-6df3-46e3-2d3b-08dbd5eeedcb",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Oct 2023 06:43:57.4113 (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 GEyDDLXNRdfkiz3U78GKHD7LxurRu+o+Kn5KJyD54Ykc8CisN1PSpWlvMvqfv+wfWT0bHjAWHdsAtYs3ZAI9G9AVCyRSI2ZirS5Y83KpRho=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SJ0PR13MB5965",
        "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": [
        "v3",
        "07/25"
    ]
}