get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 131488,
    "url": "http://patchwork.dpdk.org/api/patches/131488/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230915091551.1459606-14-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": "<20230915091551.1459606-14-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230915091551.1459606-14-chaoyong.he@corigine.com",
    "date": "2023-09-15T09:15:37",
    "name": "[v3,13/27] net/nfp: refact the nffw module",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "74db11e1bed72301d90bda0282c415d3d66c7e9f",
    "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/20230915091551.1459606-14-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29520,
            "url": "http://patchwork.dpdk.org/api/series/29520/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29520",
            "date": "2023-09-15T09:15:24",
            "name": "refact the nfpcore module",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/29520/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/131488/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/131488/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 B1068425A3;\n\tFri, 15 Sep 2023 11:18:08 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A41A041144;\n\tFri, 15 Sep 2023 11:16:44 +0200 (CEST)",
            "from NAM12-BN8-obe.outbound.protection.outlook.com\n (mail-bn8nam12on2119.outbound.protection.outlook.com [40.107.237.119])\n by mails.dpdk.org (Postfix) with ESMTP id 7DCFF41611\n for <dev@dpdk.org>; Fri, 15 Sep 2023 11:16:42 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by CO1PR13MB4773.namprd13.prod.outlook.com (2603:10b6:303:fb::6) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.21; Fri, 15 Sep\n 2023 09:16:41 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::c05c:6915:1628:70c4]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::c05c:6915:1628:70c4%7]) with mapi id 15.20.6768.029; Fri, 15 Sep 2023\n 09:16:41 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=EOVNLBb359H1cKLIPTgITMmZyeWYK6efv2m9ehBFVUAPdrZzIXFbDLkLd7bK0nE8ThyWFlKaxVCg9nh7VNPFRzwrRo46P2M+qPF6pMIZwpJIK9ovryZVUTNRZeUr/AWYwpL7M8ET+C0yJCYdaeYdmjZWQnwyx1FMnoEB1OT1ushGoLq8MmUTHD7feZjSkU3NMQXWj2iPkG1ZT1ICyZMXn3MHXNkQJEXRD3duGBHnUxqvmfSidGmYYtm4g3gOs8uCxgjXDU6wBo5ccoeoiB7F1lGMzuXrglXG5ndNRptYb1VzmDMzJ1CQRu5EWD++RMG2RHFq2DLW427lHpm0PXNQsg==",
        "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=bQ2x2GLMRxYwDFcgHzgZ9xx0WHYYtSLbqMV0IvycA7s=;\n b=MFp3wSN4EmYKgoiO2OO+d0xuofX5kuXIhfnRdaTNFgaPZRrowVi17XOE0vlK+/E5EwKjFA5kR1Yy92soNwuCAbNm+IPc2L0yoG9hwj99ndRF+6EMK6uIa/CoBubNqJDeTTa26uhQtaJOlMSRwJsDl24ag7DKyF/SBazfZeDUhV6LjuJpyyaI9kHSV1++8xlRg2I7tFvOj/96TzoaQFqTlkoiHJgWynAE70OWdCUDSKia8y3w5IZYBYiEzM6BnAGwKsmEtImd6PUc3DJg9/2n0R184MRNepNSzDRn5mPl09wQQajEJ3l5/d8yTwiSv3pt/Yz5UB8JhosE/8Ekus4N/A==",
        "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=bQ2x2GLMRxYwDFcgHzgZ9xx0WHYYtSLbqMV0IvycA7s=;\n b=ZvgiwK6yXEA0QxMFj/ryrmSFS1ZSqF1Ox+7KCrCv7xFSYrOAeMjBsAywgLNplW34neOuThQEPoc3/rUE9zV7oF3h3yZgYQuTmjrXdqClywLVy6Sam3fi4LcHR1IYUq3tPu2EOZn+BoC/q/YDnpwFQsejDctmzSG+ZHyum2kW/KE=",
        "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\t=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@corigine.com>",
        "Subject": "[PATCH v3 13/27] net/nfp: refact the nffw module",
        "Date": "Fri, 15 Sep 2023 17:15:37 +0800",
        "Message-Id": "<20230915091551.1459606-14-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20230915091551.1459606-1-chaoyong.he@corigine.com>",
        "References": "<20230830021457.2064750-1-chaoyong.he@corigine.com>\n <20230915091551.1459606-1-chaoyong.he@corigine.com>",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "PH7PR10CA0017.namprd10.prod.outlook.com\n (2603:10b6:510:23d::10) 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_|CO1PR13MB4773:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "576751d4-cf71-45de-2abf-08dbb5cc78c8",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n MVbeX/5Zh3KHPxhEelG3kaidGtYSSC1wypnkrrraEUec1r2xpB/HNdIfCx01y4z3BYKXzOwLQiNXFMojxtjsZ425JkyeSd0CGvFSafL1f2ursfOR6wIQJW8SONn7rlDw7F8CK5qZLUaL8TRi0ZxFVGDsRFxA9X5/REMEj4enCnKKQTj/MEPPdU4tBvE9N2vFzVIO9Jtk19YJb+KuQXL7dG5RcgUnpJ/og5fiKHSiwdjfR+OaHYes9VOculH3bd8c2E5pqgVX58/4oKtTKvHXBCRIVx+cpxxSEGOHmX808ylWPNoi21gIiSdQ6lRfJxMScQkL0SULjsCK1xD5F/W8pSdBHuKhnyJEk3uuPGtQuT1ewDCeXEYL96OB1Pd4DGanqMibtwpwV8X2mexELIV7bDkFzaopKKl3OMquIHedY4en512xpu66ZsPve8CfAOzbyrxJxKzjbZ/35kGMhTS5BndNzMguY1I+BH4topOzNIUQHCbEM4gdhb7TX9SeX9LS5DF2VHJS94VjNOc5ClEppGUcmmx+W4L+VGNzBWiBwaJbSPie8VHbpa315gJEqm11SzXgD+sw6ZlijtKpmOybi3fvFjebOxLrDWNgKLdU4TWxJ+1fTmcTT1G4BHWAOll8sQ/f1oGCYEIqdhrj17sExVF6MLffNqqSD6IT7UxDa48=",
        "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)(39840400004)(346002)(136003)(376002)(396003)(366004)(451199024)(186009)(1800799009)(6512007)(107886003)(1076003)(2616005)(6666004)(52116002)(6506007)(6486002)(66946007)(26005)(316002)(41300700001)(66476007)(66556008)(6916009)(54906003)(5660300002)(4326008)(8676002)(38350700002)(8936002)(38100700002)(478600001)(66574015)(83380400001)(36756003)(44832011)(86362001)(2906002);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?PHi90TOcMC0Pf1aaFPxGjKutsHES?=\n\t=?utf-8?q?bjbN4hxFAfK+9ykr9n2wL/TLHdp41xbIsJVuZDyXSw8X1PnxobBX09MawXdwFHt6C?=\n\t=?utf-8?q?ouZqGOXaIeQxQYbPUm58jZsFHXt+PX3/7lh+NaJVvu7Da+wAyENgb9d0A5i17AEig?=\n\t=?utf-8?q?uzk6WIVChVVoZQhpCT2N5jA6kUYBEhuS5Nl7lz5s3s8lp25UouaLlOB9miaHZNKBc?=\n\t=?utf-8?q?DDsuB8AqNoIjfj+cyaxaG/IK5L5j6L/9TelYRSJ76jCVHizBNJ9cs2v2/z4atiH0f?=\n\t=?utf-8?q?6ZJNlsfJfI24SITl45rD3WcJGvr567V3xr55r8vs5JeyAu4OzTD4t9l9U3bihFOwC?=\n\t=?utf-8?q?SvEcSc5jVi2RzL2UngQs2cFpoJNqXWMKACuye5TFeET1tls6WnzIH+wlO5aA/YDSF?=\n\t=?utf-8?q?uAKhivyq7J4D/9aXqit64MZ36vQqUautJUD3JVUOZkdFS09jQDQFpxfTaFO7t4i0A?=\n\t=?utf-8?q?39+woprJDR/6YEDz9pSBXywRml9YhgEp3WxMo+PY/kEbzXDb3PyXgwcb0/RQnvdkb?=\n\t=?utf-8?q?S3rQpQ/M+Dnwcr2Y9XZAy3jxMnQpOFy0b0eUNFVmqrd8drGnh15X14IxsDStEa8h5?=\n\t=?utf-8?q?jpUl819ZCafyFXYnVjYEpQTtDrHCsjFinvEMliFM5dVXG3oQDJ+7m+If//yrhWbjZ?=\n\t=?utf-8?q?QwfXhIoOEqz29R/4bcxbNzaJnRubfAjxun+R/61CrnwQVp0btgaHjr4tsJmrOBFXL?=\n\t=?utf-8?q?BCmZzDW5vLOsfV4TtUb+S3Y4vK5x8K+/cRPUmhR0fvvIto65w24XCOV909acl7D7M?=\n\t=?utf-8?q?DvGhjDx5iD8P5kt5W5BKcdbVdl/NEesDVRwodtK/UlaIVfwtJpHKLxBKhs+YnEzKn?=\n\t=?utf-8?q?St6KvUXVTufT4GB3VyCNZdin9CFfbQyqQBxr/NFylUWwEppXGhfhNihfZNyylq0bN?=\n\t=?utf-8?q?wTm93QzfD2YmEarm0hyOHWBIuzpX2FacbfFAFkmoyzYpPFdPeV8cGQ07tXyMMfu6w?=\n\t=?utf-8?q?cFOyGbGN4NxImQFRRWlevIGKDCkxT8hescGTweO7rGg/jGqJV5OvGvQb+Se2b8BfJ?=\n\t=?utf-8?q?7WP1pEs0tG6WpKLOU2lp9qrrKXrJc7fQrjDUin06Q7FFIcZe0Mhw8JanizYrK6Hk3?=\n\t=?utf-8?q?HI3XJLBYiUKGGybOQ1Utj1iCthFQCGQlqe+Ck9XxJilCaz8N6oFtbDQlnjmXGVATO?=\n\t=?utf-8?q?6WwtqOKSvPHKLjHhKrrWtrEfSqSK4Ipp4clu0NTYd8qPQyGFDsk1Lp0IAdpcGwR9R?=\n\t=?utf-8?q?0uNrD/1O4hYIu1bAFiJ41HeNv6agH62TocFObNB0f1qyZ0rha9Ic3bPwRe6kqgPZl?=\n\t=?utf-8?q?oPwQSBdW710e4dtWWzc7QJgPqrWF0yeGLthtTomXOnnpiIOhcSMijc1JKMgWVW7pr?=\n\t=?utf-8?q?k0hdSbIrPXKsWqg4hbYLzNhfrQl/38tbU8XGW0Y+d+/QKBjZ26G49hsd0w5ZjbEet?=\n\t=?utf-8?q?6QzfsvPEQhp8GA31bRQNMii8M1OFoJc7l4fA6wJDwP3XwFPKuVesnEKvSvkT/HgW6?=\n\t=?utf-8?q?BM/SZ3pqr3hKuHWvAhqwu1dIXQ1HqnGz1NNprRFp8qqyivzM9AeHUT8uNplLGTSMq?=\n\t=?utf-8?q?Pr56FOG8l/aKsxckoB0GCdqfK2oxqIkl3w=3D=3D?=",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 576751d4-cf71-45de-2abf-08dbb5cc78c8",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "15 Sep 2023 09:16:41.0417 (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 +59xnVmbAq4jKzHevDHjaBIJTJGpregV4MjTZUNIYUTVYavtVx5Osao2dilxnZmn4elNnlpQK+hJ5I75tAMhgxSOe3sHDIHtzpNs7hnlBx8=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CO1PR13MB4773",
        "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": "Move the definition of data structure and macro into the implement file.\nAlso sync the logic from kernel driver and remove the unneeded header file\ninclude statements.\n\nSigned-off-by: Chaoyong He <chaoyong.he@corigine.com>\nReviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>\n---\n drivers/net/nfp/nfpcore/nfp_mip.h  |   4 +-\n drivers/net/nfp/nfpcore/nfp_nffw.c | 105 +++++++++++++++++++----------\n drivers/net/nfp/nfpcore/nfp_nffw.h |  66 +-----------------\n 3 files changed, 72 insertions(+), 103 deletions(-)",
    "diff": "diff --git a/drivers/net/nfp/nfpcore/nfp_mip.h b/drivers/net/nfp/nfpcore/nfp_mip.h\nindex 7fa09ee575..dbd9af31ed 100644\n--- a/drivers/net/nfp/nfpcore/nfp_mip.h\n+++ b/drivers/net/nfp/nfpcore/nfp_mip.h\n@@ -6,7 +6,7 @@\n #ifndef __NFP_MIP_H__\n #define __NFP_MIP_H__\n \n-#include \"nfp_nffw.h\"\n+#include \"nfp_cpp.h\"\n \n struct nfp_mip;\n \n@@ -16,7 +16,5 @@ void nfp_mip_close(struct nfp_mip *mip);\n const char *nfp_mip_name(const struct nfp_mip *mip);\n void nfp_mip_symtab(const struct nfp_mip *mip, uint32_t *addr, uint32_t *size);\n void nfp_mip_strtab(const struct nfp_mip *mip, uint32_t *addr, uint32_t *size);\n-int nfp_nffw_info_mip_first(struct nfp_nffw_info *state, uint32_t *cpp_id,\n-\t\tuint64_t *offset);\n \n #endif /* __NFP_MIP_H__ */\ndiff --git a/drivers/net/nfp/nfpcore/nfp_nffw.c b/drivers/net/nfp/nfpcore/nfp_nffw.c\nindex 7811363796..585b1103aa 100644\n--- a/drivers/net/nfp/nfpcore/nfp_nffw.c\n+++ b/drivers/net/nfp/nfpcore/nfp_nffw.c\n@@ -3,12 +3,76 @@\n  * All rights reserved.\n  */\n \n-#include \"../nfp_logs.h\"\n-#include \"nfp_cpp.h\"\n #include \"nfp_nffw.h\"\n+\n+#include \"../nfp_logs.h\"\n #include \"nfp_mip.h\"\n-#include \"nfp6000/nfp6000.h\"\n #include \"nfp_resource.h\"\n+#include \"nfp6000/nfp6000.h\"\n+\n+/*\n+ * Init-CSR owner IDs for firmware map to firmware IDs which start at 4.\n+ * Lower IDs are reserved for target and loader IDs.\n+ */\n+#define NFFW_FWID_EXT   3 /* For active MEs that we didn't load. */\n+#define NFFW_FWID_BASE  4\n+\n+#define NFFW_FWID_ALL   255\n+\n+/*\n+ * NFFW_INFO_VERSION history:\n+ * 0: This was never actually used (before versioning), but it refers to\n+ *    the previous struct which had FWINFO_CNT = MEINFO_CNT = 120 that later\n+ *    changed to 200.\n+ * 1: First versioned struct, with\n+ *     FWINFO_CNT = 120\n+ *     MEINFO_CNT = 120\n+ * 2:  FWINFO_CNT = 200\n+ *     MEINFO_CNT = 200\n+ */\n+#define NFFW_INFO_VERSION_CURRENT 2\n+\n+/* Enough for all current chip families */\n+#define NFFW_MEINFO_CNT_V1 120\n+#define NFFW_FWINFO_CNT_V1 120\n+#define NFFW_MEINFO_CNT_V2 200\n+#define NFFW_FWINFO_CNT_V2 200\n+\n+/* nfp.nffw meinfo */\n+struct nffw_meinfo {\n+\tuint32_t ctxmask_fwid_meid;\n+};\n+\n+struct nffw_fwinfo {\n+\tuint32_t loaded_mu_da_mip_off_hi;\n+\tuint32_t mip_cppid; /**< 0 means no MIP */\n+\tuint32_t mip_offset_lo;\n+};\n+\n+struct nfp_nffw_info_v1 {\n+\tstruct nffw_meinfo meinfo[NFFW_MEINFO_CNT_V1];\n+\tstruct nffw_fwinfo fwinfo[NFFW_FWINFO_CNT_V1];\n+};\n+\n+struct nfp_nffw_info_v2 {\n+\tstruct nffw_meinfo meinfo[NFFW_MEINFO_CNT_V2];\n+\tstruct nffw_fwinfo fwinfo[NFFW_FWINFO_CNT_V2];\n+};\n+\n+struct nfp_nffw_info_data {\n+\tuint32_t flags[2];\n+\tunion {\n+\t\tstruct nfp_nffw_info_v1 v1;\n+\t\tstruct nfp_nffw_info_v2 v2;\n+\t} info;\n+};\n+\n+struct nfp_nffw_info {\n+\tstruct nfp_cpp *cpp;\n+\tstruct nfp_resource *res;\n+\n+\tstruct nfp_nffw_info_data fwinf;\n+};\n \n /*\n  * flg_info_version = flags[0]<27:16>\n@@ -61,32 +125,6 @@ nffw_fwinfo_mip_offset_get(const struct nffw_fwinfo *fi)\n \treturn (mip_off_hi & 0xFF) << 32 | fi->mip_offset_lo;\n }\n \n-#define NFP_IMB_TGTADDRESSMODECFG_MODE_of(_x)           (((_x) >> 13) & 0x7)\n-#define NFP_IMB_TGTADDRESSMODECFG_ADDRMODE              RTE_BIT32(12)\n-#define   NFP_IMB_TGTADDRESSMODECFG_ADDRMODE_32_BIT     0\n-#define   NFP_IMB_TGTADDRESSMODECFG_ADDRMODE_40_BIT     RTE_BIT32(12)\n-\n-static int\n-nfp_mip_mu_locality_lsb(struct nfp_cpp *cpp)\n-{\n-\tint err;\n-\tuint32_t mode;\n-\tuint32_t addr40;\n-\tuint32_t xpbaddr;\n-\tuint32_t imbcppat;\n-\n-\t/* Hardcoded XPB IMB Base, island 0 */\n-\txpbaddr = 0x000a0000 + NFP_CPP_TARGET_MU * 4;\n-\terr = nfp_xpb_readl(cpp, xpbaddr, &imbcppat);\n-\tif (err < 0)\n-\t\treturn err;\n-\n-\tmode = NFP_IMB_TGTADDRESSMODECFG_MODE_of(imbcppat);\n-\taddr40 = !!(imbcppat & NFP_IMB_TGTADDRESSMODECFG_ADDRMODE);\n-\n-\treturn nfp_cppat_mu_locality_lsb(mode, addr40);\n-}\n-\n static uint32_t\n nffw_res_fwinfos(struct nfp_nffw_info_data *fwinf,\n \t\tstruct nffw_fwinfo **arr)\n@@ -237,14 +275,7 @@ nfp_nffw_info_mip_first(struct nfp_nffw_info *state,\n \t*offset = nffw_fwinfo_mip_offset_get(fwinfo);\n \n \tif (nffw_fwinfo_mip_mu_da_get(fwinfo) != 0) {\n-\t\tint locality_off;\n-\n-\t\tif (NFP_CPP_ID_TARGET_of(*cpp_id) != NFP_CPP_TARGET_MU)\n-\t\t\treturn 0;\n-\n-\t\tlocality_off = nfp_mip_mu_locality_lsb(state->cpp);\n-\t\tif (locality_off < 0)\n-\t\t\treturn locality_off;\n+\t\tint locality_off = nfp_cpp_mu_locality_lsb(state->cpp);\n \n \t\t*offset &= ~(NFP_MU_ADDR_ACCESS_TYPE_MASK << locality_off);\n \t\t*offset |= NFP_MU_ADDR_ACCESS_TYPE_DIRECT << locality_off;\ndiff --git a/drivers/net/nfp/nfpcore/nfp_nffw.h b/drivers/net/nfp/nfpcore/nfp_nffw.h\nindex 52e25c090a..fd46009d37 100644\n--- a/drivers/net/nfp/nfpcore/nfp_nffw.h\n+++ b/drivers/net/nfp/nfpcore/nfp_nffw.h\n@@ -8,71 +8,11 @@\n \n #include \"nfp_cpp.h\"\n \n-/*\n- * Init-CSR owner IDs for firmware map to firmware IDs which start at 4.\n- * Lower IDs are reserved for target and loader IDs.\n- */\n-#define NFFW_FWID_EXT   3 /* For active MEs that we didn't load. */\n-#define NFFW_FWID_BASE  4\n-\n-#define NFFW_FWID_ALL   255\n-\n-/*\n- * NFFW_INFO_VERSION history:\n- * 0: This was never actually used (before versioning), but it refers to\n- *    the previous struct which had FWINFO_CNT = MEINFO_CNT = 120 that later\n- *    changed to 200.\n- * 1: First versioned struct, with\n- *     FWINFO_CNT = 120\n- *     MEINFO_CNT = 120\n- * 2:  FWINFO_CNT = 200\n- *     MEINFO_CNT = 200\n- */\n-#define NFFW_INFO_VERSION_CURRENT 2\n-\n-/* Enough for all current chip families */\n-#define NFFW_MEINFO_CNT_V1 120\n-#define NFFW_FWINFO_CNT_V1 120\n-#define NFFW_MEINFO_CNT_V2 200\n-#define NFFW_FWINFO_CNT_V2 200\n-\n-/* nfp.nffw meinfo */\n-struct nffw_meinfo {\n-\tuint32_t ctxmask_fwid_meid;\n-};\n-\n-struct nffw_fwinfo {\n-\tuint32_t loaded_mu_da_mip_off_hi;\n-\tuint32_t mip_cppid; /* 0 means no MIP */\n-\tuint32_t mip_offset_lo;\n-};\n-\n-struct nfp_nffw_info_v1 {\n-\tstruct nffw_meinfo meinfo[NFFW_MEINFO_CNT_V1];\n-\tstruct nffw_fwinfo fwinfo[NFFW_FWINFO_CNT_V1];\n-};\n-\n-struct nfp_nffw_info_v2 {\n-\tstruct nffw_meinfo meinfo[NFFW_MEINFO_CNT_V2];\n-\tstruct nffw_fwinfo fwinfo[NFFW_FWINFO_CNT_V2];\n-};\n-\n-struct nfp_nffw_info_data {\n-\tuint32_t flags[2];\n-\tunion {\n-\t\tstruct nfp_nffw_info_v1 v1;\n-\t\tstruct nfp_nffw_info_v2 v2;\n-\t} info;\n-};\n-\n-struct nfp_nffw_info {\n-\tstruct nfp_cpp *cpp;\n-\tstruct nfp_resource *res;\n-\n-\tstruct nfp_nffw_info_data fwinf;\n-};\n+struct nfp_nffw_info;\n \n struct nfp_nffw_info *nfp_nffw_info_open(struct nfp_cpp *cpp);\n void nfp_nffw_info_close(struct nfp_nffw_info *state);\n+int nfp_nffw_info_mip_first(struct nfp_nffw_info *state, uint32_t *cpp_id,\n+\t\tuint64_t *offset);\n \n #endif /* __NFP_NFFW_H__ */\n",
    "prefixes": [
        "v3",
        "13/27"
    ]
}