get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 88350,
    "url": "https://patches.dpdk.org/api/patches/88350/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210302072357.1657556-3-qi.z.zhang@intel.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20210302072357.1657556-3-qi.z.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210302072357.1657556-3-qi.z.zhang@intel.com",
    "date": "2021-03-02T07:23:45",
    "name": "[02/14] net/ice/base: signed external device package programming",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "fae123a550fceddfe1809412bf9c060606354a99",
    "submitter": {
        "id": 504,
        "url": "https://patches.dpdk.org/api/people/504/?format=api",
        "name": "Qi Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "https://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210302072357.1657556-3-qi.z.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 15435,
            "url": "https://patches.dpdk.org/api/series/15435/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15435",
            "date": "2021-03-02T07:23:43",
            "name": "ice: base code update",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/15435/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/88350/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/88350/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 868EFA054F;\n\tTue,  2 Mar 2021 08:20:24 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1BBAF1CC4DD;\n\tTue,  2 Mar 2021 08:20:19 +0100 (CET)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by mails.dpdk.org (Postfix) with ESMTP id 83B0C40F35\n for <dev@dpdk.org>; Tue,  2 Mar 2021 08:20:17 +0100 (CET)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Mar 2021 23:20:16 -0800",
            "from dpdk51.sh.intel.com ([10.67.111.142])\n by fmsmga001.fm.intel.com with ESMTP; 01 Mar 2021 23:20:13 -0800"
        ],
        "IronPort-SDR": [
            "\n pT2ES0LdKqhB3Mcmxl7bm2kl0VTe3CNlyVfc2A6sHenEfwJHHNOGLeF0tiHmCyYaPIhbB0/Xzx\n TncdNHc3F2zA==",
            "\n rB2af2wCR8/LvjrQTtzMD7eOjLmgdLYrkjudPZmy/MSP5MJjHdSkxGJKR74UO9ejmCYVJUeS7O\n hUXA9UEdR6Tg=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9910\"; a=\"186775206\"",
            "E=Sophos;i=\"5.81,216,1610438400\"; d=\"scan'208\";a=\"186775206\"",
            "E=Sophos;i=\"5.81,216,1610438400\"; d=\"scan'208\";a=\"506230264\""
        ],
        "X-ExtLoop1": "1",
        "From": "Qi Zhang <qi.z.zhang@intel.com>",
        "To": "qiming.yang@intel.com",
        "Cc": "dev@dpdk.org, haiyue.wang@intel.com, junfeng.guo@intel.com,\n Qi Zhang <qi.z.zhang@intel.com>, Amir Shay <shay.amir@intel.com>",
        "Date": "Tue,  2 Mar 2021 15:23:45 +0800",
        "Message-Id": "<20210302072357.1657556-3-qi.z.zhang@intel.com>",
        "X-Mailer": "git-send-email 2.26.2",
        "In-Reply-To": "<20210302072357.1657556-1-qi.z.zhang@intel.com>",
        "References": "<20210302072357.1657556-1-qi.z.zhang@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 02/14] net/ice/base: signed external device\n package programming",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "External topology devices (e.g. PHYs) connected to Columbiaville or to\nSoC that includes CPK IP might have a firmware engine within the device\nand the firmware is usually loaded from NVM connected to the topology\ndevice.\nIn some cases, those firmware packages might need to be regularly\nupdated in a secure way to prevent malicious user to burn malicious\nfirmware into the topology device. In other cases, the topology device\nfirmware might be burned independently, as burning the NVM attached to\nthe device might cause the device to stop function but could be fixed\nwithout permanent damage.\nSoC topologies also enable mezzanine card, with an ID EEPROM\nwithin it. This ID EEPROM might need an update also.\nThis patch provides these abilities.\n\nSigned-off-by: Amir Shay <shay.amir@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/net/ice/base/ice_adminq_cmd.h | 26 ++++++++++++++++++++++++--\n 1 file changed, 24 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h\nindex a345fb5a61..3f2b4cd54b 100644\n--- a/drivers/net/ice/base/ice_adminq_cmd.h\n+++ b/drivers/net/ice/base/ice_adminq_cmd.h\n@@ -1506,11 +1506,12 @@ struct ice_aqc_get_link_status_data {\n #define ICE_AQ_LINK_TOPO_UNDRUTIL_MEDIA\tBIT(6)\n #define ICE_AQ_LINK_TOPO_UNSUPP_MEDIA\tBIT(7)\n \tu8 link_cfg_err;\n-#define ICE_AQ_LINK_CFG_ERR\t\tBIT(0)\n-#define ICE_AQ_LINK_ACT_PORT_OPT_INVAL\tBIT(2)\n+#define ICE_AQ_LINK_CFG_ERR\t\t\tBIT(0)\n+#define ICE_AQ_LINK_ACT_PORT_OPT_INVAL\t\tBIT(2)\n #define ICE_AQ_LINK_FEAT_ID_OR_CONFIG_ID_INVAL\tBIT(3)\n #define ICE_AQ_LINK_TOPO_CRITICAL_SDP_ERR\tBIT(4)\n #define ICE_AQ_LINK_MODULE_POWER_UNSUPPORTED\tBIT(5)\n+#define ICE_AQ_LINK_EXTERNAL_PHY_LOAD_FAILURE\tBIT(6)\n \tu8 link_info;\n #define ICE_AQ_LINK_UP\t\t\tBIT(0)\t/* Link Status */\n #define ICE_AQ_LINK_FAULT\t\tBIT(1)\n@@ -1716,6 +1717,25 @@ struct ice_aqc_sw_gpio {\n \tu8 rsvd[12];\n };\n \n+/* Program topology device NVM (direct, 0x06F2) */\n+struct ice_aqc_program_topology_device_nvm {\n+\tu8 lport_num;\n+\tu8 lport_num_valid;\n+\tu8 node_type_ctx;\n+\tu8 index;\n+\tu8 rsvd[12];\n+};\n+\n+/* Read topology device NVM (indirect, 0x06F3) */\n+struct ice_aqc_read_topology_device_nvm {\n+\tu8 lport_num;\n+\tu8 lport_num_valid;\n+\tu8 node_type_ctx;\n+\tu8 index;\n+\t__le32 start_address;\n+\tu8 data_read[8];\n+};\n+\n /* NVM Read command (indirect 0x0701)\n  * NVM Erase commands (direct 0x0702)\n  * NVM Write commands (indirect 0x0703)\n@@ -3059,6 +3079,8 @@ enum ice_adminq_opc {\n \tice_aqc_opc_sff_eeprom\t\t\t\t= 0x06EE,\n \tice_aqc_opc_sw_set_gpio\t\t\t\t= 0x06EF,\n \tice_aqc_opc_sw_get_gpio\t\t\t\t= 0x06F0,\n+\tice_aqc_opc_program_topology_device_nvm\t\t= 0x06F2,\n+\tice_aqc_opc_read_topology_device_nvm\t\t= 0x06F3,\n \n \t/* NVM commands */\n \tice_aqc_opc_nvm_read\t\t\t\t= 0x0701,\n",
    "prefixes": [
        "02/14"
    ]
}