get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 133450,
    "url": "http://patches.dpdk.org/api/patches/133450/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231027030001.602639-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": "<20231027030001.602639-8-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231027030001.602639-8-chaoyong.he@corigine.com",
    "date": "2023-10-27T02:59:44",
    "name": "[v4,07/24] net/nfp: extract ctrl BAR data field",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "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/20231027030001.602639-8-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 30016,
            "url": "http://patches.dpdk.org/api/series/30016/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30016",
            "date": "2023-10-27T02:59:37",
            "name": "add the NFP vDPA PMD",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/30016/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/133450/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/133450/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 9B1694320F;\n\tFri, 27 Oct 2023 05:01:36 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 79CDD42DD1;\n\tFri, 27 Oct 2023 05:00:52 +0200 (CEST)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam12on2134.outbound.protection.outlook.com [40.107.244.134])\n by mails.dpdk.org (Postfix) with ESMTP id A7E4642DBE\n for <dev@dpdk.org>; Fri, 27 Oct 2023 05:00:39 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by DM6PR13MB4493.namprd13.prod.outlook.com (2603:10b6:5:1b9::16) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 27 Oct\n 2023 03:00:38 +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; Fri, 27 Oct 2023\n 03:00:37 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=e1F+x+obw0ckwvSpusEEthNkLwR6QUBe7XvagR1wCiX7pG5jiz9ZYhPQgC0J5R69hVxg/pTi6IK3gcwpamJwsvrfLvQHcKgK/0YxnSJSirqL46D50JyPjrbe4vtWHVe6U00rG4BadxgL1s3nPMtYSVPr447JVw/ImavCBoOI1h6Hck3tpUYjpzd7sqvhGzAFBo6lKl4PIlCx+VqtVasvNUXSWhPYlMTERMH9XAtAD6YMwh7UQVwaAuVdbZ8QkVUgKhM1NIxBhoQKMJuGxjfy2wdkzAtFpC0nGvDuCkY4QSmv8m5qpw4/kCN8vB0vQs3+i7BwHsohriXmX/ojPqVvuw==",
        "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=R/3qylHNRvdfj4AL2T0TGNLX/Xqzfqws8qvcpLrYQzAaPssHYNCEpnlJnwQWVMaFDkWh9uhu3JHW1+TLThNMCAbjUqO/XajHC0qAF8EOl4VCc1DehvGDFQsX8Gw7MmVFEdHs7hmxmZ1MVegXoxpdJU7dd+Ae69Suzlx0x6y6pJPSKs+50aNIQClrcevIJUkTs+W5XTUEU+F8rPU7WPK1VZpISCryHhyFunwMklTIGYa9VN1e2C9YicRqXvqhjetchto8uaeh5qFzvb9pV4YSOLGNDy41aQ/6nBb4eQDPS8EfntrlXw/H4xK1EwsThKMSy/o/M5EtG8uSGlfiXeBFSw==",
        "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=b0TVtgjWLgUuiOwAIhVXfGZyfymQNdGS27zfLs6Ugky5sH9DWtoWcHf4p8Y6oqgyW7fnBO4L0zr9ixB/WkJvJSbA5KyXdVlAsy+ZxQhLUO0bh3NxW543kR0dGbXTe45uuWwZ9IkHoZmOUGau6SwtE+Nxlrzko1MgAMZyQ2iIaJA=",
        "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 v4 07/24] net/nfp: extract ctrl BAR data field",
        "Date": "Fri, 27 Oct 2023 10:59:44 +0800",
        "Message-Id": "<20231027030001.602639-8-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20231027030001.602639-1-chaoyong.he@corigine.com>",
        "References": "<20231026064324.177531-1-chaoyong.he@corigine.com>\n <20231027030001.602639-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BYAPR08CA0065.namprd08.prod.outlook.com\n (2603:10b6:a03:117::42) 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_|DM6PR13MB4493:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "6adebe27-ee69-402a-d99b-08dbd698e57b",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n ueLk2T4mPvHCvxHtRVv/6uxk9/ZWW0yMBAfqM6WvsC4cXKgQW7nn1q3TkTuDWagpq/Xy8G0/tI0xvsPk8WBp376Ql4/GKQEu+OEpZQoiH9WlvLMn+piBxQyBBlUSYjgzlBsDrHg7NfQRRMtvt8XOk1JJaYxftjmf80dIARUHxqQBxZcGCBH/2UVXEr6mvvigR6azgt3mY5FTj5s6Ho71BeE9FWeAunxlMzU95dlx+tjQDJP3StN3s/Vi70fTbAKhx1ze524oEJgkgT9FEaMfYSUws8/3cuObrU7h9MxgeKYTG8YQynUF+W3ymyfmr+TNaXpBGvYHgTsbGp3YixPTTlv0ExCYC55AXNgMkmTqxnCd8y29uQtgZ3u9AnUgGjpBCBFB2BqV0MPgDZrZ5j4SE6lIbxd1KOyQnEEATmpx7m+v++SPh5MUWhMAZZYsNib8qlM0gDt4zSqVPUR1HrHRpZkm0QlTtXy4bCUC6ZpHVPnYaHR/Nsaqg/EK8W9KNhtNyAsO9ih0M0hhGfHeHe5xSJ6PdPd2ISYXeDbfESdDBw/bwVRvbOJ2GBtQUIqNvF8AzLTQKuhgGrTFbUCGwL6NoaYRJGGILOtb4LG/nSXNwKqXmPOcRLWqkTOSOLenG9ZaAgDx9Nda9CJCFVh9TH8tIXbmCYtzyfpL3dzGbLtILp4=",
        "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)(396003)(136003)(366004)(346002)(376002)(39840400004)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(38350700005)(83380400001)(4326008)(52116002)(2906002)(38100700002)(107886003)(44832011)(8936002)(26005)(2616005)(1076003)(36756003)(8676002)(54906003)(6666004)(5660300002)(66476007)(6916009)(6506007)(316002)(6486002)(6512007)(41300700001)(66556008)(66946007)(86362001)(478600001);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n r237/wfvx6OIDmjoY1895m/xyJZiyoMXj1v+D/eGlcTkrlwMHWTgmkBTbrcDPfsmk9EmId/5t7t9kvMHKxczu/5nT7DOhmcC44huQAfw4oRXblDJj2O8duldw82GhtYfJ4VtixEr7k/iXjfr17UgA/cqvNgUeu+FPp1kSVKIWVNlfA12AfWkHQiVavn0uUWikBd5AFctDd4OHMjAfXFguOZyJW8oFXmGqWcufaryneHNb1ig1IYq/zQSxa0c2b5hAFHExoVmt1+xZTseW+SUQGaxF/estIwDCDwfiNk99SMTuPIuv+rga8fZZKeGiEokL3pLLWouKwS4w8uhbNz7wXaTi/1qGNQjNHTAm9H3SkyZ+kMgXPELcAEyYNlApvL3iENO0FmMohedwj4TzGjLLurV09ER5KaGk0gXMyCOLj0kPQsf1HW5f9Ig+GKOlRpCaHpVCKLCF/in6QZhVdr3ZVPshOebUMp2CNcYGBA0wNsUaqx26Z659UPzlibasrSxRLjv6Ug9FLvLR2sI1Yhhj6kx2MK1UF1xyeIPhR3ph+LpzioMsjOTk44R9x9uxSHGy5nPWmYBHRQNlnSnr085TdBGZhDOJ0z7P0/0zPP3DMI6/muqx3ydTk5eXCIiHKzxOOxOxqrDFegew4V9Y9vJDaOc2R5Ou3grm9QPywtwUO30+ToJNHjcFpNKLf1zxhORs2zC+23bvy9uyz9rgwJ+rzyE7kBbdxHtu6BKD9f69+aPXTaFCUx2xWsJJGex2D9lv7S2bbe5XRjWdMALuOmqnDOAkFYYffTrcqXi4n8Id1aYXVoa7dOXs2BxGnoG2VmN37hgEUOpD1vPNfCd2BlXj4X1JCh2H9LgoSgp5x0jF0UGChgjSa29/vjb1HTf4v5sCpNhVR4f/6kBCux8aNUar/lubdHLgD9eSWxcPBcaS9BrETq6CnO1q2EKyo5BfvJSX1sbQ4fNcDLUfqti4PO4BqgX0lQQl0AipdFW2I48HSk4us1ldYB2d3s4rfZ1MlHQ+BQzvWePiQb08gfTA1JrKHQ8GG75T1L2I6FfreuMStfDMtjOASN+7B1vMehhD9pWJIMnszGPJROY4MuZ7br5O0AEYtEl0WtwYMn5ffB2IaBA+VWUBl2G2eVPUPpyygyzzfKvHuYO8NSRoUW9A1OCNnrhlW1OjV8slVzbRvETmtyalP9RA8v8Sbvh9wl7alYrNfOh9qJTGUZgzAIxE6TlsvniHFSzxULxnOICzt4JMYUNlCttA/9NeaBbyA7br4k7nOM62jws9J2QeYE//nOy//CCi1rfenv8dMJ8JXo4pu1sGriAOivd1qntYWGdQkXBKKyBduzHdbWHH+/9OBURAiWdy8k525kp1kJD4gSuNiffdwvHNUaHqvU0xsQvZqwE6ZRPLq784hIDLlCoXfFeTCv/o1h4r5zBrWAX9S9qVA0pMVkkyIYXdzsngfmc67zmmHb3Ja8K24PdqCXCc2SanoiNpcky5CO17BKHVZ2GM+oTNbd9xzYSfZSvxtDorF2CbR2KW2xr7J6jKOLdm2weoll3Wf48E2UdlJaSCihe49klZdVNMnwMWP6Xokrfgez4eK5LwOi0KRui5u5O7aoMSQ==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 6adebe27-ee69-402a-d99b-08dbd698e57b",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Oct 2023 03:00:37.9283 (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 xl0v+2SZcV6WEkiILMMEb3a0VQ7SwTOr7lwC278FPTWCdpxGS4cEy/wCRmxX2TorMw5J/4nC6xNGjREpzzHwxnnaisftoAUomy7cBzYVpV8=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR13MB4493",
        "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": [
        "v4",
        "07/24"
    ]
}