Add function to retrieve event timer adapter capabilities.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
.port_unlink = cn10k_sso_port_unlink,
.timeout_ticks = cnxk_sso_timeout_ticks,
+ .timer_adapter_caps_get = cnxk_tim_caps_get,
+
.dump = cnxk_sso_dump,
.dev_start = cn10k_sso_start,
.dev_stop = cn10k_sso_stop,
.port_unlink = cn9k_sso_port_unlink,
.timeout_ticks = cnxk_sso_timeout_ticks,
+ .timer_adapter_caps_get = cnxk_tim_caps_get,
+
.dump = cnxk_sso_dump,
.dev_start = cn9k_sso_start,
.dev_stop = cn9k_sso_stop,
#include "cnxk_eventdev.h"
#include "cnxk_tim_evdev.h"
+int
+cnxk_tim_caps_get(const struct rte_eventdev *evdev, uint64_t flags,
+ uint32_t *caps,
+ const struct rte_event_timer_adapter_ops **ops)
+{
+ struct cnxk_tim_evdev *dev = cnxk_tim_priv_get();
+
+ RTE_SET_USED(flags);
+ RTE_SET_USED(ops);
+
+ if (dev == NULL)
+ return -ENODEV;
+
+ /* Store evdev pointer for later use. */
+ dev->event_dev = (struct rte_eventdev *)(uintptr_t)evdev;
+ *caps = RTE_EVENT_TIMER_ADAPTER_CAP_INTERNAL_PORT;
+
+ return 0;
+}
+
void
cnxk_tim_init(struct roc_sso *sso)
{
void
cnxk_tim_fini(void)
{
- struct cnxk_tim_evdev *dev = tim_priv_get();
+ struct cnxk_tim_evdev *dev = cnxk_tim_priv_get();
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
return;
};
static inline struct cnxk_tim_evdev *
-tim_priv_get(void)
+cnxk_tim_priv_get(void)
{
const struct rte_memzone *mz;
return mz->addr;
}
+int cnxk_tim_caps_get(const struct rte_eventdev *dev, uint64_t flags,
+ uint32_t *caps,
+ const struct rte_event_timer_adapter_ops **ops);
+
void cnxk_tim_init(struct roc_sso *sso);
void cnxk_tim_fini(void);