get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 133217,
    "url": "http://patchwork.dpdk.org/api/patches/133217/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20231024022849.3092506-13-chaoyong.he@corigine.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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-13-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231024022849.3092506-13-chaoyong.he@corigine.com",
    "date": "2023-10-24T02:28:36",
    "name": "[v2,12/25] net/nfp: rename parameter in related logic",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "e152dcd498608220860380b599d565f317bd1d7b",
    "submitter": {
        "id": 2554,
        "url": "http://patchwork.dpdk.org/api/people/2554/?format=api",
        "name": "Chaoyong He",
        "email": "chaoyong.he@corigine.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20231024022849.3092506-13-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29961,
            "url": "http://patchwork.dpdk.org/api/series/29961/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29961",
            "date": "2023-10-24T02:28:24",
            "name": "add the NFP vDPA PMD",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/29961/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/133217/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/133217/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 1BE82431EB;\n\tTue, 24 Oct 2023 04:31:27 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 819FE42DC1;\n\tTue, 24 Oct 2023 04:30:06 +0200 (CEST)",
            "from NAM02-DM3-obe.outbound.protection.outlook.com\n (mail-dm3nam02on2094.outbound.protection.outlook.com [40.107.95.94])\n by mails.dpdk.org (Postfix) with ESMTP id 4BB30427E9\n for <dev@dpdk.org>; Tue, 24 Oct 2023 04:30:02 +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:59 +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:59 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=lPX9Cj5rqD20ITMALfi9wk+nHPavVh0ZroKN8Dg5LsCmwPdLSqCCMbcv/CkbWKWxILRu3L7zoTxtu7p79e5oCVIb5kAPnLm4UMcET+jueZKEDZ7ysSvFrc6Wl64PAEjeH3rqY8n2laGxlPWBJ8kN2hZc30gCmwwV9ReNAEDpUr7PWw/m/aETPQTdQPOL6uNbIjl4onjccbsy2UpruehbkCeKAZdj7Q/Yk3dAp3mcLuuWxdL3dhhMEG2tqbx34rCYyFlAqB4nwAqneMsHx+P152vhZs/nAwIJA2uAYrK5mpnqgPWMRi1AmBZ+ViDvVqcilpdn+YAK1glvpYSy3Eo8ow==",
        "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=KmTYxQOK7SEKsSa8yNnaw5vkg/LvZ3+NrMC0S+j/zrE=;\n b=TkF5lUkYcTFcDxbKw8Y3GTSirdOUQAtqXOSj2ygPI/1Nbc0dnfwD+Pn9nGCRVD/jZS9jTrlIpv4MoR0pXfO10+FFtKXcjhRliFHqgkUZkZRQH7SBATw/koBI7aShSKdQqfSe3fl5w3wMQeRvPZPWXL6w9GZt6/izlF7dJwpKyQSJ9F2jlacDvYnB6D/DXS15zxaFGg4A/NGako2c8BOyqLSbHT5embtLy4RJ96oDgL5jjqVP4PLT9Ca6X2y+DSevf3PeeIZnHb+Uph5Ksi6wk/JssFj9xKj+D3pyzHq8mr1d5vRkY5EyM5mwmnDjOU4b/+jVCDFXGMbRXfChzRRHhQ==",
        "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=KmTYxQOK7SEKsSa8yNnaw5vkg/LvZ3+NrMC0S+j/zrE=;\n b=VHiXq2n+xFaHKHd1qDq7fXs6UnHuJPAoTe8v9QLfym8eHbbkvDMkcCqBd1R4HOi5oWwWQruMXLQqljtN4r7DJGyyXdo290isOoMUQ5lygBdG9YtXAqYSW26jWqOSJXscGkFQ9JE1bN/RHIRawFN0zLLLzzW5Pg5LTlLG0n2M1z8=",
        "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 12/25] net/nfp: rename parameter in related logic",
        "Date": "Tue, 24 Oct 2023 10:28:36 +0800",
        "Message-Id": "<20231024022849.3092506-13-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": "2e7470ed-6618-4cec-f29d-08dbd4391e8f",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n s4g3bSY7MiYBAZcEH/b+5sgRLx/QbOi1Kl4hKwnrJKNTNFgZlP/SB6P9Z9/iiD/1B0vLOUR4liyiHPc0boGxxRdJjhoGY6jbYRsr8u7ijyCstNdav0CAv5+sLwvVVk8UO0dvbx1zWLqNf/t8NSDx2QmrJ9ltemPpvJW+rhF2QEGDd2Um5XKxCLMXlRZqpdJOYSbRg7UBRJV8BEbd3EF1zcW2A+QTWaQBmDvjjQWbWbgyx+A9FGgauNcCRPBhDGqHNqJ8tggOFzbKUMh3wMFR8wxkhtfIwXWBEZhA2aRYeHCf447j8oHMv0NzLLl8YHKERlB7XYardUbAYQZmOFxA9K75yD67oKycXVYiJ1zuRqoSH6FaR8eRU7kk7rZ0yDJQxbUVDpJrsb47x7B2PuvZpXSiuAjIt8ivNCkTfB0HoWgomuWvrpxUqbK8AoppAMD7yAN66KR4zpOU30JpRjOjACMfnzHCUEdCXdQzyVexzVaIVaLIW9j7DUEcKtBXWAcQpsbcCt/+cbCFMESfadqzltAOl8nwRWc7NANloF9DluGLtarI2nOppbmViE4CaUuPS4/IRioKzQs5WLO1Gw4ZnYgZMDbybcN2Poa1kWiAMtnfzk8zdKCQRM3g+2AX1EYjMk10vB5kNfSekOeKBhxFL9tEJ16A6iw+OBCj67EF22M=",
        "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)(30864003)(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 2l+XIOjLJq+I6t6yonFmA/CIkVKk/I+FtsJIjL8uRUZdkxT1kM38xlyU9+3H0Xme8uP63Wv/N1EAZycXhJvdk7zp4kEbfgw/TmZpsru9btTO4zbjkArSQrPTBmZ5Vgz+TbA7wdTc7FAhfTGOmcLp41pPZbI4khROa7g03YC8CtDC2xw5T7uAfvaZE6UqFo8uRvzPGNWMRj8Etni4/TzUMFQA5brbqSRHIfe3bu54Y6PZfmuqMt+X0hJaIlqgJ62uNsh4/+ovXW93kjKinmrohPyTJ+ushp13Dipb7111CBOriHIdtMgRk8hfNcHRBo4PjcHbcaYDRY4R59CF9n269RbLCKNVb3gEHk0U0WN6UHp2ZaVYFqpra7h00/BR4WPfv3tWbBzX9vRBMhEQzCgz5ZINQRiOQFwJaPZdkcJLhYhOGJm/RdXr3X+P1y9Nh7SGhum0Ssv1PwWat93BDsK2OqypsTkCvqw0kVh5XLALIfKBNn2pHDdM8fSEqoLShnzdSwbdmtQwsHdXZtHka7tIkdCov3CiTQop4RuFNg+UvVAcHopl+Wby3ALxtpINxXMjDL8lBBXxp6CLGjpKvhTJkdAc+lPihLeq3zfD/V0uLteRhJqx80PtTID+JOqqEJMYNr1x7cyvsVWS24pg/hZf5kXrRVgQf0DuRDTpK2BUg4o0JxdfbaBNuOCqsTgsxbiJEbuLm4z5oAo/T2lMr0lrGSSZBoRhOWEmoNYEU9BoDr9UAs3vs/eSg6UqsdiQIfwzpmxpJV70EYXMZKEqwHQLFicD8Zvv+osGu2IcmbP9FdMacmf1fNzCflSR02ND9HL6l15DBngnSySELGxOkYxAO4+31+EiScJfpsPS40PFlkdjthd0IG70FIT7kgKPQQWFD4+8UhjYeM0zRrzMnGp1+K/Qp1/rqeM1E6jHWLGFwFD5ai6D9Lwe1qP0QJrHlBZiqx/wXkk92DC1sDQaDp/AvkHG1klRLA+dHxk6whW5d+oOUNVGasAp9PhpJVIU07pGhglkNr/ctyCHJEYpCBVGJMn58+MeVkNmu2si7xPE+hHd/HBcOxk6vLt/Wpx6bZNhPVQdsznzJytyUOa/cTUCNFqVyMLl1P7jDY/gZ88xTCbg0NZqG2ot+S3RYhdp35cBMwfiHrgb9egnadk+2puzgONSe7ck+Kd/Gn7lrO7uLy4m3fjKA0LWgf3pXKEQCATj/V7YPIiR2L9gf3eWIejPLxFuHHc6WttO2v+UNyF1cVgFP7lgEyvCndg0m9DMPseAQK/jqFmOyLGANKq+YSMkJc/CBw5sPxIy7hu/sFO1kpIxa5uhrJRyRPlpCRw10pd+rDRNnlqi4qg0n4KcjvDqNepx/7vrYwnSVxxKdDpvMrrmwzf7JZ9AeI1Mdf1udSbdvhV9be7wqxPr2MoLpv4oYJh/RnRSyXsYSEQ8MSboShMO79MyNSG8d6/S69IBNNP3LtSh9/A6/fURil2zI74AZIdf/ED0BpiqywvRNlfv1zHqmVVZBKI9fVExYC6uuSEkfTBhKyXLSOvlLlLVIMvE7bo5U3f1zzId+F2iuaeoN3hfxL9qU+lShp5TzCHkD79zOvToTMD+imZhG1TQYwKunA==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 2e7470ed-6618-4cec-f29d-08dbd4391e8f",
        "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:59.6694 (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 wpL67Ue+HcjodTi40jFtGRXC0E2NrQtI3og2ndIBZ7rWZVb1tot3C2e38tBkiXFRv47BKza7V5HgqonYLfOudZSRm9YJr9SOjfLxeCN4Vrk=",
        "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": "Rename parameter 'hw' into 'net_hw' in the related logic, to make the\nname more accurate.\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        |  86 +++++++++++------------\n drivers/net/nfp/nfp_ethdev_vf.c     |  62 +++++++++--------\n drivers/net/nfp/nfp_ipsec.c         |  82 +++++++++++-----------\n drivers/net/nfp/nfp_net_common.c    | 102 ++++++++++++++++------------\n drivers/net/nfp/nfp_net_ctrl.c      |  14 ++--\n drivers/net/nfp/nfp_rxtx.c          |  16 ++---\n 7 files changed, 193 insertions(+), 177 deletions(-)",
    "diff": "diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c\nindex 831f4a7265..f3fedbf7e5 100644\n--- a/drivers/net/nfp/flower/nfp_flower.c\n+++ b/drivers/net/nfp/flower/nfp_flower.c\n@@ -25,18 +25,18 @@ static void\n nfp_pf_repr_enable_queues(struct rte_eth_dev *dev)\n {\n \tuint16_t i;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n \tuint64_t enabled_queues = 0;\n \tstruct nfp_flower_representor *repr;\n \n \trepr = dev->data->dev_private;\n-\thw = repr->app_fw_flower->pf_hw;\n+\thw = &repr->app_fw_flower->pf_hw->super;\n \n \t/* Enabling the required TX queues in the device */\n \tfor (i = 0; i < dev->data->nb_tx_queues; i++)\n \t\tenabled_queues |= (1 << i);\n \n-\tnn_cfg_writeq(&hw->super, NFP_NET_CFG_TXRS_ENABLE, enabled_queues);\n+\tnn_cfg_writeq(hw, NFP_NET_CFG_TXRS_ENABLE, enabled_queues);\n \n \tenabled_queues = 0;\n \n@@ -44,7 +44,7 @@ nfp_pf_repr_enable_queues(struct rte_eth_dev *dev)\n \tfor (i = 0; i < dev->data->nb_rx_queues; i++)\n \t\tenabled_queues |= (1 << i);\n \n-\tnn_cfg_writeq(&hw->super, NFP_NET_CFG_RXRS_ENABLE, enabled_queues);\n+\tnn_cfg_writeq(hw, NFP_NET_CFG_RXRS_ENABLE, enabled_queues);\n }\n \n static void\ndiff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c\nindex a93742a205..3d4b78fbf1 100644\n--- a/drivers/net/nfp/nfp_ethdev.c\n+++ b/drivers/net/nfp/nfp_ethdev.c\n@@ -479,11 +479,11 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \tuint16_t port;\n \tuint64_t rx_base;\n \tuint64_t tx_base;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_pf_dev *pf_dev;\n \tstruct rte_pci_device *pci_dev;\n \tstruct nfp_app_fw_nic *app_fw_nic;\n-\tstruct rte_ether_addr *tmp_ether_addr;\n \n \tpci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);\n \n@@ -503,46 +503,47 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \t * Use PF array of physical ports to get pointer to\n \t * this specific port.\n \t */\n-\thw = app_fw_nic->ports[port];\n+\tnet_hw = app_fw_nic->ports[port];\n+\thw = &net_hw->super;\n \n \tPMD_INIT_LOG(DEBUG, \"Working with physical port number: %hu, \"\n-\t\t\t\"NFP internal port number: %d\", port, hw->nfp_idx);\n+\t\t\t\"NFP internal port number: %d\", port, net_hw->nfp_idx);\n \n \trte_eth_copy_pci_info(eth_dev, pci_dev);\n \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+\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 \t\treturn -ENODEV;\n \t}\n \n \tif (port == 0) {\n \t\tuint32_t min_size;\n \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-\t\tif (hw->mac_stats_bar == NULL) {\n+\t\thw->ctrl_bar = pf_dev->ctrl_bar;\n+\t\tmin_size = NFP_MAC_STATS_SIZE * net_hw->pf_dev->nfp_eth_table->max_index;\n+\t\tnet_hw->mac_stats_bar = nfp_rtsym_map(net_hw->pf_dev->sym_tbl, \"_mac_stats\",\n+\t\t\t\tmin_size, &net_hw->mac_stats_area);\n+\t\tif (net_hw->mac_stats_bar == NULL) {\n \t\t\tPMD_INIT_LOG(ERR, \"nfp_rtsym_map fails for _mac_stats_bar\");\n \t\t\treturn -EIO;\n \t\t}\n \n-\t\thw->mac_stats = hw->mac_stats_bar;\n+\t\tnet_hw->mac_stats = net_hw->mac_stats_bar;\n \t} else {\n \t\tif (pf_dev->ctrl_bar == NULL)\n \t\t\treturn -ENODEV;\n \n \t\t/* Use port offset in pf ctrl_bar for this ports control bar */\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\thw->ctrl_bar = pf_dev->ctrl_bar + (port * NFP_NET_CFG_BAR_SZ);\n+\t\tnet_hw->mac_stats = app_fw_nic->ports[0]->mac_stats_bar +\n+\t\t\t\t(net_hw->nfp_idx * NFP_MAC_STATS_SIZE);\n \t}\n \n-\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->super.ctrl_bar);\n-\tPMD_INIT_LOG(DEBUG, \"MAC stats: %p\", hw->mac_stats);\n+\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->ctrl_bar);\n+\tPMD_INIT_LOG(DEBUG, \"MAC stats: %p\", net_hw->mac_stats);\n \n-\terr = nfp_net_common_init(pci_dev, hw);\n+\terr = nfp_net_common_init(pci_dev, net_hw);\n \tif (err != 0)\n \t\treturn err;\n \n@@ -558,38 +559,38 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \t\treturn err;\n \t}\n \n-\tnfp_net_ethdev_ops_mount(hw, eth_dev);\n+\tnfp_net_ethdev_ops_mount(net_hw, eth_dev);\n \n-\thw->eth_xstats_base = rte_malloc(\"rte_eth_xstat\", sizeof(struct rte_eth_xstat) *\n+\tnet_hw->eth_xstats_base = rte_malloc(\"rte_eth_xstat\", sizeof(struct rte_eth_xstat) *\n \t\t\tnfp_net_xstats_size(eth_dev), 0);\n-\tif (hw->eth_xstats_base == NULL) {\n+\tif (net_hw->eth_xstats_base == NULL) {\n \t\tPMD_INIT_LOG(ERR, \"no memory for xstats base values on device %s!\",\n \t\t\t\tpci_dev->device.name);\n \t\treturn -ENOMEM;\n \t}\n \n \t/* Work out where in the BAR the queues start. */\n-\ttx_base = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_TXQ);\n-\trx_base = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_RXQ);\n+\ttx_base = nn_cfg_readl(hw, NFP_NET_CFG_START_TXQ);\n+\trx_base = nn_cfg_readl(hw, NFP_NET_CFG_START_RXQ);\n \n-\thw->tx_bar = pf_dev->qc_bar + tx_base * NFP_QCP_QUEUE_ADDR_SZ;\n-\thw->rx_bar = pf_dev->qc_bar + rx_base * NFP_QCP_QUEUE_ADDR_SZ;\n-\teth_dev->data->dev_private = hw;\n+\tnet_hw->tx_bar = pf_dev->qc_bar + tx_base * NFP_QCP_QUEUE_ADDR_SZ;\n+\tnet_hw->rx_bar = pf_dev->qc_bar + rx_base * NFP_QCP_QUEUE_ADDR_SZ;\n+\teth_dev->data->dev_private = net_hw;\n \n \tPMD_INIT_LOG(DEBUG, \"ctrl_bar: %p, tx_bar: %p, rx_bar: %p\",\n-\t\t\thw->super.ctrl_bar, hw->tx_bar, hw->rx_bar);\n+\t\t\thw->ctrl_bar, net_hw->tx_bar, net_hw->rx_bar);\n \n-\tnfp_net_cfg_queue_setup(hw);\n-\thw->mtu = RTE_ETHER_MTU;\n+\tnfp_net_cfg_queue_setup(net_hw);\n+\tnet_hw->mtu = RTE_ETHER_MTU;\n \n \t/* VLAN insertion is incompatible with LSOv2 */\n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LSO2) != 0)\n-\t\thw->super.cap &= ~NFP_NET_CFG_CTRL_TXVLAN;\n+\tif ((hw->cap & NFP_NET_CFG_CTRL_LSO2) != 0)\n+\t\thw->cap &= ~NFP_NET_CFG_CTRL_TXVLAN;\n \n-\tnfp_net_log_device_information(hw);\n+\tnfp_net_log_device_information(net_hw);\n \n \t/* Initializing spinlock for reconfigs */\n-\trte_spinlock_init(&hw->super.reconfig_lock);\n+\trte_spinlock_init(&hw->reconfig_lock);\n \n \t/* Allocating memory for mac addr */\n \teth_dev->data->mac_addrs = rte_zmalloc(\"mac_addr\", RTE_ETHER_ADDR_LEN, 0);\n@@ -599,20 +600,19 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \t}\n \n \tnfp_net_pf_read_mac(app_fw_nic, port);\n-\tnfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);\n+\tnfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);\n \n-\ttmp_ether_addr = &hw->super.mac_addr;\n-\tif (rte_is_valid_assigned_ether_addr(tmp_ether_addr) == 0) {\n+\tif (rte_is_valid_assigned_ether_addr(&hw->mac_addr) == 0) {\n \t\tPMD_INIT_LOG(INFO, \"Using random mac address for port %d\", port);\n \t\t/* Using random mac addresses for VFs */\n-\t\trte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]);\n-\t\tnfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);\n+\t\trte_eth_random_addr(&hw->mac_addr.addr_bytes[0]);\n+\t\tnfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);\n \t}\n \n \t/* Copying mac address to DPDK eth_dev struct */\n-\trte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs);\n+\trte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs);\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)\n+\tif ((hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)\n \t\teth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR;\n \n \teth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;\n@@ -621,13 +621,13 @@ nfp_net_init(struct rte_eth_dev *eth_dev)\n \t\t\t\"mac=\" RTE_ETHER_ADDR_PRT_FMT,\n \t\t\teth_dev->data->port_id, pci_dev->id.vendor_id,\n \t\t\tpci_dev->id.device_id,\n-\t\t\tRTE_ETHER_ADDR_BYTES(&hw->super.mac_addr));\n+\t\t\tRTE_ETHER_ADDR_BYTES(&hw->mac_addr));\n \n \t/* Registering LSC interrupt handler */\n \trte_intr_callback_register(pci_dev->intr_handle,\n \t\t\tnfp_net_dev_interrupt_handler, (void *)eth_dev);\n \t/* Telling the firmware about the LSC interrupt entry */\n-\tnn_cfg_writeb(&hw->super, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);\n+\tnn_cfg_writeb(hw, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);\n \t/* Recording current stats counters values */\n \tnfp_net_stats_reset(eth_dev);\n \ndiff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c\nindex dead6ca5ab..049728d30c 100644\n--- a/drivers/net/nfp/nfp_ethdev_vf.c\n+++ b/drivers/net/nfp/nfp_ethdev_vf.c\n@@ -254,7 +254,8 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \tint err;\n \tuint16_t port;\n \tuint32_t start_q;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tuint64_t tx_bar_off = 0;\n \tuint64_t rx_bar_off = 0;\n \tstruct rte_pci_device *pci_dev;\n@@ -269,22 +270,23 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \t\treturn -ENODEV;\n \t}\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n-\thw->dev_info = dev_info;\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tnet_hw->dev_info = dev_info;\n+\thw = &net_hw->super;\n \n-\thw->super.ctrl_bar = pci_dev->mem_resource[0].addr;\n-\tif (hw->super.ctrl_bar == NULL) {\n+\thw->ctrl_bar = pci_dev->mem_resource[0].addr;\n+\tif (hw->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->super.ctrl_bar);\n+\tPMD_INIT_LOG(DEBUG, \"ctrl bar: %p\", hw->ctrl_bar);\n \n-\terr = nfp_net_common_init(pci_dev, hw);\n+\terr = nfp_net_common_init(pci_dev, net_hw);\n \tif (err != 0)\n \t\treturn err;\n \n-\tnfp_netvf_ethdev_ops_mount(hw, eth_dev);\n+\tnfp_netvf_ethdev_ops_mount(net_hw, eth_dev);\n \n \t/* For secondary processes, the primary has done all the work */\n \tif (rte_eal_process_type() != RTE_PROC_PRIMARY)\n@@ -292,37 +294,37 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \n \trte_eth_copy_pci_info(eth_dev, pci_dev);\n \n-\thw->eth_xstats_base = rte_malloc(\"rte_eth_xstat\",\n+\tnet_hw->eth_xstats_base = rte_malloc(\"rte_eth_xstat\",\n \t\t\tsizeof(struct rte_eth_xstat) * nfp_net_xstats_size(eth_dev), 0);\n-\tif (hw->eth_xstats_base == NULL) {\n+\tif (net_hw->eth_xstats_base == NULL) {\n \t\tPMD_INIT_LOG(ERR, \"No memory for xstats base values on device %s!\",\n \t\t\t\tpci_dev->device.name);\n \t\treturn -ENOMEM;\n \t}\n \n \t/* Work out where in the BAR the queues start. */\n-\tstart_q = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_TXQ);\n+\tstart_q = nn_cfg_readl(hw, NFP_NET_CFG_START_TXQ);\n \ttx_bar_off = nfp_qcp_queue_offset(dev_info, start_q);\n-\tstart_q = nn_cfg_readl(&hw->super, NFP_NET_CFG_START_RXQ);\n+\tstart_q = nn_cfg_readl(hw, NFP_NET_CFG_START_RXQ);\n \trx_bar_off = nfp_qcp_queue_offset(dev_info, start_q);\n \n-\thw->tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off;\n-\thw->rx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + rx_bar_off;\n+\tnet_hw->tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off;\n+\tnet_hw->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->super.ctrl_bar, hw->tx_bar, hw->rx_bar);\n+\t\t\thw->ctrl_bar, net_hw->tx_bar, net_hw->rx_bar);\n \n-\tnfp_net_cfg_queue_setup(hw);\n-\thw->mtu = RTE_ETHER_MTU;\n+\tnfp_net_cfg_queue_setup(net_hw);\n+\tnet_hw->mtu = RTE_ETHER_MTU;\n \n \t/* VLAN insertion is incompatible with LSOv2 */\n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LSO2) != 0)\n-\t\thw->super.cap &= ~NFP_NET_CFG_CTRL_TXVLAN;\n+\tif ((hw->cap & NFP_NET_CFG_CTRL_LSO2) != 0)\n+\t\thw->cap &= ~NFP_NET_CFG_CTRL_TXVLAN;\n \n-\tnfp_net_log_device_information(hw);\n+\tnfp_net_log_device_information(net_hw);\n \n \t/* Initializing spinlock for reconfigs */\n-\trte_spinlock_init(&hw->super.reconfig_lock);\n+\trte_spinlock_init(&hw->reconfig_lock);\n \n \t/* Allocating memory for mac addr */\n \teth_dev->data->mac_addrs = rte_zmalloc(\"mac_addr\", RTE_ETHER_ADDR_LEN, 0);\n@@ -332,18 +334,18 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \t\tgoto dev_err_ctrl_map;\n \t}\n \n-\tnfp_netvf_read_mac(&hw->super);\n-\tif (rte_is_valid_assigned_ether_addr(&hw->super.mac_addr) == 0) {\n+\tnfp_netvf_read_mac(hw);\n+\tif (rte_is_valid_assigned_ether_addr(&hw->mac_addr) == 0) {\n \t\tPMD_INIT_LOG(INFO, \"Using random mac address for port %hu\", port);\n \t\t/* Using random mac addresses for VFs */\n-\t\trte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]);\n-\t\tnfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]);\n+\t\trte_eth_random_addr(&hw->mac_addr.addr_bytes[0]);\n+\t\tnfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]);\n \t}\n \n \t/* Copying mac address to DPDK eth_dev struct */\n-\trte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs);\n+\trte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs);\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)\n+\tif ((hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0)\n \t\teth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR;\n \n \teth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;\n@@ -352,14 +354,14 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \t\t\t\"mac=\" RTE_ETHER_ADDR_PRT_FMT,\n \t\t\tport, pci_dev->id.vendor_id,\n \t\t\tpci_dev->id.device_id,\n-\t\t\tRTE_ETHER_ADDR_BYTES(&hw->super.mac_addr));\n+\t\t\tRTE_ETHER_ADDR_BYTES(&hw->mac_addr));\n \n \tif (rte_eal_process_type() == RTE_PROC_PRIMARY) {\n \t\t/* Registering LSC interrupt handler */\n \t\trte_intr_callback_register(pci_dev->intr_handle,\n \t\t\t\tnfp_net_dev_interrupt_handler, (void *)eth_dev);\n \t\t/* Telling the firmware about the LSC interrupt entry */\n-\t\tnn_cfg_writeb(&hw->super, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);\n+\t\tnn_cfg_writeb(hw, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);\n \t\t/* Recording current stats counters values */\n \t\tnfp_net_stats_reset(eth_dev);\n \t}\n@@ -367,7 +369,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \treturn 0;\n \n dev_err_ctrl_map:\n-\t\tnfp_cpp_area_free(hw->ctrl_area);\n+\t\tnfp_cpp_area_free(net_hw->ctrl_area);\n \n \treturn err;\n }\ndiff --git a/drivers/net/nfp/nfp_ipsec.c b/drivers/net/nfp/nfp_ipsec.c\nindex 0da5c2a3d2..7e26977dc1 100644\n--- a/drivers/net/nfp/nfp_ipsec.c\n+++ b/drivers/net/nfp/nfp_ipsec.c\n@@ -434,7 +434,7 @@ enum nfp_ipsec_df_type {\n };\n \n static int\n-nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,\n+nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *net_hw,\n \t\tstruct nfp_ipsec_msg *msg)\n {\n \tint ret;\n@@ -445,9 +445,9 @@ nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,\n \tmsg->rsp = NFP_IPSEC_CFG_MSG_OK;\n \n \tfor (i = 0; i < msg_size; i++)\n-\t\tnn_cfg_writel(&hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i, msg->raw[i]);\n+\t\tnn_cfg_writel(&net_hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i, msg->raw[i]);\n \n-\tret = nfp_net_mbox_reconfig(hw, NFP_NET_CFG_MBOX_CMD_IPSEC);\n+\tret = nfp_net_mbox_reconfig(net_hw, NFP_NET_CFG_MBOX_CMD_IPSEC);\n \tif (ret < 0) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to IPsec reconfig mbox\");\n \t\treturn ret;\n@@ -459,7 +459,7 @@ nfp_ipsec_cfg_cmd_issue(struct nfp_net_hw *hw,\n \t * response. One example where the data is needed is for statistics.\n \t */\n \tfor (i = 0; i < msg_size; i++)\n-\t\tmsg->raw[i] = nn_cfg_readl(&hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i);\n+\t\tmsg->raw[i] = nn_cfg_readl(&net_hw->super, NFP_NET_CFG_MBOX_VAL + 4 * i);\n \n \tswitch (msg->rsp) {\n \tcase NFP_IPSEC_CFG_MSG_OK:\n@@ -577,10 +577,10 @@ nfp_aead_map(struct rte_eth_dev *eth_dev,\n \tuint32_t device_id;\n \tconst char *iv_str;\n \tconst uint32_t *key;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n-\tdevice_id = hw->device_id;\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tdevice_id = net_hw->device_id;\n \toffset = 0;\n \n \tswitch (aead->algo) {\n@@ -665,10 +665,10 @@ nfp_cipher_map(struct rte_eth_dev *eth_dev,\n \tuint32_t i;\n \tuint32_t device_id;\n \tconst uint32_t *key;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n-\tdevice_id = hw->device_id;\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tdevice_id = net_hw->device_id;\n \n \tswitch (cipher->algo) {\n \tcase RTE_CRYPTO_CIPHER_NULL:\n@@ -801,15 +801,15 @@ nfp_auth_map(struct rte_eth_dev *eth_dev,\n \tuint8_t key_length;\n \tuint32_t device_id;\n \tconst uint32_t *key;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n \tif (digest_length == 0) {\n \t\tPMD_DRV_LOG(ERR, \"Auth digest length is illegal!\");\n \t\treturn -EINVAL;\n \t}\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n-\tdevice_id = hw->device_id;\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tdevice_id = net_hw->device_id;\n \tdigest_length = digest_length << 3;\n \n \tswitch (auth->algo) {\n@@ -1068,7 +1068,7 @@ nfp_crypto_create_session(void *device,\n {\n \tint ret;\n \tint sa_idx;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_ipsec_msg msg;\n \tstruct rte_eth_dev *eth_dev;\n \tstruct nfp_ipsec_session *priv_session;\n@@ -1082,14 +1082,14 @@ nfp_crypto_create_session(void *device,\n \tsa_idx = -1;\n \teth_dev = device;\n \tpriv_session = SECURITY_GET_SESS_PRIV(session);\n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n \n-\tif (hw->ipsec_data->sa_free_cnt == 0) {\n+\tif (net_hw->ipsec_data->sa_free_cnt == 0) {\n \t\tPMD_DRV_LOG(ERR, \"No space in SA table, spi: %d\", conf->ipsec.spi);\n \t\treturn -EINVAL;\n \t}\n \n-\tnfp_get_sa_entry(hw->ipsec_data, &sa_idx);\n+\tnfp_get_sa_entry(net_hw->ipsec_data, &sa_idx);\n \n \tif (sa_idx < 0) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to get SA entry!\");\n@@ -1105,7 +1105,7 @@ nfp_crypto_create_session(void *device,\n \n \tmsg.cmd = NFP_IPSEC_CFG_MSG_ADD_SA;\n \tmsg.sa_idx = sa_idx;\n-\tret = nfp_ipsec_cfg_cmd_issue(hw, &msg);\n+\tret = nfp_ipsec_cfg_cmd_issue(net_hw, &msg);\n \tif (ret < 0) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to add SA to nic\");\n \t\treturn -EINVAL;\n@@ -1118,8 +1118,8 @@ nfp_crypto_create_session(void *device,\n \tpriv_session->dev = eth_dev;\n \tpriv_session->user_data = conf->userdata;\n \n-\thw->ipsec_data->sa_free_cnt--;\n-\thw->ipsec_data->sa_entries[sa_idx] = priv_session;\n+\tnet_hw->ipsec_data->sa_free_cnt--;\n+\tnet_hw->ipsec_data->sa_entries[sa_idx] = priv_session;\n \n \treturn 0;\n }\n@@ -1156,19 +1156,19 @@ nfp_security_set_pkt_metadata(void *device,\n {\n \tint offset;\n \tuint64_t *sqn;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct rte_eth_dev *eth_dev;\n \tstruct nfp_ipsec_session *priv_session;\n \n \tsqn = params;\n \teth_dev = device;\n \tpriv_session = SECURITY_GET_SESS_PRIV(session);\n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n \n \tif (priv_session->ipsec.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) {\n \t\tstruct nfp_tx_ipsec_desc_msg *desc_md;\n \n-\t\toffset = hw->ipsec_data->pkt_dynfield_offset;\n+\t\toffset = net_hw->ipsec_data->pkt_dynfield_offset;\n \t\tdesc_md = RTE_MBUF_DYNFIELD(m, offset, struct nfp_tx_ipsec_desc_msg *);\n \n \t\tif (priv_session->msg.ctrl_word.ext_seq != 0 && sqn != NULL) {\n@@ -1223,7 +1223,7 @@ nfp_security_session_get_stats(void *device,\n \t\tstruct rte_security_stats *stats)\n {\n \tint ret;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_ipsec_msg msg;\n \tstruct rte_eth_dev *eth_dev;\n \tstruct ipsec_get_sa_stats *cfg_s;\n@@ -1236,9 +1236,9 @@ nfp_security_session_get_stats(void *device,\n \tmemset(&msg, 0, sizeof(msg));\n \tmsg.cmd = NFP_IPSEC_CFG_MSG_GET_SA_STATS;\n \tmsg.sa_idx = priv_session->sa_index;\n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n \n-\tret = nfp_ipsec_cfg_cmd_issue(hw, &msg);\n+\tret = nfp_ipsec_cfg_cmd_issue(net_hw, &msg);\n \tif (ret < 0) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to get SA stats\");\n \t\treturn ret;\n@@ -1284,22 +1284,22 @@ nfp_crypto_remove_sa(struct rte_eth_dev *eth_dev,\n {\n \tint ret;\n \tuint32_t sa_index;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_ipsec_msg cfg;\n \n \tsa_index = priv_session->sa_index;\n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);\n \n \tcfg.cmd = NFP_IPSEC_CFG_MSG_INV_SA;\n \tcfg.sa_idx = sa_index;\n-\tret = nfp_ipsec_cfg_cmd_issue(hw, &cfg);\n+\tret = nfp_ipsec_cfg_cmd_issue(net_hw, &cfg);\n \tif (ret < 0) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to remove SA!\");\n \t\treturn -EINVAL;\n \t}\n \n-\thw->ipsec_data->sa_free_cnt++;\n-\thw->ipsec_data->sa_entries[sa_index] = NULL;\n+\tnet_hw->ipsec_data->sa_free_cnt++;\n+\tnet_hw->ipsec_data->sa_entries[sa_index] = NULL;\n \n \treturn 0;\n }\n@@ -1377,12 +1377,12 @@ nfp_ipsec_init(struct rte_eth_dev *dev)\n {\n \tint ret;\n \tuint32_t cap_extend;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_net_ipsec_data *data;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n-\tcap_extend = hw->super.cap_ext;\n+\tcap_extend = net_hw->super.cap_ext;\n \tif ((cap_extend & NFP_NET_CFG_CTRL_IPSEC) == 0) {\n \t\tPMD_INIT_LOG(INFO, \"Unsupported IPsec extend capability\");\n \t\treturn 0;\n@@ -1396,7 +1396,7 @@ nfp_ipsec_init(struct rte_eth_dev *dev)\n \n \tdata->pkt_dynfield_offset = -1;\n \tdata->sa_free_cnt = NFP_NET_IPSEC_MAX_SA_CNT;\n-\thw->ipsec_data = data;\n+\tnet_hw->ipsec_data = data;\n \n \tret = nfp_ipsec_ctx_create(dev, data);\n \tif (ret != 0) {\n@@ -1424,12 +1424,12 @@ nfp_ipsec_uninit(struct rte_eth_dev *dev)\n {\n \tuint16_t i;\n \tuint32_t cap_extend;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_ipsec_session *priv_session;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n-\tcap_extend = hw->super.cap_ext;\n+\tcap_extend = net_hw->super.cap_ext;\n \tif ((cap_extend & NFP_NET_CFG_CTRL_IPSEC) == 0) {\n \t\tPMD_INIT_LOG(INFO, \"Unsupported IPsec extend capability\");\n \t\treturn;\n@@ -1437,17 +1437,17 @@ nfp_ipsec_uninit(struct rte_eth_dev *dev)\n \n \tnfp_ipsec_ctx_destroy(dev);\n \n-\tif (hw->ipsec_data == NULL) {\n+\tif (net_hw->ipsec_data == NULL) {\n \t\tPMD_INIT_LOG(INFO, \"IPsec data is NULL!\");\n \t\treturn;\n \t}\n \n \tfor (i = 0; i < NFP_NET_IPSEC_MAX_SA_CNT; i++) {\n-\t\tpriv_session = hw->ipsec_data->sa_entries[i];\n+\t\tpriv_session = net_hw->ipsec_data->sa_entries[i];\n \t\tif (priv_session != NULL)\n \t\t\tmemset(priv_session, 0, sizeof(struct nfp_ipsec_session));\n \t}\n \n-\trte_free(hw->ipsec_data);\n+\trte_free(net_hw->ipsec_data);\n }\n \ndiff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c\nindex a760fcf0d2..01574de963 100644\n--- a/drivers/net/nfp/nfp_net_common.c\n+++ b/drivers/net/nfp/nfp_net_common.c\n@@ -336,7 +336,7 @@ nfp_ext_reconfig(struct nfp_hw *hw,\n /**\n  * Reconfigure the firmware via the mailbox\n  *\n- * @param hw\n+ * @param net_hw\n  *   Device to reconfigure\n  * @param mbox_cmd\n  *   The value for the mailbox command\n@@ -346,24 +346,24 @@ nfp_ext_reconfig(struct nfp_hw *hw,\n  *   - (-EIO) if I/O err and fail to reconfigure by the mailbox\n  */\n int\n-nfp_net_mbox_reconfig(struct nfp_net_hw *hw,\n+nfp_net_mbox_reconfig(struct nfp_net_hw *net_hw,\n \t\tuint32_t mbox_cmd)\n {\n \tint ret;\n \tuint32_t mbox;\n \n-\tmbox = hw->tlv_caps.mbox_off;\n+\tmbox = net_hw->tlv_caps.mbox_off;\n \n-\trte_spinlock_lock(&hw->super.reconfig_lock);\n+\trte_spinlock_lock(&net_hw->super.reconfig_lock);\n \n-\tnn_cfg_writeq(&hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);\n-\tnn_cfg_writel(&hw->super, NFP_NET_CFG_UPDATE, NFP_NET_CFG_UPDATE_MBOX);\n+\tnn_cfg_writeq(&net_hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);\n+\tnn_cfg_writel(&net_hw->super, NFP_NET_CFG_UPDATE, NFP_NET_CFG_UPDATE_MBOX);\n \n \trte_wmb();\n \n-\tret = nfp_reconfig_real(&hw->super, NFP_NET_CFG_UPDATE_MBOX);\n+\tret = nfp_reconfig_real(&net_hw->super, NFP_NET_CFG_UPDATE_MBOX);\n \n-\trte_spinlock_unlock(&hw->super.reconfig_lock);\n+\trte_spinlock_unlock(&net_hw->super.reconfig_lock);\n \n \tif (ret != 0) {\n \t\tPMD_DRV_LOG(ERR, \"Error nft net mailbox reconfig: mbox=%#08x update=%#08x\",\n@@ -371,7 +371,7 @@ nfp_net_mbox_reconfig(struct nfp_net_hw *hw,\n \t\treturn -EIO;\n \t}\n \n-\treturn nn_cfg_readl(&hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);\n+\treturn nn_cfg_readl(&net_hw->super, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);\n }\n \n /*\n@@ -625,6 +625,7 @@ nfp_configure_rx_interrupt(struct rte_eth_dev *dev,\n uint32_t\n nfp_check_offloads(struct rte_eth_dev *dev)\n {\n+\tuint32_t cap;\n \tuint32_t ctrl = 0;\n \tuint64_t rx_offload;\n \tuint64_t tx_offload;\n@@ -632,13 +633,14 @@ nfp_check_offloads(struct rte_eth_dev *dev)\n \tstruct rte_eth_conf *dev_conf;\n \n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tcap = hw->super.cap;\n \n \tdev_conf = &dev->data->dev_conf;\n \trx_offload = dev_conf->rxmode.offloads;\n \ttx_offload = dev_conf->txmode.offloads;\n \n \tif ((rx_offload & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) != 0) {\n-\t\tif ((hw->super.cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)\n+\t\tif ((cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_RXCSUM;\n \t}\n \n@@ -646,25 +648,25 @@ nfp_check_offloads(struct rte_eth_dev *dev)\n \t\tnfp_net_enable_rxvlan_cap(hw, &ctrl);\n \n \tif ((rx_offload & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0) {\n-\t\tif ((hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)\n+\t\tif ((cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_RXQINQ;\n \t}\n \n \thw->mtu = dev->data->mtu;\n \n \tif ((tx_offload & RTE_ETH_TX_OFFLOAD_VLAN_INSERT) != 0) {\n-\t\tif ((hw->super.cap & NFP_NET_CFG_CTRL_TXVLAN_V2) != 0)\n+\t\tif ((cap & NFP_NET_CFG_CTRL_TXVLAN_V2) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_TXVLAN_V2;\n-\t\telse if ((hw->super.cap & NFP_NET_CFG_CTRL_TXVLAN) != 0)\n+\t\telse if ((cap & NFP_NET_CFG_CTRL_TXVLAN) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_TXVLAN;\n \t}\n \n \t/* L2 broadcast */\n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_L2BC) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_L2BC) != 0)\n \t\tctrl |= NFP_NET_CFG_CTRL_L2BC;\n \n \t/* L2 multicast */\n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_L2MC) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_L2MC) != 0)\n \t\tctrl |= NFP_NET_CFG_CTRL_L2MC;\n \n \t/* TX checksum offload */\n@@ -676,7 +678,7 @@ nfp_check_offloads(struct rte_eth_dev *dev)\n \t/* LSO offload */\n \tif ((tx_offload & RTE_ETH_TX_OFFLOAD_TCP_TSO) != 0 ||\n \t\t\t(tx_offload & RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO) != 0) {\n-\t\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LSO) != 0)\n+\t\tif ((cap & NFP_NET_CFG_CTRL_LSO) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_LSO;\n \t\telse\n \t\t\tctrl |= NFP_NET_CFG_CTRL_LSO2;\n@@ -1194,6 +1196,7 @@ nfp_net_tx_desc_limits(struct nfp_net_hw *hw,\n int\n nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n {\n+\tuint32_t cap;\n \tuint32_t cap_extend;\n \tuint16_t min_rx_desc;\n \tuint16_t max_rx_desc;\n@@ -1224,32 +1227,34 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t/* Next should change when PF support is implemented */\n \tdev_info->max_mac_addrs = 1;\n \n-\tif ((hw->super.cap & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) != 0)\n+\tcap = hw->super.cap;\n+\n+\tif ((cap & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) != 0)\n \t\tdev_info->rx_offload_capa = RTE_ETH_RX_OFFLOAD_VLAN_STRIP;\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_RXQINQ) != 0)\n \t\tdev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_QINQ_STRIP;\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)\n \t\tdev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_IPV4_CKSUM |\n \t\t\t\tRTE_ETH_RX_OFFLOAD_UDP_CKSUM |\n \t\t\t\tRTE_ETH_RX_OFFLOAD_TCP_CKSUM;\n \n-\tif ((hw->super.cap & (NFP_NET_CFG_CTRL_TXVLAN | NFP_NET_CFG_CTRL_TXVLAN_V2)) != 0)\n+\tif ((cap & (NFP_NET_CFG_CTRL_TXVLAN | NFP_NET_CFG_CTRL_TXVLAN_V2)) != 0)\n \t\tdev_info->tx_offload_capa = RTE_ETH_TX_OFFLOAD_VLAN_INSERT;\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_TXCSUM) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_TXCSUM) != 0)\n \t\tdev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_IPV4_CKSUM |\n \t\t\t\tRTE_ETH_TX_OFFLOAD_UDP_CKSUM |\n \t\t\t\tRTE_ETH_TX_OFFLOAD_TCP_CKSUM;\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_LSO_ANY) != 0) {\n+\tif ((cap & NFP_NET_CFG_CTRL_LSO_ANY) != 0) {\n \t\tdev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_TCP_TSO;\n-\t\tif ((hw->super.cap & NFP_NET_CFG_CTRL_VXLAN) != 0)\n+\t\tif ((cap & NFP_NET_CFG_CTRL_VXLAN) != 0)\n \t\t\tdev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO;\n \t}\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_GATHER) != 0)\n+\tif ((cap & NFP_NET_CFG_CTRL_GATHER) != 0)\n \t\tdev_info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_MULTI_SEGS;\n \n \tcap_extend = hw->super.cap_ext;\n@@ -1292,7 +1297,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\t.nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG,\n \t};\n \n-\tif ((hw->super.cap & NFP_NET_CFG_CTRL_RSS_ANY) != 0) {\n+\tif ((cap & NFP_NET_CFG_CTRL_RSS_ANY) != 0) {\n \t\tdev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_RSS_HASH;\n \n \t\tdev_info->flow_type_rss_offloads = RTE_ETH_RSS_IPV4 |\n@@ -1615,9 +1620,11 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,\n \tuint8_t mask;\n \tuint32_t reta;\n \tuint16_t shift;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\thw = &net_hw->super;\n \n \tif (reta_size != NFP_NET_CFG_RSS_ITBL_SZ) {\n \t\tPMD_DRV_LOG(ERR, \"The size of hash lookup table configured (%hu)\"\n@@ -1642,7 +1649,7 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,\n \n \t\t/* If all 4 entries were set, don't need read RETA register */\n \t\tif (mask != 0xF)\n-\t\t\treta = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_ITBL + i);\n+\t\t\treta = nn_cfg_readl(hw, NFP_NET_CFG_RSS_ITBL + i);\n \n \t\tfor (j = 0; j < 4; j++) {\n \t\t\tif ((mask & (0x1 << j)) == 0)\n@@ -1655,7 +1662,7 @@ nfp_net_rss_reta_write(struct rte_eth_dev *dev,\n \t\t\treta |= reta_conf[idx].reta[shift + j] << (8 * j);\n \t\t}\n \n-\t\tnn_cfg_writel(&hw->super, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift, reta);\n+\t\tnn_cfg_writel(hw, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift, reta);\n \t}\n \n \treturn 0;\n@@ -1702,10 +1709,13 @@ nfp_net_reta_query(struct rte_eth_dev *dev,\n \tuint8_t mask;\n \tuint32_t reta;\n \tuint16_t shift;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n-\tif ((hw->super.ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\thw = &net_hw->super;\n+\n+\tif ((hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)\n \t\treturn -EINVAL;\n \n \tif (reta_size != NFP_NET_CFG_RSS_ITBL_SZ) {\n@@ -1728,7 +1738,7 @@ nfp_net_reta_query(struct rte_eth_dev *dev,\n \t\tif (mask == 0)\n \t\t\tcontinue;\n \n-\t\treta = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift);\n+\t\treta = nn_cfg_readl(hw, NFP_NET_CFG_RSS_ITBL + (idx * 64) + shift);\n \t\tfor (j = 0; j < 4; j++) {\n \t\t\tif ((mask & (0x1 << j)) == 0)\n \t\t\t\tcontinue;\n@@ -1748,15 +1758,17 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,\n \tuint8_t i;\n \tuint8_t key;\n \tuint64_t rss_hf;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tuint32_t cfg_rss_ctrl = 0;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\thw = &net_hw->super;\n \n \t/* Writing the key byte by byte */\n \tfor (i = 0; i < rss_conf->rss_key_len; i++) {\n \t\tmemcpy(&key, &rss_conf->rss_key[i], 1);\n-\t\tnn_cfg_writeb(&hw->super, NFP_NET_CFG_RSS_KEY + i, key);\n+\t\tnn_cfg_writeb(hw, NFP_NET_CFG_RSS_KEY + i, key);\n \t}\n \n \trss_hf = rss_conf->rss_hf;\n@@ -1789,10 +1801,10 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,\n \tcfg_rss_ctrl |= NFP_NET_CFG_RSS_TOEPLITZ;\n \n \t/* Configuring where to apply the RSS hash */\n-\tnn_cfg_writel(&hw->super, NFP_NET_CFG_RSS_CTRL, cfg_rss_ctrl);\n+\tnn_cfg_writel(hw, NFP_NET_CFG_RSS_CTRL, cfg_rss_ctrl);\n \n \t/* Writing the key size */\n-\tnn_cfg_writeb(&hw->super, NFP_NET_CFG_RSS_KEY_SZ, rss_conf->rss_key_len);\n+\tnn_cfg_writeb(hw, NFP_NET_CFG_RSS_KEY_SZ, rss_conf->rss_key_len);\n \n \treturn 0;\n }\n@@ -1843,16 +1855,18 @@ nfp_net_rss_hash_conf_get(struct rte_eth_dev *dev,\n \tuint8_t i;\n \tuint8_t key;\n \tuint64_t rss_hf;\n+\tstruct nfp_hw *hw;\n \tuint32_t cfg_rss_ctrl;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\thw = &net_hw->super;\n \n-\tif ((hw->super.ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)\n+\tif ((hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY) == 0)\n \t\treturn -EINVAL;\n \n \trss_hf = rss_conf->rss_hf;\n-\tcfg_rss_ctrl = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_CTRL);\n+\tcfg_rss_ctrl = nn_cfg_readl(hw, NFP_NET_CFG_RSS_CTRL);\n \n \tif ((cfg_rss_ctrl & NFP_NET_CFG_RSS_IPV4) != 0)\n \t\trss_hf |= RTE_ETH_RSS_IPV4;\n@@ -1882,11 +1896,11 @@ nfp_net_rss_hash_conf_get(struct rte_eth_dev *dev,\n \trss_conf->rss_hf = rss_hf;\n \n \t/* Reading the key size */\n-\trss_conf->rss_key_len = nn_cfg_readl(&hw->super, NFP_NET_CFG_RSS_KEY_SZ);\n+\trss_conf->rss_key_len = nn_cfg_readl(hw, NFP_NET_CFG_RSS_KEY_SZ);\n \n \t/* Reading the key byte a byte */\n \tfor (i = 0; i < rss_conf->rss_key_len; i++) {\n-\t\tkey = nn_cfg_readb(&hw->super, NFP_NET_CFG_RSS_KEY + i);\n+\t\tkey = nn_cfg_readb(hw, NFP_NET_CFG_RSS_KEY + i);\n \t\tmemcpy(&rss_conf->rss_key[i], &key, 1);\n \t}\n \ndiff --git a/drivers/net/nfp/nfp_net_ctrl.c b/drivers/net/nfp/nfp_net_ctrl.c\nindex d469896a64..8848fa38fe 100644\n--- a/drivers/net/nfp/nfp_net_ctrl.c\n+++ b/drivers/net/nfp/nfp_net_ctrl.c\n@@ -29,15 +29,15 @@ nfp_net_tlv_caps_parse(struct rte_eth_dev *dev)\n \tuint32_t length;\n \tuint32_t offset;\n \tuint32_t tlv_type;\n-\tstruct nfp_net_hw *hw;\n+\tstruct nfp_net_hw *net_hw;\n \tstruct nfp_net_tlv_caps *caps;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n-\tcaps = &hw->tlv_caps;\n+\tnet_hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tcaps = &net_hw->tlv_caps;\n \tnfp_net_tlv_caps_reset(caps);\n \n-\tdata = hw->super.ctrl_bar + NFP_NET_CFG_TLV_BASE;\n-\tend = hw->super.ctrl_bar + NFP_NET_CFG_BAR_SZ;\n+\tdata = net_hw->super.ctrl_bar + NFP_NET_CFG_TLV_BASE;\n+\tend = net_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->super.ctrl_bar;\n+\t\toffset = data - net_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->super.ctrl_bar;\n+\t\t\t\tcaps->mbox_off = data - net_hw->super.ctrl_bar;\n \t\t\telse\n \t\t\t\tcaps->mbox_off = 0;\n \t\t\tbreak;\ndiff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c\nindex f17cc13cc1..fc94e5f0b9 100644\n--- a/drivers/net/nfp/nfp_rxtx.c\n+++ b/drivers/net/nfp/nfp_rxtx.c\n@@ -336,10 +336,10 @@ nfp_net_parse_meta_vlan(const struct nfp_meta_parsed *meta,\n \t\tstruct nfp_net_rxq *rxq,\n \t\tstruct rte_mbuf *mb)\n {\n-\tstruct nfp_net_hw *hw = rxq->hw;\n+\tuint32_t ctrl = rxq->hw->super.ctrl;\n \n-\t/* Skip if firmware don't support setting vlan. */\n-\tif ((hw->super.ctrl & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) == 0)\n+\t/* Skip if hardware don't support setting vlan. */\n+\tif ((ctrl & (NFP_NET_CFG_CTRL_RXVLAN | NFP_NET_CFG_CTRL_RXVLAN_V2)) == 0)\n \t\treturn;\n \n \t/*\n@@ -347,12 +347,12 @@ nfp_net_parse_meta_vlan(const struct nfp_meta_parsed *meta,\n \t * 1. Using the metadata when NFP_NET_CFG_CTRL_RXVLAN_V2 is set,\n \t * 2. Using the descriptor when NFP_NET_CFG_CTRL_RXVLAN is set.\n \t */\n-\tif ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXVLAN_V2) != 0) {\n+\tif ((ctrl & NFP_NET_CFG_CTRL_RXVLAN_V2) != 0) {\n \t\tif (meta->vlan_layer > 0 && meta->vlan[0].offload != 0) {\n \t\t\tmb->vlan_tci = rte_cpu_to_le_32(meta->vlan[0].tci);\n \t\t\tmb->ol_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;\n \t\t}\n-\t} else if ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXVLAN) != 0) {\n+\t} else if ((ctrl & NFP_NET_CFG_CTRL_RXVLAN) != 0) {\n \t\tif ((rxd->rxd.flags & PCIE_DESC_RX_VLAN) != 0) {\n \t\t\tmb->vlan_tci = rte_cpu_to_le_32(rxd->rxd.offload_info);\n \t\t\tmb->ol_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;\n@@ -383,10 +383,10 @@ nfp_net_parse_meta_qinq(const struct nfp_meta_parsed *meta,\n \t\tstruct nfp_net_rxq *rxq,\n \t\tstruct rte_mbuf *mb)\n {\n-\tstruct nfp_net_hw *hw = rxq->hw;\n+\tstruct nfp_hw *hw = &rxq->hw->super;\n \n-\tif ((hw->super.ctrl & NFP_NET_CFG_CTRL_RXQINQ) == 0 ||\n-\t\t\t(hw->super.cap & NFP_NET_CFG_CTRL_RXQINQ) == 0)\n+\tif ((hw->ctrl & NFP_NET_CFG_CTRL_RXQINQ) == 0 ||\n+\t\t\t(hw->cap & NFP_NET_CFG_CTRL_RXQINQ) == 0)\n \t\treturn;\n \n \tif (meta->vlan_layer < NFP_META_MAX_VLANS)\n",
    "prefixes": [
        "v2",
        "12/25"
    ]
}