get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 132655,
    "url": "https://patches.dpdk.org/api/patches/132655/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231016205715.970999-1-sivaprasad.tummala@amd.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": "<20231016205715.970999-1-sivaprasad.tummala@amd.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231016205715.970999-1-sivaprasad.tummala@amd.com",
    "date": "2023-10-16T20:57:10",
    "name": "[v1,1/6] eventdev: add power monitoring API on event port",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "29107c34e027bb5acf55fa46d85511444032d689",
    "submitter": {
        "id": 2510,
        "url": "https://patches.dpdk.org/api/people/2510/?format=api",
        "name": "Sivaprasad Tummala",
        "email": "Sivaprasad.Tummala@amd.com"
    },
    "delegate": {
        "id": 310,
        "url": "https://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20231016205715.970999-1-sivaprasad.tummala@amd.com/mbox/",
    "series": [
        {
            "id": 29856,
            "url": "https://patches.dpdk.org/api/series/29856/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29856",
            "date": "2023-10-16T20:57:10",
            "name": "[v1,1/6] eventdev: add power monitoring API on event port",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/29856/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/132655/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/132655/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 E44AD43182;\n\tMon, 16 Oct 2023 22:57:39 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B576940299;\n\tMon, 16 Oct 2023 22:57:39 +0200 (CEST)",
            "from NAM11-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam11on2060.outbound.protection.outlook.com [40.107.223.60])\n by mails.dpdk.org (Postfix) with ESMTP id 08765400D6\n for <dev@dpdk.org>; Mon, 16 Oct 2023 22:57:38 +0200 (CEST)",
            "from CYZPR14CA0033.namprd14.prod.outlook.com (2603:10b6:930:a0::20)\n by DM6PR12MB4434.namprd12.prod.outlook.com (2603:10b6:5:2ad::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.35; Mon, 16 Oct\n 2023 20:57:36 +0000",
            "from CY4PEPF0000E9D0.namprd03.prod.outlook.com\n (2603:10b6:930:a0:cafe::13) by CYZPR14CA0033.outlook.office365.com\n (2603:10b6:930:a0::20) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36 via Frontend\n Transport; Mon, 16 Oct 2023 20:57:35 +0000",
            "from SATLEXMB04.amd.com (165.204.84.17) by\n CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.143) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.6838.22 via Frontend Transport; Mon, 16 Oct 2023 20:57:35 +0000",
            "from telco-siena.amd.com (10.180.168.240) by SATLEXMB04.amd.com\n (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 16 Oct\n 2023 15:57:34 -0500"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=CsgAwt2fxpnJeLZpMmOumdx8jPsIAXpzahG7/4ez3OP6JKLTpPUr6PE0KiaXsNJYWnODS+YRmQl5D9W5q7XkY2IV0VBidn+zVOg1DBOeoI/88aqI/Hai12dguTUbXEmPZBmsrJwg009K3jpHqVtJPeNeW0/Ue82n8FYGxN6gZTswxhS6lJ1jAXz8EthyrjvqWJ3zhVMEGSrsVUcLT6fEaJWu5V1p7PIP4B60raOS4bM11eIlKsQifKpH+EbAtqQ2mvVyPzpZ8TpyzosGUDKJ5FGTR/3FcIzEfUmP7ZS1QrQQNs/7FIkG9d0Vp+KLbXvVQHBj6LxMnaQwvx96VsCrvQ==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=lb6ITJ+G92YiLM7no0kwlmXox3DU/4S9rIHYC288nqg=;\n b=mYx+5UQ1BZrm1bjKcxdG2XXFaZtwNCDVKucUIpOBFPskFXBR8PW8vThJA+bkE9J6MHXXSR2A4ZCdJXWrJ7wyWfCDnZL4+1jXvWkwMKNO09fpDqxF6lYYOHkDP4ALNOOiy/Nq2UHdCJpdVrXJuOV3azYgX6XiTFNYoob/xqTqfJnHkPpetZzj2NvI9u3cChMVC23RtAdJ7e1BdRZC5WQvkE42HcI/XGSpoobylekRFSDiJKLfL4rZKmklrt98qHTLbNHEvML3YcqJ/tPN48nWX19zSI4eBZBs//2wV66uPKaQNDVSE/Fn2+aJIfW913QwuHgf0Bj9eiwKrQwrP0+i2Q==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass\n (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=lb6ITJ+G92YiLM7no0kwlmXox3DU/4S9rIHYC288nqg=;\n b=IHIt7JPij9qlHkiFxleGBmZOu4x7J65QfJ7Csd33nDNiz5eYp88oEcCnmbVkab75Yd6Us8thVyf8xdi3jp+qhcmY3rfyMyXyVT7GfPM8vXx0Z5dXU4YKpa/pE4tdmti8wZQpHqLcWnMrwifkEBalokkPyKZbqRG9wsUGWSTTa0U=",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C",
        "From": "Sivaprasad Tummala <sivaprasad.tummala@amd.com>",
        "To": "<jerinjacobk@gmail.com>, <harry.van.haaren@intel.com>,\n <anatoly.burakov@intel.com>",
        "CC": "<dev@dpdk.org>, <ferruh.yigit@amd.com>, <david.hunt@intel.com>",
        "Subject": "[PATCH v1 1/6] eventdev: add power monitoring API on event port",
        "Date": "Mon, 16 Oct 2023 13:57:10 -0700",
        "Message-ID": "<20231016205715.970999-1-sivaprasad.tummala@amd.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230419095427.563185-1-sivaprasad.tummala@amd.com>",
        "References": "<20230419095427.563185-1-sivaprasad.tummala@amd.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.180.168.240]",
        "X-ClientProxiedBy": "SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com\n (10.181.40.145)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CY4PEPF0000E9D0:EE_|DM6PR12MB4434:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "976004c2-862e-41c0-6737-08dbce8a865c",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n KQKf77/Qm2TG+4Q35C07Hd33yAjYgOQvOoHMUcGJ2W6c49wB3ZQHShUbWu7LN9+WQ+8f9Vch3Sk4kLkWSAH1oYJKG5DJVk/Q4D1x6XSOtfuzOtT89OT0zegscd2eu5SEMsWucJfY/s99XwxaH3owrisNNKpy0JmDsesx3H8k3Ycs5LQ5qR/cSX4cDGW/y4Rb0GSn1xi6u9XudPlu/FhLPVwtY3fJCGnedxYfhPW+TwlID4jMhEHakXadj03cO6BkY1vpAfoqM7gUT9bON72/46PrRSDSuRdFProJDVVxv1N20NjnobrRF3vu2ICxRUv+gW8+io2d2PhMSUEjnHrofi8KGbD2gtjgMREOb++FSBexrWJBiHWkdbHuRVpEXVGhmrstfwtRIgZ2pO8ziKZHipZsWokRn+Dz36465CN6FoKfw/4WVosU1AfQbua97dZ6NfSuBLXnO2hvpWpmZBKIxIIhaU6UGoPNCOB8+92O1rXtOEKVAzGai4jYZDnVbkdTQc7bi+C9omKvmcipGBA6QyYuA4uzCm9GXh2WG9EZJqoizrsJ4Y0SS9yuYWA7i6Kw5k5Kxj7DMo3o5NKkn65u3jDdb5mgruumcCvtdImYtvWv6uM4aXL+tMV3eAimsKYHOvrD2wzGJ8oPvgSvVgGbi1L9Me0pc+y2Ipw9/mWAB3vJoEDovnNkY9IhIfAOuFqsUJmHfHLmxqosQyx7623JlBBGHn0QN7LU5rqNXg00GItfJxsq1O7Hl6iD7DNuh+Qc4DKYmyJeyb7kM+Ziryx6vA==",
        "X-Forefront-Antispam-Report": "CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230031)(4636009)(396003)(136003)(346002)(39860400002)(376002)(230922051799003)(186009)(82310400011)(64100799003)(1800799009)(451199024)(36840700001)(40470700004)(46966006)(70206006)(70586007)(478600001)(2616005)(54906003)(316002)(110136005)(426003)(1076003)(336012)(26005)(7696005)(16526019)(2906002)(41300700001)(5660300002)(8936002)(4326008)(8676002)(44832011)(86362001)(36756003)(82740400003)(356005)(47076005)(83380400001)(6666004)(36860700001)(81166007)(40460700003)(40480700001)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "16 Oct 2023 20:57:35.7131 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 976004c2-862e-41c0-6737-08dbce8a865c",
        "X-MS-Exchange-CrossTenant-Id": "3dd8961f-e488-4e60-8e11-a82d994e183d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];\n Helo=[SATLEXMB04.amd.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CY4PEPF0000E9D0.namprd03.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR12MB4434",
        "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": "A new API to allow power monitoring condition on event port to\noptimize power when no events are arriving on an event port for\nthe worker core to process in an eventdev based pipelined application.\n\nSigned-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>\n---\n lib/eventdev/eventdev_pmd.h | 22 ++++++++++++++++++++++\n lib/eventdev/rte_eventdev.c | 24 ++++++++++++++++++++++++\n lib/eventdev/rte_eventdev.h | 25 +++++++++++++++++++++++++\n lib/eventdev/version.map    |  1 +\n 4 files changed, 72 insertions(+)",
    "diff": "diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h\nindex 30bd90085c..a0ee768ce7 100644\n--- a/lib/eventdev/eventdev_pmd.h\n+++ b/lib/eventdev/eventdev_pmd.h\n@@ -525,6 +525,26 @@ typedef int (*eventdev_port_unlink_profile_t)(struct rte_eventdev *dev, void *po\n typedef int (*eventdev_port_unlinks_in_progress_t)(struct rte_eventdev *dev,\n \t\tvoid *port);\n \n+/**\n+ * @internal\n+ * Get address of memory location whose contents will change whenever there is\n+ * new data to be received on an Event port.\n+ *\n+ * @param port\n+ *   Eventdev port pointer.\n+ * @param pmc\n+ *   The pointer to power-optimized monitoring condition structure.\n+ * @return\n+ *   Negative errno value on error, 0 on success.\n+ *\n+ * @retval 0\n+ *   Success\n+ * @retval -EINVAL\n+ *   Invalid parameters\n+ */\n+typedef int (*event_get_monitor_addr_t)(void *port,\n+\t\tstruct rte_power_monitor_cond *pmc);\n+\n /**\n  * Converts nanoseconds to *timeout_ticks* value for rte_event_dequeue()\n  *\n@@ -1564,6 +1584,8 @@ struct eventdev_ops {\n \teventdev_dump_t dump;\n \t/* Dump internal information */\n \n+\tevent_get_monitor_addr_t get_monitor_addr;\n+\t/** Get power monitoring condition for event port */\n \teventdev_xstats_get_t xstats_get;\n \t/**< Get extended device statistics. */\n \teventdev_xstats_get_names_t xstats_get_names;\ndiff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c\nindex 95373bbaad..5feb4326a2 100644\n--- a/lib/eventdev/rte_eventdev.c\n+++ b/lib/eventdev/rte_eventdev.c\n@@ -884,6 +884,30 @@ rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,\n \treturn 0;\n }\n \n+int\n+rte_event_port_get_monitor_addr(uint8_t dev_id, uint8_t port_id,\n+\t\t\t\tstruct rte_power_monitor_cond *pmc)\n+{\n+\tstruct rte_eventdev *dev;\n+\n+\tRTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n+\tdev = &rte_eventdevs[dev_id];\n+\tif (!is_valid_port(dev, port_id)) {\n+\t\tRTE_EDEV_LOG_ERR(\"Invalid port_id=%\" PRIu8, port_id);\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tif (pmc == NULL) {\n+\t\tRTE_EDEV_LOG_ERR(\"devid %u port %u power monitor condition is NULL\\n\",\n+\t\t\t\tdev_id, port_id);\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tif (*dev->dev_ops->get_monitor_addr == NULL)\n+\t\treturn -ENOTSUP;\n+\treturn (*dev->dev_ops->get_monitor_addr)(dev->data->ports[port_id], pmc);\n+}\n+\n int\n rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,\n \t\t\tuint32_t *attr_value)\ndiff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h\nindex 2ea98302b8..38dbbc2617 100644\n--- a/lib/eventdev/rte_eventdev.h\n+++ b/lib/eventdev/rte_eventdev.h\n@@ -214,6 +214,7 @@ extern \"C\" {\n #include <rte_errno.h>\n #include <rte_mbuf_pool_ops.h>\n #include <rte_mempool.h>\n+#include <rte_power_intrinsics.h>\n \n #include \"rte_eventdev_trace_fp.h\"\n \n@@ -990,6 +991,30 @@ int\n rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,\n \t\t\tuint32_t *attr_value);\n \n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this API may change without prior notice.\n+ *\n+ * Retrieve the monitor condition for a given event port.\n+ *\n+ * @param dev_id\n+ *   Eventdev id\n+ * @param port_id\n+ *   Eventdev port id\n+ * @param pmc\n+ *   The pointer to power-optimized monitoring condition structure.\n+ *\n+ * @return\n+ *   - 0: Success.\n+ *   -ENOTSUP: Operation not supported.\n+ *   -EINVAL: Invalid parameters.\n+ *   -ENODEV: Invalid device ID.\n+ */\n+__rte_experimental\n+int\n+rte_event_port_get_monitor_addr(uint8_t dev_id, uint8_t port_id,\n+\t\tstruct rte_power_monitor_cond *pmc);\n+\n /**\n  * Start an event device.\n  *\ndiff --git a/lib/eventdev/version.map b/lib/eventdev/version.map\nindex 42a2f7206e..fa9eb069ff 100644\n--- a/lib/eventdev/version.map\n+++ b/lib/eventdev/version.map\n@@ -154,6 +154,7 @@ EXPERIMENTAL {\n \trte_event_port_profile_links_set;\n \trte_event_port_profile_unlink;\n \trte_event_port_profile_links_get;\n+\trte_event_port_get_monitor_addr;\n \t__rte_eventdev_trace_port_profile_switch;\n };\n \n",
    "prefixes": [
        "v1",
        "1/6"
    ]
}