get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 130122,
    "url": "http://patchwork.dpdk.org/api/patches/130122/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230811085805.441256-8-ndabilpuram@marvell.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": "<20230811085805.441256-8-ndabilpuram@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230811085805.441256-8-ndabilpuram@marvell.com",
    "date": "2023-08-11T08:57:42",
    "name": "[08/31] common/cnxk: disable BP on SDP link while closing SQ",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "44f243f746189d8f6b80f21b87d19abf531156e8",
    "submitter": {
        "id": 1202,
        "url": "http://patchwork.dpdk.org/api/people/1202/?format=api",
        "name": "Nithin Dabilpuram",
        "email": "ndabilpuram@marvell.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patchwork.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230811085805.441256-8-ndabilpuram@marvell.com/mbox/",
    "series": [
        {
            "id": 29177,
            "url": "http://patchwork.dpdk.org/api/series/29177/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29177",
            "date": "2023-08-11T08:57:35",
            "name": "[01/31] common/cnxk: add aura ref count mechanism",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/29177/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/130122/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/130122/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 2AD5E43032;\n\tFri, 11 Aug 2023 10:58:58 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2234C43269;\n\tFri, 11 Aug 2023 10:58:36 +0200 (CEST)",
            "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174])\n by mails.dpdk.org (Postfix) with ESMTP id 8602343275\n for <dev@dpdk.org>; Fri, 11 Aug 2023 10:58:34 +0200 (CEST)",
            "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id\n 37AMjx5Q001610 for <dev@dpdk.org>; Fri, 11 Aug 2023 01:58:33 -0700",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3sd8yp9r6t-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT)\n for <dev@dpdk.org>; Fri, 11 Aug 2023 01:58:33 -0700",
            "from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48;\n Fri, 11 Aug 2023 01:58:32 -0700",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend\n Transport; Fri, 11 Aug 2023 01:58:32 -0700",
            "from hyd1588t430.caveonetworks.com (unknown [10.29.52.204])\n by maili.marvell.com (Postfix) with ESMTP id D97E73F706B;\n Fri, 11 Aug 2023 01:58:29 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=2HkxTBem3DVl6hATeJbITshVI9QigA/OT+5OgID5AOQ=;\n b=e6+ExVaScheQsnRsMKDe7gk5ve8NzowjLJC1zut3ppnPI9Kw6knv6VNzXKLYmOMblhPw\n 6+bRQQXSYBlfwQkZXoLTljCobIVRHFEvSKV9PjCd/HZurqroP1aa2Ik/krpxrSrLTNl6\n 59EOVfyenXiJ9XzCraz12BWJp065aCuGeBOX+JaBrOa157X1FCzEjvmrDn1LYoIQ7QZQ\n xl9+PYLUp0GJNpnPG+qp6mDCBY7n53vHXwhJGS3BmhsToJ5EyXFXn0BMqTwjEju8dPBj\n cf8PAIZEO4PRF/tuuMJt5YcO6jFUYKIZQenh3uRJYQ9u0Ez8DC+9KPcOTEKXr0PBU4PC 5Q==",
        "From": "Nithin Dabilpuram <ndabilpuram@marvell.com>",
        "To": "Nithin Dabilpuram <ndabilpuram@marvell.com>, Kiran Kumar K\n <kirankumark@marvell.com>, Sunil Kumar Kori <skori@marvell.com>, Satha Rao\n <skoteshwar@marvell.com>",
        "CC": "<jerinj@marvell.com>, <dev@dpdk.org>",
        "Subject": "[PATCH 08/31] common/cnxk: disable BP on SDP link while closing SQ",
        "Date": "Fri, 11 Aug 2023 14:27:42 +0530",
        "Message-ID": "<20230811085805.441256-8-ndabilpuram@marvell.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230811085805.441256-1-ndabilpuram@marvell.com>",
        "References": "<20230811085805.441256-1-ndabilpuram@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "feWx17d2rl7LmgtZQsR0UvrlgJJncTX4",
        "X-Proofpoint-GUID": "feWx17d2rl7LmgtZQsR0UvrlgJJncTX4",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26\n definitions=2023-08-10_20,2023-08-10_01,2023-05-22_02",
        "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: Satha Rao <skoteshwar@marvell.com>\n\nHost SDP port closes the SDP link on NIX causes crash when\nBP enabled on SDP link. This patch disables BP on SDP link\nwhen SQ flush fails due to link disabled at host.\n\nSigned-off-by: Satha Rao <skoteshwar@marvell.com>\n---\n drivers/common/cnxk/roc_nix_tm.c | 73 ++++++++++++++++++++++++++++++--\n 1 file changed, 70 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/common/cnxk/roc_nix_tm.c b/drivers/common/cnxk/roc_nix_tm.c\nindex c104611355..ce1e44ac4f 100644\n--- a/drivers/common/cnxk/roc_nix_tm.c\n+++ b/drivers/common/cnxk/roc_nix_tm.c\n@@ -610,8 +610,6 @@ roc_nix_tm_sq_flush_spin(struct roc_nix_sq *sq)\n \n \treturn 0;\n exit:\n-\troc_nix_tm_dump(sq->roc_nix, NULL);\n-\troc_nix_queues_ctx_dump(sq->roc_nix, NULL);\n \treturn -EFAULT;\n }\n \n@@ -748,6 +746,70 @@ roc_nix_tm_sq_free_pending_sqe(struct nix *nix, int q)\n \treturn 0;\n }\n \n+static inline int\n+nix_tm_sdp_sq_drop_pkts(struct roc_nix *roc_nix, struct roc_nix_sq *sq)\n+{\n+\tstruct nix *nix = roc_nix_to_nix_priv(roc_nix);\n+\tstruct mbox *mbox = mbox_get((&nix->dev)->mbox);\n+\tstruct nix_txschq_config *req = NULL, *rsp;\n+\tenum roc_nix_tm_tree tree = nix->tm_tree;\n+\tint rc = 0, qid = sq->qid;\n+\tstruct nix_tm_node *node;\n+\tuint64_t regval;\n+\n+\t/* Find the node for this SQ */\n+\tnode = nix_tm_node_search(nix, qid, tree);\n+\twhile (node) {\n+\t\tif (node->hw_lvl != NIX_TXSCH_LVL_TL4) {\n+\t\t\tnode = node->parent;\n+\t\t\tcontinue;\n+\t\t}\n+\t\tbreak;\n+\t}\n+\tif (!node) {\n+\t\tplt_err(\"Invalid node/state for sq %u\", qid);\n+\t\treturn -EFAULT;\n+\t}\n+\n+\t/* Get present link config */\n+\treq = mbox_alloc_msg_nix_txschq_cfg(mbox);\n+\treq->read = 1;\n+\treq->lvl = NIX_TXSCH_LVL_TL4;\n+\treq->reg[0] = NIX_AF_TL4X_SDP_LINK_CFG(node->hw_id);\n+\treq->num_regs = 1;\n+\trc = mbox_process_msg(mbox, (void **)&rsp);\n+\tif (rc || rsp->num_regs != 1)\n+\t\tgoto err;\n+\tregval = rsp->regval[0];\n+\t/* Disable BP_ENA in SDP link config */\n+\treq = mbox_alloc_msg_nix_txschq_cfg(mbox);\n+\treq->lvl = NIX_TXSCH_LVL_TL4;\n+\treq->reg[0] = NIX_AF_TL4X_SDP_LINK_CFG(node->hw_id);\n+\treq->regval[0] = 0x0ull;\n+\treq->regval_mask[0] = ~(BIT_ULL(13));\n+\treq->num_regs = 1;\n+\trc = mbox_process(mbox);\n+\tif (rc)\n+\t\tgoto err;\n+\tmbox_put(mbox);\n+\t/* Flush SQ to drop all packets */\n+\trc = roc_nix_tm_sq_flush_spin(sq);\n+\tif (rc)\n+\t\tplt_nix_dbg(\"SQ flush failed with link reset config rc %d\", rc);\n+\tmbox = mbox_get((&nix->dev)->mbox);\n+\t/* Restore link config */\n+\treq = mbox_alloc_msg_nix_txschq_cfg(mbox);\n+\treq->reg[0] = NIX_AF_TL4X_SDP_LINK_CFG(node->hw_id);\n+\treq->lvl = NIX_TXSCH_LVL_TL4;\n+\treq->regval[0] = regval;\n+\treq->regval_mask[0] = ~(BIT_ULL(13) | BIT_ULL(12) | GENMASK_ULL(7, 0));\n+\treq->num_regs = 1;\n+\trc = mbox_process(mbox);\n+err:\n+\tmbox_put(mbox);\n+\treturn rc;\n+}\n+\n /* Flush and disable tx queue and its parent SMQ */\n int\n nix_tm_sq_flush_pre(struct roc_nix_sq *sq)\n@@ -834,8 +896,13 @@ nix_tm_sq_flush_pre(struct roc_nix_sq *sq)\n \t\t/* Wait for sq entries to be flushed */\n \t\trc = roc_nix_tm_sq_flush_spin(sq);\n \t\tif (rc) {\n-\t\t\trc = roc_nix_tm_sq_free_pending_sqe(nix, sq->qid);\n+\t\t\tif (nix->sdp_link)\n+\t\t\t\trc = nix_tm_sdp_sq_drop_pkts(roc_nix, sq);\n+\t\t\telse\n+\t\t\t\trc = roc_nix_tm_sq_free_pending_sqe(nix, sq->qid);\n \t\t\tif (rc) {\n+\t\t\t\troc_nix_tm_dump(sq->roc_nix, NULL);\n+\t\t\t\troc_nix_queues_ctx_dump(sq->roc_nix, NULL);\n \t\t\t\tplt_err(\"Failed to drain sq %u, rc=%d\\n\", sq->qid, rc);\n \t\t\t\treturn rc;\n \t\t\t}\n",
    "prefixes": [
        "08/31"
    ]
}