get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 96590,
    "url": "http://patchwork.dpdk.org/api/patches/96590/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20210803083817.1243796-12-wenjun1.wu@intel.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": "<20210803083817.1243796-12-wenjun1.wu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210803083817.1243796-12-wenjun1.wu@intel.com",
    "date": "2021-08-03T08:38:06",
    "name": "[11/22] net/ice/base: refactor post DDP download VLAN mode config",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "185a147b4cff500fff634670b3f859850c38caca",
    "submitter": {
        "id": 2083,
        "url": "http://patchwork.dpdk.org/api/people/2083/?format=api",
        "name": "Wenjun Wu",
        "email": "wenjun1.wu@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patchwork.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20210803083817.1243796-12-wenjun1.wu@intel.com/mbox/",
    "series": [
        {
            "id": 18158,
            "url": "http://patchwork.dpdk.org/api/series/18158/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=18158",
            "date": "2021-08-03T08:37:55",
            "name": "backport feature support to DPDK 20.11",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/18158/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/96590/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/96590/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 8812CA0C41;\n\tTue,  3 Aug 2021 10:58:22 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B780F411FF;\n\tTue,  3 Aug 2021 10:57:26 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id 3F58C411C3\n for <dev@dpdk.org>; Tue,  3 Aug 2021 10:57:15 +0200 (CEST)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 03 Aug 2021 01:57:02 -0700",
            "from wuwenjun.sh.intel.com ([10.67.110.197])\n by fmsmga008.fm.intel.com with ESMTP; 03 Aug 2021 01:57:01 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10064\"; a=\"211764398\"",
            "E=Sophos;i=\"5.84,291,1620716400\"; d=\"scan'208\";a=\"211764398\"",
            "E=Sophos;i=\"5.84,291,1620716400\"; d=\"scan'208\";a=\"479396602\""
        ],
        "X-ExtLoop1": "1",
        "From": "Wenjun Wu <wenjun1.wu@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Tue,  3 Aug 2021 16:38:06 +0800",
        "Message-Id": "<20210803083817.1243796-12-wenjun1.wu@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210803083817.1243796-1-wenjun1.wu@intel.com>",
        "References": "<20210803083817.1243796-1-wenjun1.wu@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 11/22] net/ice/base: refactor post DDP download\n VLAN mode config",
        "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": "From: Qi Zhang <qi.z.zhang@intel.com>\n\n[ upstream commit 5ade55ab43e6c07a904c03ebe2d796fdea94e7e0 ]\n\nCurrently it's not clear that only the first PF downloads the package\nand configures the VLAN mode. When this is happening all other PFs are\nblocked on the global configuration lock. Once the package is\nsuccessfully downloaded and the global configuration lock has been\nreleased then all PFs resume initialization. This includes some post\npackage download VLAN mode configuration. To make this more obvious add\nthe new function ice_post_pkg_dwnld_vlan_mode_cfg() so any/all post\ndownload VLAN mode configuration code can be put in here.\n\nThis also makes it more clear that all PFs will call this new function.\n\nSigned-off-by: Brett Creeley <brett.creeley@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\nAcked-by: Qiming Yang <qiming.yang@intel.com>\n---\n drivers/net/ice/base/ice_flex_pipe.c |  5 +----\n drivers/net/ice/base/ice_vlan_mode.c | 23 ++++++++++++++++++++++-\n drivers/net/ice/base/ice_vlan_mode.h |  2 +-\n 3 files changed, 24 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c\nindex a92c2b8494..e04b863de3 100644\n--- a/drivers/net/ice/base/ice_flex_pipe.c\n+++ b/drivers/net/ice/base/ice_flex_pipe.c\n@@ -1164,10 +1164,7 @@ ice_download_pkg(struct ice_hw *hw, struct ice_seg *ice_seg)\n \tstatus = ice_dwnld_cfg_bufs(hw, ice_buf_tbl->buf_array,\n \t\t\t\t    LE32_TO_CPU(ice_buf_tbl->buf_count));\n \n-\tice_cache_vlan_mode(hw);\n-\n-\tif (ice_is_dvm_ena(hw))\n-\t\tice_change_proto_id_to_dvm();\n+\tice_post_pkg_dwnld_vlan_mode_cfg(hw);\n \n \treturn status;\n }\ndiff --git a/drivers/net/ice/base/ice_vlan_mode.c b/drivers/net/ice/base/ice_vlan_mode.c\nindex 4a749cb9f1..4340189355 100644\n--- a/drivers/net/ice/base/ice_vlan_mode.c\n+++ b/drivers/net/ice/base/ice_vlan_mode.c\n@@ -125,7 +125,7 @@ bool ice_is_dvm_ena(struct ice_hw *hw)\n  * configuration lock has been released because all ports on a device need to\n  * cache the VLAN mode.\n  */\n-void ice_cache_vlan_mode(struct ice_hw *hw)\n+static void ice_cache_vlan_mode(struct ice_hw *hw)\n {\n \thw->dvm_ena = ice_aq_is_dvm_ena(hw) ? true : false;\n }\n@@ -375,3 +375,24 @@ enum ice_status ice_set_vlan_mode(struct ice_hw *hw)\n \n \treturn ice_set_svm(hw);\n }\n+\n+/**\n+ * ice_post_pkg_dwnld_vlan_mode_cfg - configure VLAN mode after DDP download\n+ * @hw: pointer to the HW structure\n+ *\n+ * This function is meant to configure any VLAN mode specific functionality\n+ * after the global configuration lock has been released and the DDP has been\n+ * downloaded.\n+ *\n+ * Since only one PF downloads the DDP and configures the VLAN mode there needs\n+ * to be a way to configure the other PFs after the DDP has been downloaded and\n+ * the global configuration lock has been released. All such code should go in\n+ * this function.\n+ */\n+void ice_post_pkg_dwnld_vlan_mode_cfg(struct ice_hw *hw)\n+{\n+\tice_cache_vlan_mode(hw);\n+\n+\tif (ice_is_dvm_ena(hw))\n+\t\tice_change_proto_id_to_dvm();\n+}\ndiff --git a/drivers/net/ice/base/ice_vlan_mode.h b/drivers/net/ice/base/ice_vlan_mode.h\nindex 134bd41635..c22d6c2a01 100644\n--- a/drivers/net/ice/base/ice_vlan_mode.h\n+++ b/drivers/net/ice/base/ice_vlan_mode.h\n@@ -10,7 +10,7 @@\n struct ice_hw;\n \n bool ice_is_dvm_ena(struct ice_hw *hw);\n-void ice_cache_vlan_mode(struct ice_hw *hw);\n enum ice_status ice_set_vlan_mode(struct ice_hw *hw);\n+void ice_post_pkg_dwnld_vlan_mode_cfg(struct ice_hw *hw);\n \n #endif /* _ICE_VLAN_MODE_H */\n",
    "prefixes": [
        "11/22"
    ]
}