From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2ECEF45B4C; Tue, 22 Oct 2024 21:14:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8AA3B40DDD; Tue, 22 Oct 2024 21:13:19 +0200 (CEST) Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by mails.dpdk.org (Postfix) with ESMTP id 976C240698 for ; Tue, 22 Oct 2024 21:13:02 +0200 (CEST) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 76BF21A11C0; Tue, 22 Oct 2024 21:13:02 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 365FA1A0FA1; Tue, 22 Oct 2024 21:13:02 +0200 (CEST) Received: from lsv03379.swis.in-blr01.nxp.com (lsv03379.swis.in-blr01.nxp.com [92.120.147.188]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 98B52183DC05; Wed, 23 Oct 2024 03:13:01 +0800 (+08) From: vanshika.shukla@nxp.com To: dev@dpdk.org, Hemant Agrawal , Sachin Saxena Cc: Jun Yang Subject: [v4 11/42] net/dpaa2: add new PMD API to check dpaa platform version Date: Wed, 23 Oct 2024 00:42:24 +0530 Message-Id: <20241022191256.516818-12-vanshika.shukla@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241022191256.516818-1-vanshika.shukla@nxp.com> References: <20241014120126.170790-1-vanshika.shukla@nxp.com> <20241022191256.516818-1-vanshika.shukla@nxp.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP 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 From: Jun Yang This patch add support to check the DPAA platform type from the applications. Signed-off-by: Jun Yang --- drivers/net/dpaa2/dpaa2_ethdev.c | 16 +++++++++++++--- drivers/net/dpaa2/dpaa2_flow.c | 5 ++--- drivers/net/dpaa2/rte_pmd_dpaa2.h | 4 ++++ drivers/net/dpaa2/version.map | 1 + 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 0adebc0bf1..bd6a578e30 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -2161,7 +2161,7 @@ dpaa2_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) ret = dpni_get_link_cfg(dpni, CMD_PRI_LOW, priv->token, &cfg); if (ret) { DPAA2_PMD_ERR("Unable to get link cfg (err=%d)", ret); - return -1; + return ret; } /* Disable link before setting configuration */ @@ -2203,7 +2203,7 @@ dpaa2_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) default: DPAA2_PMD_ERR("Incorrect Flow control flag (%d)", fc_conf->mode); - return -1; + return -EINVAL; } ret = dpni_set_link_cfg(dpni, CMD_PRI_LOW, priv->token, &cfg); @@ -2885,8 +2885,18 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev) return ret; } -int dpaa2_dev_is_dpaa2(struct rte_eth_dev *dev) +int +rte_pmd_dpaa2_dev_is_dpaa2(uint32_t eth_id) { + struct rte_eth_dev *dev; + + if (eth_id >= RTE_MAX_ETHPORTS) + return false; + + dev = &rte_eth_devices[eth_id]; + if (!dev->device) + return false; + return dev->device->driver == &rte_dpaa2_pmd.driver; } diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c index 54b17e97c0..77367aa392 100644 --- a/drivers/net/dpaa2/dpaa2_flow.c +++ b/drivers/net/dpaa2/dpaa2_flow.c @@ -3296,14 +3296,13 @@ dpaa2_flow_redirect_dev(struct dpaa2_dev_priv *priv, if (idx >= 0) { if (!rte_eth_dev_is_valid_port(idx)) return NULL; + if (!rte_pmd_dpaa2_dev_is_dpaa2(idx)) + return NULL; dest_dev = &rte_eth_devices[idx]; } else { dest_dev = priv->eth_dev; } - if (!dpaa2_dev_is_dpaa2(dest_dev)) - return NULL; - return dest_dev; } diff --git a/drivers/net/dpaa2/rte_pmd_dpaa2.h b/drivers/net/dpaa2/rte_pmd_dpaa2.h index bebebcacdc..fc52a9218e 100644 --- a/drivers/net/dpaa2/rte_pmd_dpaa2.h +++ b/drivers/net/dpaa2/rte_pmd_dpaa2.h @@ -127,6 +127,10 @@ __rte_experimental uint32_t rte_pmd_dpaa2_get_tlu_hash(uint8_t *key, int size); +__rte_experimental +int +rte_pmd_dpaa2_dev_is_dpaa2(uint32_t eth_id); + #if defined(RTE_LIBRTE_IEEE1588) __rte_experimental int diff --git a/drivers/net/dpaa2/version.map b/drivers/net/dpaa2/version.map index 7323fc8869..233c6e6b2c 100644 --- a/drivers/net/dpaa2/version.map +++ b/drivers/net/dpaa2/version.map @@ -17,6 +17,7 @@ EXPERIMENTAL { # added in 21.11 rte_pmd_dpaa2_get_tlu_hash; # added in 24.11 + rte_pmd_dpaa2_dev_is_dpaa2; rte_pmd_dpaa2_set_one_step_ts; rte_pmd_dpaa2_get_one_step_ts; rte_pmd_dpaa2_mux_dump_counter; -- 2.25.1