From patchwork Tue Sep 19 13:42:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Prakash Shukla X-Patchwork-Id: 131627 X-Patchwork-Delegate: jerinj@marvell.com 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 A5F9642604; Tue, 19 Sep 2023 15:42:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F27C40A6B; Tue, 19 Sep 2023 15:42:50 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 10E6440A72 for ; Tue, 19 Sep 2023 15:42:48 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38J6Gi6A022819; Tue, 19 Sep 2023 06:42:48 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=g0cj8KF3cqqEGp2wnj45slXuwgXnmjuGr/CjjMRnOVE=; b=KhOrabDuiyE6RdWZySTAATtBbn5WInRKgsKdT6/HKSxuThI+ZPYQASn3ulUOuAcippQI ZOEcycUR69OCpMP0EBOvFsd36D751xSNkFkbbpxHvTcrzlXF/CHcThpMgNGZs6F1apja xWYO7jP6Cn6A2b1Iub70fFvCSnjK3Lf9LTdFTexpe5ubmqRmxH7K3er5c+yy8TzyQ1ot 9UySaTMCowEXCjhsrZh86CNlXjNk08CV3PwRP5PXYp2eZEHX+Son0Sml7sMLXhbPti8a 62QHg68EhFal/xsXMPFY26gxY3VmKqttmRApv7QBZyOxAPnxlMAxrqyVH8gh9e+Fhsgm jw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3t5bvkrk9r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 19 Sep 2023 06:42:48 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Tue, 19 Sep 2023 06:42:45 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Tue, 19 Sep 2023 06:42:45 -0700 Received: from localhost.localdomain (unknown [10.28.36.157]) by maili.marvell.com (Postfix) with ESMTP id 196033F7099; Tue, 19 Sep 2023 06:42:40 -0700 (PDT) From: Amit Prakash Shukla To: Jerin Jacob CC: , , , , , , , , , , , , , Amit Prakash Shukla Subject: [PATCH v1 2/7] eventdev: api to get DMA capabilities Date: Tue, 19 Sep 2023 19:12:17 +0530 Message-ID: <20230919134222.2500033-2-amitprakashs@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230919134222.2500033-1-amitprakashs@marvell.com> References: <20230919134222.2500033-1-amitprakashs@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: 96POnpQTXlgorr5d8-J_KNI4x01bn1UH X-Proofpoint-ORIG-GUID: 96POnpQTXlgorr5d8-J_KNI4x01bn1UH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-19_06,2023-09-19_01,2023-05-22_02 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 Added a new eventdev API rte_event_dma_adapter_caps_get(), to get DMA adapter capabilities supported by the driver. Signed-off-by: Amit Prakash Shukla --- lib/eventdev/meson.build | 2 +- lib/eventdev/rte_eventdev.c | 25 +++++++++++++++++++++++++ lib/eventdev/rte_eventdev.h | 2 +- lib/meson.build | 2 +- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/eventdev/meson.build b/lib/eventdev/meson.build index 6edf98dfa5..fbab3a42ad 100644 --- a/lib/eventdev/meson.build +++ b/lib/eventdev/meson.build @@ -42,5 +42,5 @@ driver_sdk_headers += files( 'event_timer_adapter_pmd.h', ) -deps += ['ring', 'ethdev', 'hash', 'mempool', 'mbuf', 'timer', 'cryptodev'] +deps += ['ring', 'ethdev', 'hash', 'mempool', 'mbuf', 'timer', 'cryptodev', 'dmadev'] deps += ['telemetry'] diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c index 6ab4524332..9415788b6a 100644 --- a/lib/eventdev/rte_eventdev.c +++ b/lib/eventdev/rte_eventdev.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "rte_eventdev.h" @@ -224,6 +225,30 @@ rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id, : 0; } +int +rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dma_dev_id, uint32_t *caps) +{ + struct rte_eventdev *dev; + struct rte_dma_dev *dma_dev; + + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL); + if (!rte_dma_is_valid(dma_dev_id)) + return -EINVAL; + + dev = &rte_eventdevs[dev_id]; + dma_dev = rte_dma_pmd_dev_get(dma_dev_id); + + if (caps == NULL || dma_dev == NULL) + return -EINVAL; + + *caps = 0; + + if (dev->dev_ops->dma_adapter_caps_get) + return (*dev->dev_ops->dma_adapter_caps_get)(dev, dma_dev, caps); + + return 0; +} + static inline int event_dev_queue_config(struct rte_eventdev *dev, uint8_t nb_queues) { diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h index d231f527ae..5611880872 100644 --- a/lib/eventdev/rte_eventdev.h +++ b/lib/eventdev/rte_eventdev.h @@ -1505,7 +1505,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id, * */ int -rte_event_dma_adapter_caps_get(uint8_t dev_id, int16_t dmadev_id, uint32_t *caps); +rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dmadev_id, uint32_t *caps); /* Ethdev Tx adapter capability bitmap flags */ #define RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT 0x1 diff --git a/lib/meson.build b/lib/meson.build index 53155be8e9..f3191f10b6 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -33,6 +33,7 @@ libraries = [ 'compressdev', 'cryptodev', 'distributor', + 'dmadev', 'efd', 'eventdev', 'gpudev', @@ -48,7 +49,6 @@ libraries = [ 'rawdev', 'regexdev', 'mldev', - 'dmadev', 'rib', 'reorder', 'sched',