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 1637CA0C45; Wed, 6 Oct 2021 08:51:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 666BF41433; Wed, 6 Oct 2021 08:51:17 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id A90E04142C for ; Wed, 6 Oct 2021 08:51:15 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19620sqY030285; Tue, 5 Oct 2021 23:51:14 -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=2MQddQAOgoos05O0HhZ2Yvx0uHeyqDiISdRDMZs7XiA=; b=H+qTvG7iLPaXmVZjOx26tuD7Xip6djb4MMsW8bxGFbsyHRNdba/bTH0/Og1VAwtJTwGK iajY5wMRAcM26VTCMuvnZhE27/Stwkn1Oz2oSydskRzp/AqMtzpHVqW48Y4ItGB6xrXy Al2U9tl37HFV5UTVRHZR5Lqj8QlIlNlWvOSKK073GAtIVCdwXZPOnD/JxPy6ObPEcfD8 Z0d/ZpJawAkXvc4j+6INF3Q9c3uqzoA5i9jFbVj3jQHPxtjCFaGO8KF0cjc/oyr6ZzsG 1QCbfd+nwTyKq+V7PDzrnJnA8/WHB3I06Dd2Qe+SRpbjZ90RiTuT55V8AgHfnupudfia pQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com with ESMTP id 3bgr1qkfbu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 05 Oct 2021 23:51:14 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 5 Oct 2021 23:51:12 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Tue, 5 Oct 2021 23:51:12 -0700 Received: from BG-LT7430.marvell.com (BG-LT7430.marvell.com [10.28.177.176]) by maili.marvell.com (Postfix) with ESMTP id 7CBAD3F7059; Tue, 5 Oct 2021 23:51:10 -0700 (PDT) From: To: , Timothy McDaniel , =?UTF-8?q?Mattias=20R=C3=B6nnblom?= , "Pavan Nikhilesh" , Harman Kalra CC: Date: Wed, 6 Oct 2021 12:20:04 +0530 Message-ID: <20211006065012.16508-7-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211006065012.16508-1-pbhagavatula@marvell.com> References: <20211003082710.8398-1-pbhagavatula@marvell.com> <20211006065012.16508-1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: 6tscGIiGYkwomq9wfZxqSg9XvJLiw6Hs X-Proofpoint-GUID: 6tscGIiGYkwomq9wfZxqSg9XvJLiw6Hs X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-10-05_06,2021-10-04_01,2020-04-07_01 Subject: [dpdk-dev] [PATCH v3 07/14] eventdev: hide event device related structures 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 Sender: "dev" From: Pavan Nikhilesh Move rte_eventdev, rte_eventdev_data structures to eventdev_pmd.h. Signed-off-by: Pavan Nikhilesh --- drivers/event/dlb2/dlb2_inline_fns.h | 2 + drivers/event/dsw/dsw_evdev.h | 2 + drivers/event/octeontx/timvf_worker.h | 2 + drivers/net/octeontx/octeontx_ethdev.c | 3 +- lib/eventdev/eventdev_pmd.h | 92 +++++++++++++++++++++++++ lib/eventdev/rte_eventdev.c | 22 ------ lib/eventdev/rte_eventdev_core.h | 93 -------------------------- 7 files changed, 100 insertions(+), 116 deletions(-) diff --git a/drivers/event/dlb2/dlb2_inline_fns.h b/drivers/event/dlb2/dlb2_inline_fns.h index ac8d01aa98..1429281cfd 100644 --- a/drivers/event/dlb2/dlb2_inline_fns.h +++ b/drivers/event/dlb2/dlb2_inline_fns.h @@ -5,6 +5,8 @@ #ifndef _DLB2_INLINE_FNS_H_ #define _DLB2_INLINE_FNS_H_ +#include + /* Inline functions required in more than one source file. */ static inline struct dlb2_eventdev * diff --git a/drivers/event/dsw/dsw_evdev.h b/drivers/event/dsw/dsw_evdev.h index 08889a0990..631daea55c 100644 --- a/drivers/event/dsw/dsw_evdev.h +++ b/drivers/event/dsw/dsw_evdev.h @@ -5,6 +5,8 @@ #ifndef _DSW_EVDEV_H_ #define _DSW_EVDEV_H_ +#include + #include #include diff --git a/drivers/event/octeontx/timvf_worker.h b/drivers/event/octeontx/timvf_worker.h index dede1a4a4f..3f1e77f1d1 100644 --- a/drivers/event/octeontx/timvf_worker.h +++ b/drivers/event/octeontx/timvf_worker.h @@ -2,6 +2,8 @@ * Copyright(c) 2017 Cavium, Inc */ +#include + #include #include diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c index 9f4c0503b4..c55304839e 100644 --- a/drivers/net/octeontx/octeontx_ethdev.c +++ b/drivers/net/octeontx/octeontx_ethdev.c @@ -9,13 +9,14 @@ #include #include +#include #include #include #include #include #include -#include #include +#include #include #include #include diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h index b188280778..dab7f835de 100644 --- a/lib/eventdev/eventdev_pmd.h +++ b/lib/eventdev/eventdev_pmd.h @@ -80,6 +80,9 @@ #define RTE_EVENTDEV_DETACHED (0) #define RTE_EVENTDEV_ATTACHED (1) +#define RTE_EVENTDEV_NAME_MAX_LEN (64) +/**< @internal Max length of name of event PMD */ + struct rte_eth_dev; /** Global structure used for maintaining state of allocated event devices */ @@ -87,6 +90,95 @@ struct rte_eventdev_global { uint8_t nb_devs; /**< Number of devices found */ }; +/** + * @internal + * The data part, with no function pointers, associated with each device. + * + * This structure is safe to place in shared memory to be common among + * different processes in a multi-process configuration. + */ +struct rte_eventdev_data { + int socket_id; + /**< Socket ID where memory is allocated */ + uint8_t dev_id; + /**< Device ID for this instance */ + uint8_t nb_queues; + /**< Number of event queues. */ + uint8_t nb_ports; + /**< Number of event ports. */ + void *ports[RTE_EVENT_MAX_PORTS_PER_DEV]; + /**< Array of pointers to ports. */ + struct rte_event_port_conf ports_cfg[RTE_EVENT_MAX_PORTS_PER_DEV]; + /**< Array of port configuration structures. */ + struct rte_event_queue_conf queues_cfg[RTE_EVENT_MAX_QUEUES_PER_DEV]; + /**< Array of queue configuration structures. */ + uint16_t links_map[RTE_EVENT_MAX_PORTS_PER_DEV * + RTE_EVENT_MAX_QUEUES_PER_DEV]; + /**< Memory to store queues to port connections. */ + void *dev_private; + /**< PMD-specific private data */ + uint32_t event_dev_cap; + /**< Event device capabilities(RTE_EVENT_DEV_CAP_)*/ + struct rte_event_dev_config dev_conf; + /**< Configuration applied to device. */ + uint8_t service_inited; + /* Service initialization state */ + uint32_t service_id; + /* Service ID*/ + void *dev_stop_flush_arg; + /**< User-provided argument for event flush function */ + + RTE_STD_C11 + uint8_t dev_started : 1; + /**< Device state: STARTED(1)/STOPPED(0) */ + + char name[RTE_EVENTDEV_NAME_MAX_LEN]; + /**< Unique identifier name */ + + uint64_t reserved_64s[4]; /**< Reserved for future fields */ + void *reserved_ptrs[4]; /**< Reserved for future fields */ +} __rte_cache_aligned; + +/** @internal The data structure associated with each event device. */ +struct rte_eventdev { + struct rte_eventdev_data *data; + /**< Pointer to device data */ + struct eventdev_ops *dev_ops; + /**< Functions exported by PMD */ + struct rte_device *dev; + /**< Device info. supplied by probing */ + + RTE_STD_C11 + uint8_t attached : 1; + /**< Flag indicating the device is attached */ + + event_enqueue_t enqueue; + /**< Pointer to PMD enqueue function. */ + event_enqueue_burst_t enqueue_burst; + /**< Pointer to PMD enqueue burst function. */ + event_enqueue_burst_t enqueue_new_burst; + /**< Pointer to PMD enqueue burst function(op new variant) */ + event_enqueue_burst_t enqueue_forward_burst; + /**< Pointer to PMD enqueue burst function(op forward variant) */ + event_dequeue_t dequeue; + /**< Pointer to PMD dequeue function. */ + event_dequeue_burst_t dequeue_burst; + /**< Pointer to PMD dequeue burst function. */ + event_tx_adapter_enqueue_t txa_enqueue_same_dest; + /**< Pointer to PMD eth Tx adapter burst enqueue function with + * events destined to same Eth port & Tx queue. + */ + event_tx_adapter_enqueue_t txa_enqueue; + /**< Pointer to PMD eth Tx adapter enqueue function. */ + event_crypto_adapter_enqueue_t ca_enqueue; + + uint64_t reserved_64s[4]; /**< Reserved for future fields */ + void *reserved_ptrs[3]; /**< Reserved for future fields */ +} __rte_cache_aligned; + +extern struct rte_eventdev *rte_eventdevs; +/** @internal The pool of rte_eventdev structures. */ + /** * Get the rte_eventdev structure device pointer for the named device. * diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c index 4c30a37831..e55241defd 100644 --- a/lib/eventdev/rte_eventdev.c +++ b/lib/eventdev/rte_eventdev.c @@ -1365,24 +1365,6 @@ eventdev_find_free_device_index(void) return RTE_EVENT_MAX_DEVS; } -static uint16_t -rte_event_tx_adapter_enqueue(__rte_unused void *port, - __rte_unused struct rte_event ev[], - __rte_unused uint16_t nb_events) -{ - rte_errno = ENOTSUP; - return 0; -} - -static uint16_t -rte_event_crypto_adapter_enqueue(__rte_unused void *port, - __rte_unused struct rte_event ev[], - __rte_unused uint16_t nb_events) -{ - rte_errno = ENOTSUP; - return 0; -} - struct rte_eventdev * rte_event_pmd_allocate(const char *name, int socket_id) { @@ -1403,10 +1385,6 @@ rte_event_pmd_allocate(const char *name, int socket_id) eventdev = &rte_eventdevs[dev_id]; - eventdev->txa_enqueue = rte_event_tx_adapter_enqueue; - eventdev->txa_enqueue_same_dest = rte_event_tx_adapter_enqueue; - eventdev->ca_enqueue = rte_event_crypto_adapter_enqueue; - if (eventdev->data == NULL) { struct rte_eventdev_data *eventdev_data = NULL; diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h index 4461073101..0da724fa86 100644 --- a/lib/eventdev/rte_eventdev_core.h +++ b/lib/eventdev/rte_eventdev_core.h @@ -67,99 +67,6 @@ struct rte_event_fp_ops { extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS]; -#define RTE_EVENTDEV_NAME_MAX_LEN (64) -/**< @internal Max length of name of event PMD */ - -/** - * @internal - * The data part, with no function pointers, associated with each device. - * - * This structure is safe to place in shared memory to be common among - * different processes in a multi-process configuration. - */ -struct rte_eventdev_data { - int socket_id; - /**< Socket ID where memory is allocated */ - uint8_t dev_id; - /**< Device ID for this instance */ - uint8_t nb_queues; - /**< Number of event queues. */ - uint8_t nb_ports; - /**< Number of event ports. */ - void *ports[RTE_EVENT_MAX_PORTS_PER_DEV]; - /**< Array of pointers to ports. */ - struct rte_event_port_conf ports_cfg[RTE_EVENT_MAX_PORTS_PER_DEV]; - /**< Array of port configuration structures. */ - struct rte_event_queue_conf queues_cfg[RTE_EVENT_MAX_QUEUES_PER_DEV]; - /**< Array of queue configuration structures. */ - uint16_t links_map[RTE_EVENT_MAX_PORTS_PER_DEV * - RTE_EVENT_MAX_QUEUES_PER_DEV]; - /**< Memory to store queues to port connections. */ - void *dev_private; - /**< PMD-specific private data */ - uint32_t event_dev_cap; - /**< Event device capabilities(RTE_EVENT_DEV_CAP_)*/ - struct rte_event_dev_config dev_conf; - /**< Configuration applied to device. */ - uint8_t service_inited; - /* Service initialization state */ - uint32_t service_id; - /* Service ID*/ - void *dev_stop_flush_arg; - /**< User-provided argument for event flush function */ - - RTE_STD_C11 - uint8_t dev_started : 1; - /**< Device state: STARTED(1)/STOPPED(0) */ - - char name[RTE_EVENTDEV_NAME_MAX_LEN]; - /**< Unique identifier name */ - - uint64_t reserved_64s[4]; /**< Reserved for future fields */ - void *reserved_ptrs[4]; /**< Reserved for future fields */ -} __rte_cache_aligned; - -/** @internal The data structure associated with each event device. */ -struct rte_eventdev { - event_enqueue_t enqueue; - /**< Pointer to PMD enqueue function. */ - event_enqueue_burst_t enqueue_burst; - /**< Pointer to PMD enqueue burst function. */ - event_enqueue_burst_t enqueue_new_burst; - /**< Pointer to PMD enqueue burst function(op new variant) */ - event_enqueue_burst_t enqueue_forward_burst; - /**< Pointer to PMD enqueue burst function(op forward variant) */ - event_dequeue_t dequeue; - /**< Pointer to PMD dequeue function. */ - event_dequeue_burst_t dequeue_burst; - /**< Pointer to PMD dequeue burst function. */ - event_tx_adapter_enqueue_t txa_enqueue_same_dest; - /**< Pointer to PMD eth Tx adapter burst enqueue function with - * events destined to same Eth port & Tx queue. - */ - event_tx_adapter_enqueue_t txa_enqueue; - /**< Pointer to PMD eth Tx adapter enqueue function. */ - struct rte_eventdev_data *data; - /**< Pointer to device data */ - struct eventdev_ops *dev_ops; - /**< Functions exported by PMD */ - struct rte_device *dev; - /**< Device info. supplied by probing */ - - RTE_STD_C11 - uint8_t attached : 1; - /**< Flag indicating the device is attached */ - - event_crypto_adapter_enqueue_t ca_enqueue; - /**< Pointer to PMD crypto adapter enqueue function. */ - - uint64_t reserved_64s[4]; /**< Reserved for future fields */ - void *reserved_ptrs[3]; /**< Reserved for future fields */ -} __rte_cache_aligned; - -extern struct rte_eventdev *rte_eventdevs; -/** @internal The pool of rte_eventdev structures. */ - #ifdef __cplusplus } #endif -- 2.17.1