]> git.droids-corp.org - dpdk.git/commitdiff
event/cnxk: add event queue config
authorShijith Thotton <sthotton@marvell.com>
Tue, 4 May 2021 00:26:58 +0000 (05:56 +0530)
committerJerin Jacob <jerinj@marvell.com>
Tue, 4 May 2021 03:35:21 +0000 (05:35 +0200)
Add setup and release functions for event queues i.e.
SSO HWGRPs.

Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
drivers/event/cnxk/cn10k_eventdev.c
drivers/event/cnxk/cn9k_eventdev.c
drivers/event/cnxk/cnxk_eventdev.c
drivers/event/cnxk/cnxk_eventdev.h

index 779a2e0260629919f8db291f799e3238a1f34dde..557f26b8fbbd5666f4e8cb23f6910c90a9dbe364 100644 (file)
@@ -62,6 +62,8 @@ static struct rte_eventdev_ops cn10k_sso_dev_ops = {
        .dev_infos_get = cn10k_sso_info_get,
        .dev_configure = cn10k_sso_dev_configure,
        .queue_def_conf = cnxk_sso_queue_def_conf,
+       .queue_setup = cnxk_sso_queue_setup,
+       .queue_release = cnxk_sso_queue_release,
        .port_def_conf = cnxk_sso_port_def_conf,
 };
 
index d042f58da4b8722302eb85ed812d0145e9207875..eba1bfbf0ac57aabafd726c5654ec93912bd1b64 100644 (file)
@@ -70,6 +70,8 @@ static struct rte_eventdev_ops cn9k_sso_dev_ops = {
        .dev_infos_get = cn9k_sso_info_get,
        .dev_configure = cn9k_sso_dev_configure,
        .queue_def_conf = cnxk_sso_queue_def_conf,
+       .queue_setup = cnxk_sso_queue_setup,
+       .queue_release = cnxk_sso_queue_release,
        .port_def_conf = cnxk_sso_port_def_conf,
 };
 
index 3eab1ed293e71bc387586f4570c6b12e1d9a1731..e22479a19de535dbb4e689a02bed5487780c7e49 100644 (file)
@@ -86,6 +86,25 @@ cnxk_sso_queue_def_conf(struct rte_eventdev *event_dev, uint8_t queue_id,
        queue_conf->priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
 }
 
+int
+cnxk_sso_queue_setup(struct rte_eventdev *event_dev, uint8_t queue_id,
+                    const struct rte_event_queue_conf *queue_conf)
+{
+       struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
+
+       plt_sso_dbg("Queue=%d prio=%d", queue_id, queue_conf->priority);
+       /* Normalize <0-255> to <0-7> */
+       return roc_sso_hwgrp_set_priority(&dev->sso, queue_id, 0xFF, 0xFF,
+                                         queue_conf->priority / 32);
+}
+
+void
+cnxk_sso_queue_release(struct rte_eventdev *event_dev, uint8_t queue_id)
+{
+       RTE_SET_USED(event_dev);
+       RTE_SET_USED(queue_id);
+}
+
 void
 cnxk_sso_port_def_conf(struct rte_eventdev *event_dev, uint8_t port_id,
                       struct rte_event_port_conf *port_conf)
index 59d96a08f16cc36098224780eecdbce1127b7843..426219c85d257fbd22d0d52c2609eb0844daeac9 100644 (file)
@@ -45,6 +45,9 @@ void cnxk_sso_info_get(struct cnxk_sso_evdev *dev,
 int cnxk_sso_dev_validate(const struct rte_eventdev *event_dev);
 void cnxk_sso_queue_def_conf(struct rte_eventdev *event_dev, uint8_t queue_id,
                             struct rte_event_queue_conf *queue_conf);
+int cnxk_sso_queue_setup(struct rte_eventdev *event_dev, uint8_t queue_id,
+                        const struct rte_event_queue_conf *queue_conf);
+void cnxk_sso_queue_release(struct rte_eventdev *event_dev, uint8_t queue_id);
 void cnxk_sso_port_def_conf(struct rte_eventdev *event_dev, uint8_t port_id,
                            struct rte_event_port_conf *port_conf);