get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 115016,
    "url": "http://patches.dpdk.org/api/patches/115016/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220815071306.2910599-60-qi.z.zhang@intel.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": "<20220815071306.2910599-60-qi.z.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220815071306.2910599-60-qi.z.zhang@intel.com",
    "date": "2022-08-15T07:12:55",
    "name": "[59/70] net/ice/base: add unload flag for control queue shutdown",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "9f2f47497648587b8981370ebb55123db25eb509",
    "submitter": {
        "id": 504,
        "url": "http://patches.dpdk.org/api/people/504/?format=api",
        "name": "Qi Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220815071306.2910599-60-qi.z.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 24307,
            "url": "http://patches.dpdk.org/api/series/24307/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=24307",
            "date": "2022-08-15T07:11:56",
            "name": "ice base code update",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/24307/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/115016/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/115016/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 4D529A00C3;\n\tMon, 15 Aug 2022 01:08:50 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3FC4642CB6;\n\tMon, 15 Aug 2022 01:04:44 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by mails.dpdk.org (Postfix) with ESMTP id 91C3B42C39\n for <dev@dpdk.org>; Mon, 15 Aug 2022 01:04:41 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 14 Aug 2022 16:04:41 -0700",
            "from dpdk-qzhan15-test02.sh.intel.com ([10.67.115.4])\n by fmsmga005.fm.intel.com with ESMTP; 14 Aug 2022 16:04:39 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1660518281; x=1692054281;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=DeeQdXRr+EDuknYxVxKCXBqzWhoP0IOy8r7iK4X3SZQ=;\n b=h6HWzr7jUXj+6wAW7c6WA8u1ZjkrTAKNlZ9IHWtg2iT/wReEHjbQ7Bmh\n twlGUNZGazyh8qx+BYcm7YpxhI7hfIWTCpCbIAG3hYgEumDHM08KUzAaK\n qWQgMWAeKfOoXFsbQZ7Iga0t7byeoYQwgxNdDS891J9uSkr/QBVC1W8Mh\n tdxUFe2/+QOk2egdSNXYmG95lZg76fnrqRgVb9uuRZFY8x3G0r0kmCZA/\n r9sk60a1cZmxg5XFORWcO2ZYPkyOAn/ch8hPpOp4pvSQAvgsar3QILc86\n QFOv/0j11Yk0JN4Xd+sGkHLBAzpvBwEleQiIVjCIhJ4e7fuE9/iOP89/Q w==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10439\"; a=\"293128801\"",
            "E=Sophos;i=\"5.93,237,1654585200\"; d=\"scan'208\";a=\"293128801\"",
            "E=Sophos;i=\"5.93,237,1654585200\"; d=\"scan'208\";a=\"934296902\""
        ],
        "X-ExtLoop1": "1",
        "From": "Qi Zhang <qi.z.zhang@intel.com>",
        "To": "qiming.yang@intel.com",
        "Cc": "dev@dpdk.org, Qi Zhang <qi.z.zhang@intel.com>,\n Piotr Gardocki <piotrx.gardocki@intel.com>",
        "Subject": "[PATCH 59/70] net/ice/base: add unload flag for control queue\n shutdown",
        "Date": "Mon, 15 Aug 2022 03:12:55 -0400",
        "Message-Id": "<20220815071306.2910599-60-qi.z.zhang@intel.com>",
        "X-Mailer": "git-send-email 2.31.1",
        "In-Reply-To": "<20220815071306.2910599-1-qi.z.zhang@intel.com>",
        "References": "<20220815071306.2910599-1-qi.z.zhang@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "Admin queue command for shutdown AQ contains flag to indicate\ndriver unload. However the flag is always set in driver, even\nfor the resets. It causes Firmware to consider driver as unloaded\nonce the PF reset is triggered on all ports of device. Firmware then\nrestores default configuration of some features like Tx Balancing,\nwhich is not expected behavior.\nThis patch added an additional function parameter to indicate\ndriver unload.\n\nSigned-off-by: Piotr Gardocki <piotrx.gardocki@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/net/ice/base/ice_common.h   |  2 +-\n drivers/net/ice/base/ice_controlq.c | 19 +++++++++++--------\n drivers/net/ice/ice_ethdev.c        |  2 +-\n 3 files changed, 13 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/base/ice_common.h b/drivers/net/ice/base/ice_common.h\nindex ac13a979b1..9101ae11af 100644\n--- a/drivers/net/ice/base/ice_common.h\n+++ b/drivers/net/ice/base/ice_common.h\n@@ -32,7 +32,7 @@ enum ice_status ice_reset(struct ice_hw *hw, enum ice_reset_req req);\n \n enum ice_status ice_create_all_ctrlq(struct ice_hw *hw);\n enum ice_status ice_init_all_ctrlq(struct ice_hw *hw);\n-void ice_shutdown_all_ctrlq(struct ice_hw *hw);\n+void ice_shutdown_all_ctrlq(struct ice_hw *hw, bool unloading);\n void ice_destroy_all_ctrlq(struct ice_hw *hw);\n enum ice_status\n ice_clean_rq_elem(struct ice_hw *hw, struct ice_ctl_q_info *cq,\ndiff --git a/drivers/net/ice/base/ice_controlq.c b/drivers/net/ice/base/ice_controlq.c\nindex d83d0d76d0..8a6311572c 100644\n--- a/drivers/net/ice/base/ice_controlq.c\n+++ b/drivers/net/ice/base/ice_controlq.c\n@@ -661,10 +661,12 @@ static bool ice_is_sbq_supported(struct ice_hw *hw)\n  * ice_shutdown_ctrlq - shutdown routine for any control queue\n  * @hw: pointer to the hardware structure\n  * @q_type: specific Control queue type\n+ * @unloading: is the driver unloading itself\n  *\n  * NOTE: this function does not destroy the control queue locks.\n  */\n-static void ice_shutdown_ctrlq(struct ice_hw *hw, enum ice_ctl_q q_type)\n+static void ice_shutdown_ctrlq(struct ice_hw *hw, enum ice_ctl_q q_type,\n+\t\t\t       bool unloading)\n {\n \tstruct ice_ctl_q_info *cq;\n \n@@ -674,7 +676,7 @@ static void ice_shutdown_ctrlq(struct ice_hw *hw, enum ice_ctl_q q_type)\n \tcase ICE_CTL_Q_ADMIN:\n \t\tcq = &hw->adminq;\n \t\tif (ice_check_sq_alive(hw, cq))\n-\t\t\tice_aq_q_shutdown(hw, true);\n+\t\t\tice_aq_q_shutdown(hw, unloading);\n \t\tbreak;\n \tcase ICE_CTL_Q_SB:\n \t\tcq = &hw->sbq;\n@@ -693,21 +695,22 @@ static void ice_shutdown_ctrlq(struct ice_hw *hw, enum ice_ctl_q q_type)\n /**\n  * ice_shutdown_all_ctrlq - shutdown routine for all control queues\n  * @hw: pointer to the hardware structure\n+ * @unloading: is the driver unloading itself\n  *\n  * NOTE: this function does not destroy the control queue locks. The driver\n  * may call this at runtime to shutdown and later restart control queues, such\n  * as in response to a reset event.\n  */\n-void ice_shutdown_all_ctrlq(struct ice_hw *hw)\n+void ice_shutdown_all_ctrlq(struct ice_hw *hw, bool unloading)\n {\n \tice_debug(hw, ICE_DBG_TRACE, \"%s\\n\", __func__);\n \t/* Shutdown FW admin queue */\n-\tice_shutdown_ctrlq(hw, ICE_CTL_Q_ADMIN);\n+\tice_shutdown_ctrlq(hw, ICE_CTL_Q_ADMIN, unloading);\n \t/* Shutdown PHY Sideband */\n \tif (ice_is_sbq_supported(hw))\n-\t\tice_shutdown_ctrlq(hw, ICE_CTL_Q_SB);\n+\t\tice_shutdown_ctrlq(hw, ICE_CTL_Q_SB, unloading);\n \t/* Shutdown PF-VF Mailbox */\n-\tice_shutdown_ctrlq(hw, ICE_CTL_Q_MAILBOX);\n+\tice_shutdown_ctrlq(hw, ICE_CTL_Q_MAILBOX, unloading);\n }\n \n /**\n@@ -741,7 +744,7 @@ enum ice_status ice_init_all_ctrlq(struct ice_hw *hw)\n \t\t\tbreak;\n \n \t\tice_debug(hw, ICE_DBG_AQ_MSG, \"Retry Admin Queue init due to FW critical error\\n\");\n-\t\tice_shutdown_ctrlq(hw, ICE_CTL_Q_ADMIN);\n+\t\tice_shutdown_ctrlq(hw, ICE_CTL_Q_ADMIN, true);\n \t\tice_msec_delay(ICE_CTL_Q_ADMIN_INIT_MSEC, true);\n \t} while (retry++ < ICE_CTL_Q_ADMIN_INIT_TIMEOUT);\n \n@@ -822,7 +825,7 @@ static void ice_destroy_ctrlq_locks(struct ice_ctl_q_info *cq)\n void ice_destroy_all_ctrlq(struct ice_hw *hw)\n {\n \t/* shut down all the control queues first */\n-\tice_shutdown_all_ctrlq(hw);\n+\tice_shutdown_all_ctrlq(hw, true);\n \n \tice_destroy_ctrlq_locks(&hw->adminq);\n \tif (ice_is_sbq_supported(hw))\ndiff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c\nindex 551be3566f..172eb2fbdb 100644\n--- a/drivers/net/ice/ice_ethdev.c\n+++ b/drivers/net/ice/ice_ethdev.c\n@@ -2521,7 +2521,7 @@ ice_dev_close(struct rte_eth_dev *dev)\n \tice_free_hw_tbls(hw);\n \trte_free(hw->port_info);\n \thw->port_info = NULL;\n-\tice_shutdown_all_ctrlq(hw);\n+\tice_shutdown_all_ctrlq(hw, true);\n \trte_free(pf->proto_xtr);\n \tpf->proto_xtr = NULL;\n \n",
    "prefixes": [
        "59/70"
    ]
}