get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 132568,
    "url": "http://patchwork.dpdk.org/api/patches/132568/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20231012012704.483828-11-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": "<20231012012704.483828-11-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231012012704.483828-11-chaoyong.he@corigine.com",
    "date": "2023-10-12T01:27:03",
    "name": "[v2,10/11] net/nfp: adjust logic to make it more readable",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "4828de8009d02513367c534ab57b822316a7c8e4",
    "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/20231012012704.483828-11-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29821,
            "url": "http://patchwork.dpdk.org/api/series/29821/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29821",
            "date": "2023-10-12T01:26:53",
            "name": "Unify the PMD coding style",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/29821/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/132568/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/132568/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 CBE644236A;\n\tThu, 12 Oct 2023 03:29:11 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AA9B440DFD;\n\tThu, 12 Oct 2023 03:28:10 +0200 (CEST)",
            "from NAM02-DM3-obe.outbound.protection.outlook.com\n (mail-dm3nam02on2096.outbound.protection.outlook.com [40.107.95.96])\n by mails.dpdk.org (Postfix) with ESMTP id 8987F40DF5\n for <dev@dpdk.org>; Thu, 12 Oct 2023 03:28:07 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by SJ0PR13MB6111.namprd13.prod.outlook.com (2603:10b6:a03:4eb::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.42; Thu, 12 Oct\n 2023 01:28:05 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::2d5:f7d6:ecde:c93a]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::2d5:f7d6:ecde:c93a%4]) with mapi id 15.20.6863.032; Thu, 12 Oct 2023\n 01:28:05 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=XwgDTBELAaLf4XILo4FGACbuz01nG27z2I6ltIwjOUuvJ4sQgFJL77weF5NZsYGdvHDpkf/dANVD9HsQ0aDoWS/ZXOfGOyJ+NnqmFtMvjcxblGwu19zSUmiag2XBNUufydWSlB1rSjFflDkKyQKULAnuvLZyTen1acCzDr0Y0QQrd7D7j7AxhYV+Mf7+dgjljv+wRZk64EGsd8f1F8CcPzsJZeOrJw73iNDBSGEaExY8yHseq4G9fAHjEIhjf4XHOCYjNLk5qlZt44WWkTK4MBD8d6+fYPZwnuDJPkc0UrVD+kMEWtjVy0PqMjGGjBFr+/DLZMYkB5NvNohbLG5jzQ==",
        "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=SSy8ulcHXvmcO3rcGfiR99rbNEFj21os2/+tSHOQYgA=;\n b=hfyhA7vP7+8+FLwD6YvTZhCS+SyKcQ8x/56w7+k0P+qhdEkRaeoPYZfu3XIWHOrjtd8ptE+MuJxvMob0iog3iwcpFCa5uH0xprskSh916pLXQkLulE6n45VzGO7GWUpm3Pa3qoy+hyVBJKoO2Mcw3RkGFDy8/oo6+lpkSG+PsssdKvj+6X10H366iFnW3nYIIysIXIvuOAGKlZgo3CZW9Zu98urv0xCJOEKIrF7IyeB4izzSI2wclppIbQqRnnZp/gCV/VCdYyj2yyCtc1LVw5qYvlX3d7h3g7YFTsl1P9U3iSqyU7gpxz27cbRp/R7S/JvV7e3ty82U/7io70XKow==",
        "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=SSy8ulcHXvmcO3rcGfiR99rbNEFj21os2/+tSHOQYgA=;\n b=IIeDhcA1N7RFxX+lMt/1I2qusPOjpDI2ec+hh/rhuy8H/EGLwx/8IXUzbq6XxT/Hytch91YkR1RIXEHIARZ62HPq6jY7I4akJZhB/Xf7BscDPGZ98abY1ro6ZXNMUxTeGgNyr5E76m3OsQYwUZIznGDXUc7va2xNZOs90GZl0/E=",
        "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 10/11] net/nfp: adjust logic to make it more readable",
        "Date": "Thu, 12 Oct 2023 09:27:03 +0800",
        "Message-Id": "<20231012012704.483828-11-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20231012012704.483828-1-chaoyong.he@corigine.com>",
        "References": "<20231007023339.1546659-1-chaoyong.he@corigine.com>\n <20231012012704.483828-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "PH8PR15CA0015.namprd15.prod.outlook.com\n (2603:10b6:510:2d2::23) 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_|SJ0PR13MB6111:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "80dfc28a-7d0d-4a18-1096-08dbcac27bf1",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n 27/i/bGucaI0FDXlF7VuIZjmjcFOVyC1qEw7QDSUb/Dg+dCAf776tUFSosMGlhKVLzMLh34P+6QYNFNEREoRKFVU3Y/fvFL0YIHyvcOjPxYIB7Bn5CJfqk8sKM20dbcMnp4hgFrekALkuzSzMxv+nKN3iGpctejzeysJzVn3FSsqbGSgq2rraTAs4cK5StLj2JcK2tqzdSQiH4Ou5gTlGcXNPwGAjvK0szDuPfWEPqJU0/FRVBP+mBNDBwnPsU8g3pBrfKqcckhCA9WEiGTncZENM+uFW0HoReeJYxpRJW6HYbAqIaYSg3tOVP4k/SZlVgv62vOrZat5XTvC3kcqebDgwC3zs45nw/CiydJW295Qj9xdE0bbtGt3gGuc/YwuaSS215uQHeVcUCEsZCeOsfoccxz2iLx7QyqVmr1F76Pu/FbwFMY1obs6O+p4UdpS2+7tzGVFkamom4iBqhvdICVhgrMvlVZQhfgzZwotYvdK1tpp9KjG/3GmZV5Bt2qjQl1jfIUO86PWKCXZ98Yo3cFQYNTStg6dpTDI1zHxOp54zz3xxnKXqPnb9gwBCxUA2IdbZ+toCLz93I5OH+9yC4Mu1tet/MC9g2XfmLfW6qXr+mVoiczBPniig8T4Zc+UokFpRiHShxDqYptH0XJ5HIf7HlXdJRlhyiSDYm4q2BU=",
        "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)(366004)(136003)(376002)(396003)(39830400003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(6512007)(107886003)(52116002)(1076003)(2616005)(6506007)(478600001)(26005)(6486002)(83380400001)(44832011)(8676002)(30864003)(2906002)(316002)(54906003)(5660300002)(41300700001)(66946007)(66476007)(66556008)(4326008)(8936002)(6916009)(36756003)(38100700002)(86362001)(38350700002);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n H2h1lsVHHFMpBeGsakc9KhRTkp2lAQbaTaMnM+ZmpzBXfDnDWhhnSabBXkDlA4u1ocDfwCKFebq42QWrDmJ2O10utE5UxUM656RqfJAWndcko+FCEY6Xi2SjvtIsHzBUI3Ssxq9W6CMPF0285NedxHGTMqSHCpYT2yYxGsZeLWXoxDRbMTWC78MBPgOCzgRnLq2CxcqESbiD7r7KG/gCSppRVybP6R7B4/WzRJoZuX3hti7lgxn530xW3iPd599SpgyyeFNFM28eXc/JV8XeMZV4EUtv27Curc+s9MaV4yIiVDdyEI0hXb5w743jwjw1z0U2Efv7F6/+rhLR5kvqZ69RWLDRpO/lHgGfG7iniYyyE0Xnx+1DhPn4PTlc65pPXUJdPZKNP+tF2U0R5mXcw1QyYF3URH8K/DiO/DRUSXrQu0S1G8bZSAUXFTbCMUuLGYqKWqqrb0YgqXN6sNdw6w3wRIlWXy6CFnn0tF9vDwdIbIzLCnG6cG0x+9rnvJPnFjqI3+LfSeRWuxMqhNwCNOab8Wwe4UjKNqBgQ/uRggdVAjxLNy/Uq6hJKsGFnSaVFZCMsrliJGxgbf3Pd3Zct8AZWDaBu2Kjx/XVRpwDHTpAJNgfLOy6fU7r9xjidIkBtbuGFu545C4QYd1c33mW9Qzj+OUV/rFFustqUx8T02/FA9rmfOMEENW0cR29xGEf1AOhecNtWf6t9T39UC4B+/cEU1SR3KFRzNz+h512JxfgBYoZxBb9h+pHIxwPwL4FDZu6ExJ8l0AGt41wnHhVTIaLfHa4AxSQclvLRmoPAawQIh1ZHiPZmDFSFvImYi70SyXsN0pnR7zBlNpLg9WxMsdyXmGxDHfQInjYpS16sCsWu+qcw4QrKBI4Gf2nwQKyUehcWu1tTXrF8VY/jizTv4k9+Vv0C+yP8ukaszFmm+zwb92wWE5OJDW8A7L3H+gKQ44BC+3OUKhMYA5gpur8QVFFriRUQatXR1sSmMCfXtOpJh6vDmRBaOVPRjxf85G3AvxBdB6CA80RImcS75MJ+VR8FzKkjCCHDN3y3ATDWy9FnccCnOB0MUY85aDh8S/irSyibAJSJXNX7umlTaMpx/v6Sn5sWpvECzWQ+EfbxESd20qGC1uSwStpygYVXqS3NtDqW0LckoegXEbs8ycxR2/SklqVECCipn4SLREDiDUv3iHGoZFLAwwwPmaSO8kvyDvTgAehLq/+vQcL68I9WlehDtUWYpVPRHG2G95VhgCTsQx4QMdHvi80zqpg1E/ewCBd1GzdCLzHUmSoli8f4iMy2xUZUu5cyT+paszBQ2iO4XkUpH/Yoz0SaktTzAqBdbLEPRVkQ75XYlAJH/H32FU5orVj+PmwXOIG1X4fNYXwBgEk/djczIOxiQkQcqhmv+yALVAF5HfHcObgqxV4pQ8zWp+5DGA9juri5hqaDI2rjYM98s76cmFFbhRyTUEm+nG2qh8nSMM4Mot7Jey50QxVU/hN1AByq4rKJ4RUTmon8vC1dXnAT8Eq7iDztiItaCbo81osnvzcSOELlr/SSMhOjB8yeyLRGN0p+9uqBMK7aFnjVod3SDqciF4NTOsb5JYRcaXI+iJZ4WGjRZzzbw==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 80dfc28a-7d0d-4a18-1096-08dbcac27bf1",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Oct 2023 01:28:05.8011 (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 CYtOYVVGPTXCeEjG49rCODTlaxtjJllMjwVborYGm2hZbxwTzVD09AzT4k71UKee03+k7EMgS1nzpx7NCwGfXjtqLrCs8mDBZk8w+LHB0HM=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SJ0PR13MB6111",
        "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": "Adjust some logic to make it easier to understand.\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/nfp_common.c     | 87 +++++++++++++++++---------------\n drivers/net/nfp/nfp_cpp_bridge.c |  5 +-\n drivers/net/nfp/nfp_ctrl.h       |  2 -\n drivers/net/nfp/nfp_ethdev.c     | 23 ++++-----\n drivers/net/nfp/nfp_ethdev_vf.c  | 15 +++---\n drivers/net/nfp/nfp_rxtx.c       |  2 +-\n 6 files changed, 63 insertions(+), 71 deletions(-)",
    "diff": "diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c\nindex a102c6f272..2d834b29d9 100644\n--- a/drivers/net/nfp/nfp_common.c\n+++ b/drivers/net/nfp/nfp_common.c\n@@ -453,7 +453,7 @@ nfp_net_log_device_information(const struct nfp_net_hw *hw)\n }\n \n static inline void\n-nfp_net_enbable_rxvlan_cap(struct nfp_net_hw *hw,\n+nfp_net_enable_rxvlan_cap(struct nfp_net_hw *hw,\n \t\tuint32_t *ctrl)\n {\n \tif ((hw->cap & NFP_NET_CFG_CTRL_RXVLAN_V2) != 0)\n@@ -467,19 +467,19 @@ nfp_net_enable_queues(struct rte_eth_dev *dev)\n {\n \tuint16_t i;\n \tstruct nfp_net_hw *hw;\n-\tuint64_t enabled_queues = 0;\n+\tuint64_t enabled_queues;\n \n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n \t/* Enabling the required TX queues in the device */\n+\tenabled_queues = 0;\n \tfor (i = 0; i < dev->data->nb_tx_queues; i++)\n \t\tenabled_queues |= (1 << i);\n \n \tnn_cfg_writeq(hw, NFP_NET_CFG_TXRS_ENABLE, enabled_queues);\n \n-\tenabled_queues = 0;\n-\n \t/* Enabling the required RX queues in the device */\n+\tenabled_queues = 0;\n \tfor (i = 0; i < dev->data->nb_rx_queues; i++)\n \t\tenabled_queues |= (1 << i);\n \n@@ -619,33 +619,33 @@ uint32_t\n nfp_check_offloads(struct rte_eth_dev *dev)\n {\n \tuint32_t ctrl = 0;\n+\tuint64_t rx_offload;\n+\tuint64_t tx_offload;\n \tstruct nfp_net_hw *hw;\n \tstruct rte_eth_conf *dev_conf;\n-\tstruct rte_eth_rxmode *rxmode;\n-\tstruct rte_eth_txmode *txmode;\n \n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n \tdev_conf = &dev->data->dev_conf;\n-\trxmode = &dev_conf->rxmode;\n-\ttxmode = &dev_conf->txmode;\n+\trx_offload = dev_conf->rxmode.offloads;\n+\ttx_offload = dev_conf->txmode.offloads;\n \n-\tif ((rxmode->offloads & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) != 0) {\n+\tif ((rx_offload & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) != 0) {\n \t\tif ((hw->cap & NFP_NET_CFG_CTRL_RXCSUM) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_RXCSUM;\n \t}\n \n-\tif ((rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) != 0)\n-\t\tnfp_net_enbable_rxvlan_cap(hw, &ctrl);\n+\tif ((rx_offload & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) != 0)\n+\t\tnfp_net_enable_rxvlan_cap(hw, &ctrl);\n \n-\tif ((rxmode->offloads & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0) {\n+\tif ((rx_offload & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0) {\n \t\tif ((hw->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 ((txmode->offloads & RTE_ETH_TX_OFFLOAD_VLAN_INSERT) != 0) {\n+\tif ((tx_offload & RTE_ETH_TX_OFFLOAD_VLAN_INSERT) != 0) {\n \t\tif ((hw->cap & NFP_NET_CFG_CTRL_TXVLAN_V2) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_TXVLAN_V2;\n \t\telse if ((hw->cap & NFP_NET_CFG_CTRL_TXVLAN) != 0)\n@@ -661,14 +661,14 @@ nfp_check_offloads(struct rte_eth_dev *dev)\n \t\tctrl |= NFP_NET_CFG_CTRL_L2MC;\n \n \t/* TX checksum offload */\n-\tif ((txmode->offloads & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM) != 0 ||\n-\t\t\t(txmode->offloads & RTE_ETH_TX_OFFLOAD_UDP_CKSUM) != 0 ||\n-\t\t\t(txmode->offloads & RTE_ETH_TX_OFFLOAD_TCP_CKSUM) != 0)\n+\tif ((tx_offload & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM) != 0 ||\n+\t\t\t(tx_offload & RTE_ETH_TX_OFFLOAD_UDP_CKSUM) != 0 ||\n+\t\t\t(tx_offload & RTE_ETH_TX_OFFLOAD_TCP_CKSUM) != 0)\n \t\tctrl |= NFP_NET_CFG_CTRL_TXCSUM;\n \n \t/* LSO offload */\n-\tif ((txmode->offloads & RTE_ETH_TX_OFFLOAD_TCP_TSO) != 0 ||\n-\t\t\t(txmode->offloads & RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO) != 0) {\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->cap & NFP_NET_CFG_CTRL_LSO) != 0)\n \t\t\tctrl |= NFP_NET_CFG_CTRL_LSO;\n \t\telse\n@@ -676,7 +676,7 @@ nfp_check_offloads(struct rte_eth_dev *dev)\n \t}\n \n \t/* RX gather */\n-\tif ((txmode->offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS) != 0)\n+\tif ((tx_offload & RTE_ETH_TX_OFFLOAD_MULTI_SEGS) != 0)\n \t\tctrl |= NFP_NET_CFG_CTRL_GATHER;\n \n \treturn ctrl;\n@@ -766,11 +766,10 @@ nfp_net_link_update(struct rte_eth_dev *dev,\n \n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n-\t/* Read link status */\n-\tnn_link_status = nn_cfg_readw(hw, NFP_NET_CFG_STS);\n-\n \tmemset(&link, 0, sizeof(struct rte_eth_link));\n \n+\t/* Read link status */\n+\tnn_link_status = nn_cfg_readw(hw, NFP_NET_CFG_STS);\n \tif ((nn_link_status & NFP_NET_CFG_STS_LINK) != 0)\n \t\tlink.link_status = RTE_ETH_LINK_UP;\n \n@@ -828,6 +827,9 @@ nfp_net_stats_get(struct rte_eth_dev *dev,\n \tstruct nfp_net_hw *hw;\n \tstruct rte_eth_stats nfp_dev_stats;\n \n+\tif (stats == NULL)\n+\t\treturn -EINVAL;\n+\n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \n \tmemset(&nfp_dev_stats, 0, sizeof(nfp_dev_stats));\n@@ -892,11 +894,8 @@ nfp_net_stats_get(struct rte_eth_dev *dev,\n \t\t\tnn_cfg_readq(hw, NFP_NET_CFG_STATS_RX_DISCARDS);\n \tnfp_dev_stats.imissed -= hw->eth_stats_base.imissed;\n \n-\tif (stats != NULL) {\n-\t\tmemcpy(stats, &nfp_dev_stats, sizeof(*stats));\n-\t\treturn 0;\n-\t}\n-\treturn -EINVAL;\n+\tmemcpy(stats, &nfp_dev_stats, sizeof(*stats));\n+\treturn 0;\n }\n \n /*\n@@ -1379,13 +1378,14 @@ nfp_rx_queue_intr_enable(struct rte_eth_dev *dev,\n \tstruct nfp_net_hw *hw;\n \tstruct rte_pci_device *pci_dev;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \tpci_dev = RTE_ETH_DEV_TO_PCI(dev);\n \tif (rte_intr_type_get(pci_dev->intr_handle) != RTE_INTR_HANDLE_UIO)\n \t\tbase = 1;\n \n \t/* Make sure all updates are written before un-masking */\n \trte_wmb();\n+\n+\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \tnn_cfg_writeb(hw, NFP_NET_CFG_ICR(base + queue_id),\n \t\t\tNFP_NET_CFG_ICR_UNMASKED);\n \treturn 0;\n@@ -1399,14 +1399,16 @@ nfp_rx_queue_intr_disable(struct rte_eth_dev *dev,\n \tstruct nfp_net_hw *hw;\n \tstruct rte_pci_device *pci_dev;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \tpci_dev = RTE_ETH_DEV_TO_PCI(dev);\n \tif (rte_intr_type_get(pci_dev->intr_handle) != RTE_INTR_HANDLE_UIO)\n \t\tbase = 1;\n \n \t/* Make sure all updates are written before un-masking */\n \trte_wmb();\n-\tnn_cfg_writeb(hw, NFP_NET_CFG_ICR(base + queue_id), 0x1);\n+\n+\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n+\tnn_cfg_writeb(hw, NFP_NET_CFG_ICR(base + queue_id), NFP_NET_CFG_ICR_RXTX);\n+\n \treturn 0;\n }\n \n@@ -1445,13 +1447,13 @@ nfp_net_irq_unmask(struct rte_eth_dev *dev)\n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \tpci_dev = RTE_ETH_DEV_TO_PCI(dev);\n \n+\t/* Make sure all updates are written before un-masking */\n+\trte_wmb();\n+\n \tif ((hw->ctrl & NFP_NET_CFG_CTRL_MSIXAUTO) != 0) {\n \t\t/* If MSI-X auto-masking is used, clear the entry */\n-\t\trte_wmb();\n \t\trte_intr_ack(pci_dev->intr_handle);\n \t} else {\n-\t\t/* Make sure all updates are written before un-masking */\n-\t\trte_wmb();\n \t\tnn_cfg_writeb(hw, NFP_NET_CFG_ICR(NFP_NET_IRQ_LSC_IDX),\n \t\t\t\tNFP_NET_CFG_ICR_UNMASKED);\n \t}\n@@ -1548,19 +1550,18 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev,\n \tint ret;\n \tuint32_t update;\n \tuint32_t new_ctrl;\n+\tuint64_t rx_offload;\n \tstruct nfp_net_hw *hw;\n \tuint32_t rxvlan_ctrl = 0;\n-\tstruct rte_eth_conf *dev_conf;\n \n \thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n-\tdev_conf = &dev->data->dev_conf;\n+\trx_offload = dev->data->dev_conf.rxmode.offloads;\n \tnew_ctrl = hw->ctrl;\n \n-\tnfp_net_enbable_rxvlan_cap(hw, &rxvlan_ctrl);\n-\n \t/* VLAN stripping setting */\n \tif ((mask & RTE_ETH_VLAN_STRIP_MASK) != 0) {\n-\t\tif ((dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) != 0)\n+\t\tnfp_net_enable_rxvlan_cap(hw, &rxvlan_ctrl);\n+\t\tif ((rx_offload & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) != 0)\n \t\t\tnew_ctrl |= rxvlan_ctrl;\n \t\telse\n \t\t\tnew_ctrl &= ~rxvlan_ctrl;\n@@ -1568,7 +1569,7 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev,\n \n \t/* QinQ stripping setting */\n \tif ((mask & RTE_ETH_QINQ_STRIP_MASK) != 0) {\n-\t\tif ((dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0)\n+\t\tif ((rx_offload & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) != 0)\n \t\t\tnew_ctrl |= NFP_NET_CFG_CTRL_RXQINQ;\n \t\telse\n \t\t\tnew_ctrl &= ~NFP_NET_CFG_CTRL_RXQINQ;\n@@ -1580,10 +1581,12 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev,\n \tupdate = NFP_NET_CFG_UPDATE_GEN;\n \n \tret = nfp_net_reconfig(hw, new_ctrl, update);\n-\tif (ret == 0)\n-\t\thw->ctrl = new_ctrl;\n+\tif (ret != 0)\n+\t\treturn ret;\n \n-\treturn ret;\n+\thw->ctrl = new_ctrl;\n+\n+\treturn 0;\n }\n \n static int\ndiff --git a/drivers/net/nfp/nfp_cpp_bridge.c b/drivers/net/nfp/nfp_cpp_bridge.c\nindex bb2a6fdcda..36dcdca9de 100644\n--- a/drivers/net/nfp/nfp_cpp_bridge.c\n+++ b/drivers/net/nfp/nfp_cpp_bridge.c\n@@ -22,9 +22,6 @@\n #define NFP_IOCTL_CPP_IDENTIFICATION _IOW(NFP_IOCTL, 0x8f, uint32_t)\n \n /* Prototypes */\n-static int nfp_cpp_bridge_serve_write(int sockfd, struct nfp_cpp *cpp);\n-static int nfp_cpp_bridge_serve_read(int sockfd, struct nfp_cpp *cpp);\n-static int nfp_cpp_bridge_serve_ioctl(int sockfd, struct nfp_cpp *cpp);\n static int nfp_cpp_bridge_service_func(void *args);\n \n int\n@@ -438,7 +435,7 @@ nfp_cpp_bridge_service_func(void *args)\n \t\t\treturn -EIO;\n \t\t}\n \n-\t\twhile (1) {\n+\t\tfor (;;) {\n \t\t\tret = recv(datafd, &op, 4, 0);\n \t\t\tif (ret <= 0) {\n \t\t\t\tPMD_CPP_LOG(DEBUG, \"%s: socket close\", __func__);\ndiff --git a/drivers/net/nfp/nfp_ctrl.h b/drivers/net/nfp/nfp_ctrl.h\nindex 5c2065a537..9ec51e0a25 100644\n--- a/drivers/net/nfp/nfp_ctrl.h\n+++ b/drivers/net/nfp/nfp_ctrl.h\n@@ -442,8 +442,6 @@ struct nfp_net_fw_ver {\n #define NFP_MAC_STATS_TX_PAUSE_FRAMES_CLASS6    (NFP_MAC_STATS_BASE + 0x1f0)\n #define NFP_MAC_STATS_TX_PAUSE_FRAMES_CLASS7    (NFP_MAC_STATS_BASE + 0x1f8)\n \n-#define NFP_PF_CSR_SLICE_SIZE    (32 * 1024)\n-\n /*\n  * General use mailbox area (0x1800 - 0x19ff)\n  * 4B used for update command and 4B return code followed by\ndiff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c\nindex b65c2c1fe0..c550c12e01 100644\n--- a/drivers/net/nfp/nfp_ethdev.c\n+++ b/drivers/net/nfp/nfp_ethdev.c\n@@ -80,7 +80,7 @@ nfp_net_start(struct rte_eth_dev *dev)\n \t\t\t * Better not to share LSC with RX interrupts.\n \t\t\t * Unregistering LSC interrupt handler.\n \t\t\t */\n-\t\t\trte_intr_callback_unregister(pci_dev->intr_handle,\n+\t\t\trte_intr_callback_unregister(intr_handle,\n \t\t\t\t\tnfp_net_dev_interrupt_handler, (void *)dev);\n \n \t\t\tif (dev->data->nb_rx_queues > 1) {\n@@ -525,7 +525,7 @@ 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_PF_CSR_SLICE_SIZE);\n+\t\thw->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 + (port * NFP_MAC_STATS_SIZE);\n \t}\n \n@@ -743,8 +743,7 @@ nfp_init_app_fw_nic(struct nfp_pf_dev *pf_dev,\n \t\tconst struct nfp_dev_info *dev_info)\n {\n \tuint8_t i;\n-\tint ret;\n-\tint err = 0;\n+\tint ret = 0;\n \tuint32_t total_vnics;\n \tstruct nfp_net_hw *hw;\n \tunsigned int numa_node;\n@@ -765,8 +764,8 @@ nfp_init_app_fw_nic(struct nfp_pf_dev *pf_dev,\n \tpf_dev->app_fw_priv = app_fw_nic;\n \n \t/* Read the number of vNIC's created for the PF */\n-\ttotal_vnics = nfp_rtsym_read_le(pf_dev->sym_tbl, \"nfd_cfg_pf0_num_ports\", &err);\n-\tif (err != 0 || total_vnics == 0 || total_vnics > 8) {\n+\ttotal_vnics = nfp_rtsym_read_le(pf_dev->sym_tbl, \"nfd_cfg_pf0_num_ports\", &ret);\n+\tif (ret != 0 || total_vnics == 0 || total_vnics > 8) {\n \t\tPMD_INIT_LOG(ERR, \"nfd_cfg_pf0_num_ports symbol with wrong value\");\n \t\tret = -ENODEV;\n \t\tgoto app_cleanup;\n@@ -874,8 +873,7 @@ nfp_init_app_fw_nic(struct nfp_pf_dev *pf_dev,\n static int\n nfp_pf_init(struct rte_pci_device *pci_dev)\n {\n-\tint ret;\n-\tint err = 0;\n+\tint ret = 0;\n \tuint64_t addr;\n \tuint32_t cpp_id;\n \tstruct nfp_cpp *cpp;\n@@ -943,8 +941,8 @@ nfp_pf_init(struct rte_pci_device *pci_dev)\n \t}\n \n \t/* Read the app ID of the firmware loaded */\n-\tapp_fw_id = nfp_rtsym_read_le(sym_tbl, \"_pf0_net_app_id\", &err);\n-\tif (err != 0) {\n+\tapp_fw_id = nfp_rtsym_read_le(sym_tbl, \"_pf0_net_app_id\", &ret);\n+\tif (ret != 0) {\n \t\tPMD_INIT_LOG(ERR, \"Couldn't read app_fw_id from fw\");\n \t\tret = -EIO;\n \t\tgoto sym_tbl_cleanup;\n@@ -1080,7 +1078,6 @@ nfp_secondary_init_app_fw_nic(struct rte_pci_device *pci_dev,\n static int\n nfp_pf_secondary_init(struct rte_pci_device *pci_dev)\n {\n-\tint err = 0;\n \tint ret = 0;\n \tstruct nfp_cpp *cpp;\n \tenum nfp_app_fw_id app_fw_id;\n@@ -1124,8 +1121,8 @@ nfp_pf_secondary_init(struct rte_pci_device *pci_dev)\n \t}\n \n \t/* Read the app ID of the firmware loaded */\n-\tapp_fw_id = nfp_rtsym_read_le(sym_tbl, \"_pf0_net_app_id\", &err);\n-\tif (err != 0) {\n+\tapp_fw_id = nfp_rtsym_read_le(sym_tbl, \"_pf0_net_app_id\", &ret);\n+\tif (ret != 0) {\n \t\tPMD_INIT_LOG(ERR, \"Couldn't read app_fw_id from fw\");\n \t\tgoto sym_tbl_cleanup;\n \t}\ndiff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c\nindex 7fb7b3efc5..ac6e67efc6 100644\n--- a/drivers/net/nfp/nfp_ethdev_vf.c\n+++ b/drivers/net/nfp/nfp_ethdev_vf.c\n@@ -39,8 +39,6 @@ nfp_netvf_start(struct rte_eth_dev *dev)\n \tstruct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);\n \tstruct rte_intr_handle *intr_handle = pci_dev->intr_handle;\n \n-\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n-\n \t/* Disabling queues just in case... */\n \tnfp_net_disable_queues(dev);\n \n@@ -54,7 +52,7 @@ nfp_netvf_start(struct rte_eth_dev *dev)\n \t\t\t * Better not to share LSC with RX interrupts.\n \t\t\t * Unregistering LSC interrupt handler.\n \t\t\t */\n-\t\t\trte_intr_callback_unregister(pci_dev->intr_handle,\n+\t\t\trte_intr_callback_unregister(intr_handle,\n \t\t\t\t\tnfp_net_dev_interrupt_handler, (void *)dev);\n \n \t\t\tif (dev->data->nb_rx_queues > 1) {\n@@ -77,6 +75,7 @@ nfp_netvf_start(struct rte_eth_dev *dev)\n \tnew_ctrl = nfp_check_offloads(dev);\n \n \t/* Writing configuration parameters in the device */\n+\thw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n \tnfp_net_params_setup(hw);\n \n \tdev_conf = &dev->data->dev_conf;\n@@ -244,15 +243,15 @@ static int\n nfp_netvf_init(struct rte_eth_dev *eth_dev)\n {\n \tint err;\n+\tuint16_t port;\n \tuint32_t start_q;\n-\tuint16_t port = 0;\n \tstruct nfp_net_hw *hw;\n \tuint64_t tx_bar_off = 0;\n \tuint64_t rx_bar_off = 0;\n \tstruct rte_pci_device *pci_dev;\n \tconst struct nfp_dev_info *dev_info;\n-\tstruct rte_ether_addr *tmp_ether_addr;\n \n+\tport = eth_dev->data->port_id;\n \tpci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);\n \n \tdev_info = nfp_dev_info_get(pci_dev->id.device_id);\n@@ -325,9 +324,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \t}\n \n \tnfp_netvf_read_mac(hw);\n-\n-\ttmp_ether_addr = &hw->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 %hu\", port);\n \t\t/* Using random mac addresses for VFs */\n \t\trte_eth_random_addr(&hw->mac_addr.addr_bytes[0]);\n@@ -344,7 +341,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)\n \n \tPMD_INIT_LOG(INFO, \"port %hu VendorID=%#x DeviceID=%#x \"\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\tport, pci_dev->id.vendor_id,\n \t\t\tpci_dev->id.device_id,\n \t\t\tRTE_ETHER_ADDR_BYTES(&hw->mac_addr));\n \ndiff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c\nindex e284a67d7c..6fcdcb0be7 100644\n--- a/drivers/net/nfp/nfp_rxtx.c\n+++ b/drivers/net/nfp/nfp_rxtx.c\n@@ -284,7 +284,7 @@ nfp_net_parse_chained_meta(uint8_t *meta_base,\n \t\t\tmeta->vlan[meta->vlan_layer].tci =\n \t\t\t\t\tvlan_info & NFP_NET_META_VLAN_MASK;\n \t\t\tmeta->vlan[meta->vlan_layer].tpid = NFP_NET_META_TPID(vlan_info);\n-\t\t\t++meta->vlan_layer;\n+\t\t\tmeta->vlan_layer++;\n \t\t\tbreak;\n \t\tcase NFP_NET_META_IPSEC:\n \t\t\tmeta->sa_idx = rte_be_to_cpu_32(*(rte_be32_t *)meta_offset);\n",
    "prefixes": [
        "v2",
        "10/11"
    ]
}