get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 105115,
    "url": "http://patches.dpdk.org/api/patches/105115/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20211213204309.5432-1-pbhagavatula@marvell.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": "<20211213204309.5432-1-pbhagavatula@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211213204309.5432-1-pbhagavatula@marvell.com",
    "date": "2021-12-13T20:43:08",
    "name": "common/cnxk: add telemetry endpoints to SSO",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "6696fe966a25e934fffb3f3fdf1f7712bf6dec67",
    "submitter": {
        "id": 1183,
        "url": "http://patches.dpdk.org/api/people/1183/?format=api",
        "name": "Pavan Nikhilesh Bhagavatula",
        "email": "pbhagavatula@marvell.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20211213204309.5432-1-pbhagavatula@marvell.com/mbox/",
    "series": [
        {
            "id": 20933,
            "url": "http://patches.dpdk.org/api/series/20933/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=20933",
            "date": "2021-12-13T20:43:08",
            "name": "common/cnxk: add telemetry endpoints to SSO",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/20933/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/105115/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/105115/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 59729A00BE;\n\tMon, 13 Dec 2021 21:43:22 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 40C5F406A2;\n\tMon, 13 Dec 2021 21:43:22 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173])\n by mails.dpdk.org (Postfix) with ESMTP id A44DC40042\n for <dev@dpdk.org>; Mon, 13 Dec 2021 21:43:20 +0100 (CET)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id\n 1BDGjImk026809\n for <dev@dpdk.org>; Mon, 13 Dec 2021 12:43:19 -0800",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3cx21kjvt9-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT)\n for <dev@dpdk.org>; Mon, 13 Dec 2021 12:43:19 -0800",
            "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.18;\n Mon, 13 Dec 2021 12:43:17 -0800",
            "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.18 via Frontend\n Transport; Mon, 13 Dec 2021 12:43:17 -0800",
            "from BG-LT7430.marvell.com (BG-LT7430.marvell.com [10.28.177.176])\n by maili.marvell.com (Postfix) with ESMTP id 6153E3F7075;\n Mon, 13 Dec 2021 12:43:15 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : mime-version : content-transfer-encoding :\n content-type; s=pfpt0220; bh=+lz6nPwch9xCWxs1b1JaKVZu/Ktdoupb9s+XkomQ7vk=;\n b=lCtoYwtMOmTjc5KwyjA7QYT4/SuBBrwR/NIcbnSHds66AAzJ8sO4NKKqqSI7njGClLuJ\n jqUpd4SVMnjM+H2qweUBFHgyIZMJ9mYcXyeNmhua4SCrCrWESXlelDgh9+3yTNXRnoX3\n enC0U81+AHCSM0tO64qlru8pdy1o8QeIEEdMM4iiAoB9hsL8oFhfJurfEk5AiTD/3cfW\n uNKaourRrDwQgce7H7F5IXBojELFjtmuFvSIC/eB6y48ANwBEVQnOcayAkNyzKG9vphE\n Ywn1SnqLgDugphxq73upldXOPH+2pnuqclu+yxkDvb0OLUmIdSf++71gCHu1pYWKP5tx HA==",
        "From": "<pbhagavatula@marvell.com>",
        "To": "<jerinj@marvell.com>, Nithin Dabilpuram <ndabilpuram@marvell.com>, \"Kiran\n Kumar K\" <kirankumark@marvell.com>, Sunil Kumar Kori <skori@marvell.com>,\n Satha Rao <skoteshwar@marvell.com>",
        "CC": "<dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com>",
        "Subject": "[PATCH] common/cnxk: add telemetry endpoints to SSO",
        "Date": "Tue, 14 Dec 2021 02:13:08 +0530",
        "Message-ID": "<20211213204309.5432-1-pbhagavatula@marvell.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-GUID": "rkg6Vgl16I9Ke2SPSuEFxc8ICGNUxIiG",
        "X-Proofpoint-ORIG-GUID": "rkg6Vgl16I9Ke2SPSuEFxc8ICGNUxIiG",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513\n definitions=2021-12-13_10,2021-12-13_01,2021-12-02_01",
        "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: Pavan Nikhilesh <pbhagavatula@marvell.com>\n\nAdd common telemetry endpoints for SSO.\n\nSigned-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>\n---\n drivers/common/cnxk/cnxk_telemetry_sso.c | 50 ++++++++++++++++++++++++\n drivers/common/cnxk/meson.build          |  4 +-\n drivers/common/cnxk/roc_idev.c           | 20 ++++++++++\n drivers/common/cnxk/roc_idev_priv.h      |  3 ++\n drivers/common/cnxk/roc_sso.c            |  1 +\n drivers/common/cnxk/roc_sso_priv.h       |  1 +\n drivers/common/cnxk/roc_utils.c          |  3 ++\n 7 files changed, 81 insertions(+), 1 deletion(-)\n create mode 100644 drivers/common/cnxk/cnxk_telemetry_sso.c",
    "diff": "diff --git a/drivers/common/cnxk/cnxk_telemetry_sso.c b/drivers/common/cnxk/cnxk_telemetry_sso.c\nnew file mode 100644\nindex 0000000000..822934ebd7\n--- /dev/null\n+++ b/drivers/common/cnxk/cnxk_telemetry_sso.c\n@@ -0,0 +1,50 @@\n+\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2021 Marvell.\n+ */\n+\n+#include <unistd.h>\n+\n+#include \"cnxk_telemetry.h\"\n+#include \"roc_api.h\"\n+#include \"roc_priv.h\"\n+\n+static int\n+cnxk_tel_sso(struct plt_tel_data *d)\n+{\n+\tstruct roc_sso *roc_sso;\n+\tstruct sso *sso;\n+\n+\troc_sso = idev_sso_get();\n+\tif (roc_sso == NULL)\n+\t\treturn SSO_ERR_DEVICE_NOT_BOUNDED;\n+\n+\tsso = roc_sso_to_sso_priv(roc_sso);\n+\tplt_tel_data_add_dict_ptr(d, \"roc_sso\", roc_sso);\n+\tplt_tel_data_add_dict_ptr(d, \"sso\", sso);\n+\tplt_tel_data_add_dict_int(d, \"max_hws\", roc_sso->max_hws);\n+\tplt_tel_data_add_dict_int(d, \"max_hwgrp\", roc_sso->max_hwgrp);\n+\tplt_tel_data_add_dict_int(d, \"nb_hws\", roc_sso->nb_hws);\n+\tplt_tel_data_add_dict_int(d, \"nb_hwgrp\", roc_sso->nb_hwgrp);\n+\tplt_tel_data_add_dict_int(d, \"pf_func\", sso->dev.pf_func);\n+\tplt_tel_data_add_dict_int(d, \"pid\", getpid());\n+\n+\treturn 0;\n+}\n+\n+static int\n+cnxk_sso_tel_handle_info(const char *cmd __plt_unused,\n+\t\t\t const char *params __plt_unused,\n+\t\t\t struct plt_tel_data *d)\n+{\n+\tplt_tel_data_start_dict(d);\n+\tcnxk_tel_sso(d);\n+\treturn 0;\n+}\n+\n+PLT_INIT(cnxk_telemetry_sso_init)\n+{\n+\tplt_telemetry_register_cmd(\n+\t\t\"/cnxk/sso/info\", cnxk_sso_tel_handle_info,\n+\t\t\"Returns sso information. Takes no parameters\");\n+}\ndiff --git a/drivers/common/cnxk/meson.build b/drivers/common/cnxk/meson.build\nindex 4928f7e549..88407af828 100644\n--- a/drivers/common/cnxk/meson.build\n+++ b/drivers/common/cnxk/meson.build\n@@ -77,6 +77,8 @@ includes += include_directories('../../../lib/meter')\n # Telemetry common code\n sources += files('cnxk_telemetry_bphy.c',\n                  'cnxk_telemetry_npa.c',\n-                 'cnxk_telemetry_nix.c')\n+                 'cnxk_telemetry_nix.c',\n+                 'cnxk_telemetry_sso.c',\n+)\n \n deps += ['bus_pci', 'net', 'telemetry']\ndiff --git a/drivers/common/cnxk/roc_idev.c b/drivers/common/cnxk/roc_idev.c\nindex 648f37b3bb..b1f38fb5fc 100644\n--- a/drivers/common/cnxk/roc_idev.c\n+++ b/drivers/common/cnxk/roc_idev.c\n@@ -206,3 +206,23 @@ roc_idev_npa_nix_get(void)\n \tdev = container_of(npa_lf, struct dev, npa);\n \treturn dev->roc_nix;\n }\n+\n+struct roc_sso *\n+idev_sso_get(void)\n+{\n+\tstruct idev_cfg *idev = idev_get_cfg();\n+\n+\tif (idev != NULL)\n+\t\treturn __atomic_load_n(&idev->sso, __ATOMIC_ACQUIRE);\n+\n+\treturn NULL;\n+}\n+\n+void\n+idev_sso_set(struct roc_sso *sso)\n+{\n+\tstruct idev_cfg *idev = idev_get_cfg();\n+\n+\tif (idev != NULL)\n+\t\t__atomic_store_n(&idev->sso, sso, __ATOMIC_RELEASE);\n+}\ndiff --git a/drivers/common/cnxk/roc_idev_priv.h b/drivers/common/cnxk/roc_idev_priv.h\nindex 2c8309b8fd..46eebffcbb 100644\n--- a/drivers/common/cnxk/roc_idev_priv.h\n+++ b/drivers/common/cnxk/roc_idev_priv.h\n@@ -21,6 +21,7 @@ struct idev_cfg {\n \tuint64_t lmt_base_addr;\n \tstruct roc_bphy *bphy;\n \tstruct roc_cpt *cpt;\n+\tstruct roc_sso *sso;\n \tstruct nix_inl_dev *nix_inl_dev;\n \tplt_spinlock_t nix_inl_dev_lock;\n };\n@@ -39,6 +40,8 @@ uint16_t idev_npa_lf_active(struct dev *dev);\n /* idev sso */\n void idev_sso_pffunc_set(uint16_t sso_pf_func);\n uint16_t idev_sso_pffunc_get(void);\n+struct roc_sso *idev_sso_get(void);\n+void idev_sso_set(struct roc_sso *sso);\n \n /* idev lmt */\n uint16_t idev_lmt_pffunc_get(void);\ndiff --git a/drivers/common/cnxk/roc_sso.c b/drivers/common/cnxk/roc_sso.c\nindex 45ff16ca0e..1b85f04970 100644\n--- a/drivers/common/cnxk/roc_sso.c\n+++ b/drivers/common/cnxk/roc_sso.c\n@@ -726,6 +726,7 @@ roc_sso_dev_init(struct roc_sso *roc_sso)\n \t\tlink_mem = PLT_PTR_ADD(link_mem, link_map_sz);\n \t}\n \tidev_sso_pffunc_set(sso->dev.pf_func);\n+\tidev_sso_set(roc_sso);\n \tsso->pci_dev = pci_dev;\n \tsso->dev.drv_inited = true;\n \troc_sso->lmt_base = sso->dev.lmt_base;\ndiff --git a/drivers/common/cnxk/roc_sso_priv.h b/drivers/common/cnxk/roc_sso_priv.h\nindex 2e1b025d1c..09729d4f62 100644\n--- a/drivers/common/cnxk/roc_sso_priv.h\n+++ b/drivers/common/cnxk/roc_sso_priv.h\n@@ -26,6 +26,7 @@ struct sso {\n \n enum sso_err_status {\n \tSSO_ERR_PARAM = -4096,\n+\tSSO_ERR_DEVICE_NOT_BOUNDED = -4097,\n };\n \n enum sso_lf_type {\ndiff --git a/drivers/common/cnxk/roc_utils.c b/drivers/common/cnxk/roc_utils.c\nindex f1b5ef3b70..495e62a315 100644\n--- a/drivers/common/cnxk/roc_utils.c\n+++ b/drivers/common/cnxk/roc_utils.c\n@@ -220,6 +220,9 @@ roc_error_msg_get(int errorcode)\n \tcase NIX_AF_ERR_PTP_CONFIG_FAIL:\n \t\terr_msg = \"PTP config failed\";\n \t\tbreak;\n+\tcase SSO_ERR_DEVICE_NOT_BOUNDED:\n+\t\terr_msg = \"SSO pf/vf not found\";\n+\t\tbreak;\n \tcase UTIL_ERR_FS:\n \t\terr_msg = \"file operation failed\";\n \t\tbreak;\n",
    "prefixes": []
}