[2/2] event/cnxk: honor event limit set by config

Message ID 20230524085233.10003-2-pbhagavatula@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [1/2] event/cnxk: fix ns to ticks conversion |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS

Commit Message

Pavan Nikhilesh Bhagavatula May 24, 2023, 8:52 a.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Honor the number of events configured during event device
configuration.

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

Patch

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;