1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
5 #ifndef __CNXK_EVENTDEV_H__
6 #define __CNXK_EVENTDEV_H__
10 #include <eventdev_pmd_pci.h>
14 #define USEC2NSEC(__us) ((__us)*1E3)
16 #define CNXK_SSO_MZ_NAME "cnxk_evdev_mz"
18 struct cnxk_sso_evdev {
20 uint8_t max_event_queues;
21 uint8_t max_event_ports;
22 uint8_t is_timeout_deq;
23 uint8_t nb_event_queues;
24 uint8_t nb_event_ports;
26 uint32_t min_dequeue_timeout_ns;
27 uint32_t max_dequeue_timeout_ns;
28 int32_t max_num_events;
31 } __rte_cache_aligned;
33 static inline struct cnxk_sso_evdev *
34 cnxk_sso_pmd_priv(const struct rte_eventdev *event_dev)
36 return event_dev->data->dev_private;
40 int cnxk_sso_init(struct rte_eventdev *event_dev);
41 int cnxk_sso_fini(struct rte_eventdev *event_dev);
42 int cnxk_sso_remove(struct rte_pci_device *pci_dev);
43 void cnxk_sso_info_get(struct cnxk_sso_evdev *dev,
44 struct rte_event_dev_info *dev_info);
45 int cnxk_sso_dev_validate(const struct rte_eventdev *event_dev);
46 void cnxk_sso_queue_def_conf(struct rte_eventdev *event_dev, uint8_t queue_id,
47 struct rte_event_queue_conf *queue_conf);
48 void cnxk_sso_port_def_conf(struct rte_eventdev *event_dev, uint8_t port_id,
49 struct rte_event_port_conf *port_conf);
51 #endif /* __CNXK_EVENTDEV_H__ */