From: Pavan Nikhilesh <pbhagavat...@marvell.com>

Honor the number of events configured during event device
configuration.

Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
---
 drivers/event/cnxk/cnxk_eventdev.c | 7 ++++++-
 drivers/event/cnxk/cnxk_eventdev.h | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/event/cnxk/cnxk_eventdev.c 
b/drivers/event/cnxk/cnxk_eventdev.c
index 3a05a59c75..f356913384 100644
--- a/drivers/event/cnxk/cnxk_eventdev.c
+++ b/drivers/event/cnxk/cnxk_eventdev.c
@@ -39,7 +39,11 @@ cnxk_sso_xaq_allocate(struct cnxk_sso_evdev *dev)
        uint32_t xae_cnt;
        int rc;
 
-       xae_cnt = dev->sso.iue;
+       if (dev->num_events > 0)
+               xae_cnt = dev->num_events;
+       else
+               xae_cnt = dev->sso.iue;
+
        if (dev->xae_cnt)
                xae_cnt += dev->xae_cnt;
        if (dev->adptr_xae_cnt)
@@ -189,6 +193,7 @@ cnxk_sso_dev_validate(const struct rte_eventdev *event_dev, 
uint32_t deq_depth,
 
        dev->nb_event_queues = conf->nb_event_queues;
        dev->nb_event_ports = conf->nb_event_ports;
+       dev->num_events = conf->nb_events_limit;
 
        return 0;
 }
diff --git a/drivers/event/cnxk/cnxk_eventdev.h 
b/drivers/event/cnxk/cnxk_eventdev.h
index e612a77425..be3923b213 100644
--- a/drivers/event/cnxk/cnxk_eventdev.h
+++ b/drivers/event/cnxk/cnxk_eventdev.h
@@ -89,6 +89,7 @@ struct cnxk_sso_evdev {
        uint32_t min_dequeue_timeout_ns;
        uint32_t max_dequeue_timeout_ns;
        int32_t max_num_events;
+       int32_t num_events;
        uint64_t xaq_lmt;
        int64_t *fc_cache_space;
        rte_iova_t fc_iova;
-- 
2.25.1

Reply via email to