get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 134995,
    "url": "http://patches.dpdk.org/api/patches/134995/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231211030858.1693240-2-chaoyong.he@corigine.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20231211030858.1693240-2-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231211030858.1693240-2-chaoyong.he@corigine.com",
    "date": "2023-12-11T03:08:52",
    "name": "[1/7] net/nfp: set a new parameter to hwinfo",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "4aa84941432ee1b7b5d6719a66c50e652c3ad2a4",
    "submitter": {
        "id": 2554,
        "url": "http://patches.dpdk.org/api/people/2554/?format=api",
        "name": "Chaoyong He",
        "email": "chaoyong.he@corigine.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20231211030858.1693240-2-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 30501,
            "url": "http://patches.dpdk.org/api/series/30501/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30501",
            "date": "2023-12-11T03:08:51",
            "name": "support link auto negotiation",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/30501/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/134995/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/134995/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 72F45436C3;\n\tMon, 11 Dec 2023 04:09:32 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AC54940A6E;\n\tMon, 11 Dec 2023 04:09:24 +0100 (CET)",
            "from NAM12-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam12on2124.outbound.protection.outlook.com [40.107.243.124])\n by mails.dpdk.org (Postfix) with ESMTP id 229E0402B2\n for <dev@dpdk.org>; Mon, 11 Dec 2023 04:09:22 +0100 (CET)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by PH0PR13MB5666.namprd13.prod.outlook.com (2603:10b6:510:111::14)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.32; Mon, 11 Dec\n 2023 03:09:20 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.7068.031; Mon, 11 Dec 2023\n 03:09:20 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=D/N1TVHMlYLJ1F1zrOOmNiBURaJhNhuyLlrAArk9bCGB8egkcodH+WVzS4cHWcljVQVl6xTL8q5l/FGHSAEh0wAuWEFM+jPPWy5HbvHn9l9VM2/1twuz6MiR7FbpFo61X4/PSHGEP6t5uVLb55WNeW9xbkfc2jrxkPtv1lqL/9XU9QwLsMt5P9n2iCt4qW/SJUDN9rmbjdYIHkQdWeyqzbZehG26q1c90nl/DE6oK7r+0j4miLSVxpI0+MFEyly/TJFpIbXDP7r8lWPkH6co2w7yEuwS2Fe95hZd+ympTgKuC6YiQS3Cy/e1mzVSQuB/TmjCc5Ixi8rTQtbK52dpGQ==",
        "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=mt+yinRuCYD8AvWITK3IEJwuR8+75Lew3Sjhn8uyzT4=;\n b=i8Al95P4OUp7gFi0/8tQPalb/icG7iQsHOHtwqtyPFU9VKS50pNqNgOK5HvZR+9SS2byAxU7z4GX8nmZEQKCJEroCHC3StzYcLGz88cQniCzYfTV3UOiXXYD2+I2u2eemo6vm6d2YvEN3bvuR8vH7dCQeI6DWLyvtSve6gGXlOaHwRBuQxrNU35ty2RojLiLHg1Y+zdhIwl823N8//fUA3ZDvvZw4y4majoXwWqEZrAQslQms1sUSGCTMNrZUqNxHws1RBJARjCTJugpO3CI+rPD1BW6YufL3il0KUlmsM0P74ScasDxAeiTOmoVfdNd4O+RpfkmuXWY49Pym1ovCA==",
        "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=mt+yinRuCYD8AvWITK3IEJwuR8+75Lew3Sjhn8uyzT4=;\n b=okctvaX4/NEOGwDWXkQc9Q0exuIwvVuWUXgziqs5MbWdVPFGnisXXK+kqzs4vftvmFzxN1ej/vWg736CnzjjasVTPJcZK9jrK0THbVb5P97+ZNiCO4BvMxIiVVGESymbGUyGt7sngWpOUcsEIoGUEmMLHIHId87rLXgz3TZN3eI=",
        "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, Zerun Fu <zerun.fu@corigine.com>,\n Long Wu <long.wu@corigine.com>, Peng Zhang <peng.zhang@corigine.com>,\n Chaoyong He <chaoyong.he@corigine.com>",
        "Subject": "[PATCH 1/7] net/nfp: set a new parameter to hwinfo",
        "Date": "Mon, 11 Dec 2023 11:08:52 +0800",
        "Message-Id": "<20231211030858.1693240-2-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20231211030858.1693240-1-chaoyong.he@corigine.com>",
        "References": "<20231211030858.1693240-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SJ0PR13CA0166.namprd13.prod.outlook.com\n (2603:10b6:a03:2c7::21) 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_|PH0PR13MB5666:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "62ed89b2-5951-47f2-9766-08dbf9f6914f",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n jKCpJfZffDR5p7RFlm2463t17u+RVkdCbAnLdwy6NfFOleoKzAJSMAUa5x4xrUiIQPnV/pnE4YpSsmT1EF8vmJsQT06IGHDj2uo83lhYJe7q0cWnwSvFtT9KGtfSNwbA7wTFegPeLM8xYq8DIugh3rq3FOKinz7Wdy6tU9wdgBC/AkrtbcctvwAIfULMix1QzL7ZiTdenhzfTudNJuIaReTxuGJ/BY5TgX/2MdSE6QjWHpStPTYnA1OlKhzaoIskdtNvhMqYOXzLoIvQAGgShpeyDk3dwpTvtyivvMYCuwJJp61QQaPsEsy7oxBxMPKiuwsNChcFioEk/6ZJQs2NUILLw+70GTvAuvsScyfZOPOAoaWNTwNqnr7Gx+lwGf5TBgMxBHAMAttlMBHjTqnNS9dK783Qk4YZHzmr3seFDY5ep91Nj4K20c5Ydfp6jwK0+dn0qczvxDZnxVd9cpjCnx1FkU6LyGRJLoyvi5o7uAOmSdnWYauzGp2Ha4B9IJKfLOsSzczqMkgWy4XuLXuCeFtmUdDsLGvQE+A36pT7+2VJBFtncO9TbBu3w/YgBTDnmmuQwmPJAMjJojyL79GSc/e/1SXmAMiXRgfJ2H0Gw0bWDmsdTzR5v40afTNrX/mZylToiwFPR3T3ymAW72iSZY/wpmdyA3lTonaiyzUs97Y=",
        "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)(136003)(376002)(396003)(346002)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(41300700001)(5660300002)(38350700005)(2906002)(6512007)(6506007)(107886003)(2616005)(1076003)(6666004)(52116002)(36756003)(478600001)(6486002)(38100700002)(83380400001)(26005)(8936002)(8676002)(4326008)(86362001)(6916009)(66476007)(66556008)(54906003)(316002)(66946007)(44832011);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n hNCm+oXDYnc/Zj2I4CdquajbI+/4xGg03fXeBnXCi5S6pSue7QiNN54jFqnBExrWhQBQc66f7w8ZvFPD0eIFHM0bnMSltxAxZ5IatXHILguaH0vMuwkpeyR1hiQzpNyCf9MX+5mkz/W4UQQmbJ68FjZU57q5zp4F728VGn825aThw1Rh2TMKysKzSWt1nCUL0fHSsHTqElL+xeoyutezEisKeCu/XmoUyT9xQ2/TATq5LTqo87XzgiIttVh5GAd5LXmb3Lg+WExaLZAiBdvZ/vdFeLql6IZQSYuw6Xarq+exxXDvux5z+CRU7uahlaSOmSpFVkjZFPbTPRslDPACecLfZi2FOmEnw1ngegO411YCvk3Por63/ZcrP2U/hUzrXVHRTwwTVzWT/MdOW72Z35aK3JMqH+1t/8BJRLf23CdSefOaVbVwKkNEXtMIVF7fjF9YsMBDrsTW8p49QhEOlc63uuHKIedA7Ha+8DJYYGdHo3AudN++pwH5T/ghB3LTu8u/mbKgMpgW57X6CjSW2zEiDkZOEpUIhcD3Ynqr8G0p6nsEwrT2YP5PQDPDAdhGK/04+Oq6kpXmBHHEiP4gpAyMOHkqw2xRY85zqwfJiyivRwSMqEd8zXmNnjqjSc8IN7okjZ9eIrDiNBzbE8mDGG3gdluepRJVSUH3p/+1sYcnKs/4BK4NbtPGXpxWUeag44sjW0A4gWquEfqz5tD2il1YmUeJCzwhZjffdsyX55ykMsgmRf7uJgu162xosxi3ThkV1sf6ILlwVmD+/7ouRIYvrCZGXxay5W14hhEDf7UHOAB9ojonLGEzQ+4hnXdAHPPIpboC/xM+efS0gxMi8wcfygpM8uPzWSNtSLQBo+tXoY85kFmy58ycIIJFKTbhT8dAysc7se/TDbhXR/hR9QUIBw/VaxdvbtJzjnj1Cj1u/qY56KKw1DeAvydDcGRVsX2+Q5IK2XSCenW0xS3j4GZy0tzJcDgvVEGabFhr7BGewA5pnagJrTCsOIeC7oP4muftIns6mbDVT1jGOf3dy2pHDGtxezFBm7unUX4xQDU4qzdYk0TCN4Rv+A77LULPXjid3lkIZxtuYSpAZP5uavvxR2p24/6YLrW0CXjBDWnhU3ejUzd0jZB3MyI0VWP02tWQLd6vyVBFYxwmV/QOkZom44qTIuAVl5ypP85qOoZUqIAsb/2UoLs3w5EfYXfbdYTdybMaqe5Se6g1a3SJvMux7b5Ok06GLwOIAdAdqx049MaXDXN1ZxU6KW6ZIBb0qX/pEzqXU4o+QbuZuHbUCYlLHAzKQPemBFQwmTnitALNklqoo0y4rILrLgLJ89ewh6hhQ6bIvavz78VixvfnNElQvVNmcbtwRByO4EF65aAdbL91z21h0J+wnsSAPdtr79yJSOCCYjfOGMYGKaGTK0HQOnz9emSEr+9FA4nhcz1pcIVXpbhNfrNkvt/My5OEG6U5j/hDFxq6aCzxN66lAreiksekr0Q0YhXmjsR+GTgjW+GlhrjsCVhx3gQ5HJl65ooNH6WA7ExCwZTe33D3jshhSLhf4ZJf/i0U7hi1CaKI4PxNAu9E0WcfFhmbjYnlLnB080CrsTZSGvB5/qgIlg==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 62ed89b2-5951-47f2-9766-08dbf9f6914f",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "11 Dec 2023 03:09:20.1298 (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 t+Zn+Zygmz+R7wx9dny8VhTe/jLJwnjtq2DYpPzSnKS8QbjV8nu52qZzExkWbZRpimYxCv3xk/vgjT0Zm4dJX+G3Hh/5DJBdgGgy5whmZX4=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PH0PR13MB5666",
        "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": "From: Zerun Fu <zerun.fu@corigine.com>\n\nWhen switching speed the BSP needs to be informed whether\nthe firmware needs to be switched. Considering that whether\napplication firmware is indifferent to port speed is a\nfirmware property instead of port property, now use a new\nrtsym to get the property. So 'sp_indiff' is written to\nhwinfo to notify BSP.\n\nSigned-off-by: Zerun Fu <zerun.fu@corigine.com>\nReviewed-by: Long Wu <long.wu@corigine.com>\nReviewed-by: Peng Zhang <peng.zhang@corigine.com>\nReviewed-by: Chaoyong He <chaoyong.he@corigine.com>\n---\n drivers/net/nfp/nfp_ethdev.c      | 51 +++++++++++++++++++++++++++++++\n drivers/net/nfp/nfpcore/nfp_nsp.c | 17 +++++++++++\n drivers/net/nfp/nfpcore/nfp_nsp.h |  3 ++\n 3 files changed, 71 insertions(+)",
    "diff": "diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c\nindex 336d18491e..ef0b0dcd48 100644\n--- a/drivers/net/nfp/nfp_ethdev.c\n+++ b/drivers/net/nfp/nfp_ethdev.c\n@@ -25,6 +25,9 @@\n #include \"nfp_logs.h\"\n #include \"nfp_net_flow.h\"\n \n+/* 64-bit per app capabilities */\n+#define NFP_NET_APP_CAP_SP_INDIFF       RTE_BIT64(0) /* Indifferent to port speed */\n+\n #define NFP_PF_DRIVER_NAME net_nfp_pf\n \n static void\n@@ -1227,6 +1230,46 @@ nfp_init_app_fw_nic(struct nfp_pf_dev *pf_dev,\n \treturn ret;\n }\n \n+static int\n+nfp_net_hwinfo_set(uint8_t function_id,\n+\t\tstruct nfp_rtsym_table *sym_tbl,\n+\t\tstruct nfp_cpp *cpp)\n+{\n+\tint ret = 0;\n+\tuint64_t app_cap;\n+\tuint8_t sp_indiff;\n+\tstruct nfp_nsp *nsp;\n+\tchar hw_info[RTE_ETH_NAME_MAX_LEN];\n+\tchar app_cap_name[RTE_ETH_NAME_MAX_LEN];\n+\n+\t/* Read the app capabilities of the firmware loaded */\n+\tsnprintf(app_cap_name, sizeof(app_cap_name), \"_pf%u_net_app_cap\", function_id);\n+\tapp_cap = nfp_rtsym_read_le(sym_tbl, app_cap_name, &ret);\n+\tif (ret != 0) {\n+\t\tPMD_INIT_LOG(ERR, \"Couldn't read app_fw_cap from firmware.\");\n+\t\treturn ret;\n+\t}\n+\n+\t/* Calculate the value of sp_indiff and write to hw_info */\n+\tsp_indiff = app_cap & NFP_NET_APP_CAP_SP_INDIFF;\n+\tsnprintf(hw_info, sizeof(hw_info), \"sp_indiff=%u\", sp_indiff);\n+\n+\tnsp = nfp_nsp_open(cpp);\n+\tif (nsp == NULL) {\n+\t\tPMD_INIT_LOG(ERR, \"Couldn't get NSP.\");\n+\t\treturn -EIO;\n+\t}\n+\n+\tret = nfp_nsp_hwinfo_set(nsp, hw_info, sizeof(hw_info));\n+\tnfp_nsp_close(nsp);\n+\tif (ret != 0) {\n+\t\tPMD_INIT_LOG(ERR, \"Failed to set parameter to hwinfo.\");\n+\t\treturn ret;\n+\t}\n+\n+\treturn 0;\n+}\n+\n static int\n nfp_pf_init(struct rte_pci_device *pci_dev)\n {\n@@ -1337,6 +1380,14 @@ nfp_pf_init(struct rte_pci_device *pci_dev)\n \t\tgoto sym_tbl_cleanup;\n \t}\n \n+\t/* Write sp_indiff to hw_info */\n+\tret = nfp_net_hwinfo_set(function_id, sym_tbl, cpp);\n+\tif (ret != 0) {\n+\t\tPMD_INIT_LOG(ERR, \"Failed to set hwinfo.\");\n+\t\tret = -EIO;\n+\t\tgoto sym_tbl_cleanup;\n+\t}\n+\n \t/* Populate the newly created PF device */\n \tpf_dev->app_fw_id = app_fw_id;\n \tpf_dev->cpp = cpp;\ndiff --git a/drivers/net/nfp/nfpcore/nfp_nsp.c b/drivers/net/nfp/nfpcore/nfp_nsp.c\nindex e5aaef8d55..e57176adb3 100644\n--- a/drivers/net/nfp/nfpcore/nfp_nsp.c\n+++ b/drivers/net/nfp/nfpcore/nfp_nsp.c\n@@ -711,3 +711,20 @@ nfp_nsp_read_sensors(struct nfp_nsp *state,\n \n \treturn nfp_nsp_command_buf(state, &sensors);\n }\n+\n+int\n+nfp_nsp_hwinfo_set(struct nfp_nsp *state,\n+\t\tconst void *buf,\n+\t\tsize_t size)\n+{\n+\tstruct nfp_nsp_command_buf_arg hwinfo_set = {\n+\t\t{\n+\t\t\t.code   = SPCODE_HWINFO_SET,\n+\t\t\t.option = size,\n+\t\t},\n+\t\t.in_buf  = buf,\n+\t\t.in_size = size,\n+\t};\n+\n+\treturn nfp_nsp_command_buf(state, &hwinfo_set);\n+}\ndiff --git a/drivers/net/nfp/nfpcore/nfp_nsp.h b/drivers/net/nfp/nfpcore/nfp_nsp.h\nindex 9f506a0b2e..f99ca941d5 100644\n--- a/drivers/net/nfp/nfpcore/nfp_nsp.h\n+++ b/drivers/net/nfp/nfpcore/nfp_nsp.h\n@@ -169,6 +169,9 @@ void *nfp_nsp_config_entries(struct nfp_nsp *state);\n struct nfp_cpp *nfp_nsp_cpp(struct nfp_nsp *state);\n bool nfp_nsp_config_modified(struct nfp_nsp *state);\n uint32_t nfp_nsp_config_idx(struct nfp_nsp *state);\n+int nfp_nsp_hwinfo_set(struct nfp_nsp *state,\n+\t\tconst void *buf,\n+\t\tsize_t size);\n \n static inline bool\n nfp_eth_can_support_fec(struct nfp_eth_table_port *eth_port)\n",
    "prefixes": [
        "1/7"
    ]
}