From patchwork Sat Jan 22 17:07:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Naga Harish K, S V" X-Patchwork-Id: 106232 Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 2F297A00C4; Sat, 22 Jan 2022 18:07:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B6BA842784; Sat, 22 Jan 2022 18:07:53 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id B267540040 for ; Sat, 22 Jan 2022 18:07:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642871272; x=1674407272; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=pO8cEaZ8wy4JhtjQUOFk0kOPaYFl15gTgOO89FI55fA=; b=J6URYSXTZOcPu0/N8rvyFmqueGUM6q5Xkq5zN7lbi+q8kzHnVVe1A6o9 lWZZfRuHTARGkOTUY6HvJ0KJtn5VxkNvB3x16MbKjwBrBcrHsViWekytM JoU6lTtVajPMEAhpCgb7jzxZr1FcWam9TuNwemHqrzIirH00NqwZYwro7 r2Lw7KNhGlODreLKc7a/DusqS9C6X39CZPDimFfdU6EPU+AkcMHhGvvQV jXZtlAwgAAmjn3uMr1VgTuI29pSvjdS6aV0nzV/s2s2CxZjkJHNWr3xm0 IX3YlTy/MkoghA0yRhVvDtIOZmgYMLhL3S1Qchmj8csHt6nAvJDyW0lXl Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10234"; a="332190995" X-IronPort-AV: E=Sophos;i="5.88,308,1635231600"; d="scan'208";a="332190995" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2022 09:07:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,308,1635231600"; d="scan'208";a="533676868" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by orsmga008.jf.intel.com with ESMTP; 22 Jan 2022 09:07:51 -0800 From: Naga Harish K S V To: jerinjacobk@gmail.com, jay.jayatheerthan@intel.com Cc: dev@dpdk.org Subject: [PATCH v2] eventdev/rx_adapter: add event port get api Date: Sat, 22 Jan 2022 11:07:42 -0600 Message-Id: <20220122170742.877897-1-s.v.naga.harish.k@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20211222061338.1167674-1-s.v.naga.harish.k@intel.com> References: <20211222061338.1167674-1-s.v.naga.harish.k@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patch introduces new api for retrieving event port id of eth rx adapter. Signed-off-by: Naga Harish K S V Acked-by: Jay Jayatheerthan --- doc/guides/rel_notes/release_22_03.rst | 2 ++ lib/eventdev/rte_event_eth_rx_adapter.c | 20 ++++++++++++++++++++ lib/eventdev/rte_event_eth_rx_adapter.h | 20 ++++++++++++++++++++ lib/eventdev/version.map | 3 +++ 4 files changed, 45 insertions(+) diff --git a/doc/guides/rel_notes/release_22_03.rst b/doc/guides/rel_notes/release_22_03.rst index 6d99d1eaa9..288d94c0e6 100644 --- a/doc/guides/rel_notes/release_22_03.rst +++ b/doc/guides/rel_notes/release_22_03.rst @@ -83,6 +83,8 @@ API Changes This section is a comment. Do not overwrite or remove it. Also, make sure to start the actual text at the margin. ======================================================= +* eventdev: Added new API ``rte_event_eth_rx_adapter_event_port_get``, + to retrieve event port id of eth rx adapter. ABI Changes diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index f946137b25..ae1e260c08 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -3123,6 +3123,26 @@ rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id) return rx_adapter->service_inited ? 0 : -ESRCH; } +int +rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id) +{ + struct event_eth_rx_adapter *rx_adapter; + + if (rxa_memzone_lookup()) + return -ENOMEM; + + RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); + + rx_adapter = rxa_id_to_adapter(id); + if (rx_adapter == NULL || event_port_id == NULL) + return -EINVAL; + + if (rx_adapter->service_inited) + *event_port_id = rx_adapter->event_port_id; + + return rx_adapter->service_inited ? 0 : -ESRCH; +} + int rte_event_eth_rx_adapter_cb_register(uint8_t id, uint16_t eth_dev_id, diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h index 9546d792e9..3608a7b2cf 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.h +++ b/lib/eventdev/rte_event_eth_rx_adapter.h @@ -37,6 +37,7 @@ * - rte_event_eth_rx_adapter_queue_conf_get() * - rte_event_eth_rx_adapter_queue_stats_get() * - rte_event_eth_rx_adapter_queue_stats_reset() + * - rte_event_eth_rx_adapter_event_port_get() * * The application creates an ethernet to event adapter using * rte_event_eth_rx_adapter_create_ext() or rte_event_eth_rx_adapter_create() @@ -684,6 +685,25 @@ rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id, uint16_t eth_dev_id, uint16_t rx_queue_id); +/** + * Retrieve the event port ID of an adapter. If the adapter doesn't use + * a rte_service function, this function returns -ESRCH. + * + * @param id + * Adapter identifier. + * + * @param [out] event_port_id + * A pointer to a uint8_t, to be filled in with the port id. + * + * @return + * - 0: Success + * - <0: Error code on failure, if the adapter doesn't use a rte_service + * function, this function returns -ESRCH. + */ +__rte_experimental +int +rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id); + #ifdef __cplusplus } #endif diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map index ade1f1182e..cd5dada07f 100644 --- a/lib/eventdev/version.map +++ b/lib/eventdev/version.map @@ -105,6 +105,9 @@ EXPERIMENTAL { rte_event_eth_rx_adapter_queue_conf_get; rte_event_eth_rx_adapter_queue_stats_get; rte_event_eth_rx_adapter_queue_stats_reset; + + # added in 22.03 + rte_event_eth_rx_adapter_event_port_get; }; INTERNAL {