examples/l3fwd: share queue size variables
[dpdk.git] / drivers / event / cnxk / cnxk_eventdev.c
index 2b92356..be021d8 100644 (file)
@@ -119,7 +119,8 @@ cnxk_sso_info_get(struct cnxk_sso_evdev *dev,
                                  RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
                                  RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
                                  RTE_EVENT_DEV_CAP_NONSEQ_MODE |
-                                 RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+                                 RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+                                 RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
 }
 
 int
@@ -330,8 +331,7 @@ cnxk_sso_port_setup(struct rte_eventdev *event_dev, uint8_t port_id,
                    cnxk_sso_hws_setup_t hws_setup_fn)
 {
        struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
-       uintptr_t grps_base[CNXK_SSO_MAX_HWGRP] = {0};
-       uint16_t q;
+       uintptr_t grp_base = 0;
 
        plt_sso_dbg("Port=%d", port_id);
        if (event_dev->data->ports[port_id] == NULL) {
@@ -339,15 +339,13 @@ cnxk_sso_port_setup(struct rte_eventdev *event_dev, uint8_t port_id,
                return -EINVAL;
        }
 
-       for (q = 0; q < dev->nb_event_queues; q++) {
-               grps_base[q] = roc_sso_hwgrp_base_get(&dev->sso, q);
-               if (grps_base[q] == 0) {
-                       plt_err("Failed to get grp[%d] base addr", q);
-                       return -EINVAL;
-               }
+       grp_base = roc_sso_hwgrp_base_get(&dev->sso, 0);
+       if (grp_base == 0) {
+               plt_err("Failed to get grp base addr");
+               return -EINVAL;
        }
 
-       hws_setup_fn(dev, event_dev->data->ports[port_id], grps_base);
+       hws_setup_fn(dev, event_dev->data->ports[port_id], grp_base);
        plt_sso_dbg("Port=%d ws=%p", port_id, event_dev->data->ports[port_id]);
        rte_mb();
 
@@ -484,7 +482,7 @@ static void
 parse_queue_param(char *value, void *opaque)
 {
        struct cnxk_sso_qos queue_qos = {0};
-       uint8_t *val = (uint8_t *)&queue_qos;
+       uint16_t *val = (uint16_t *)&queue_qos;
        struct cnxk_sso_evdev *dev = opaque;
        char *tok = strtok(value, "-");
        struct cnxk_sso_qos *old_ptr;
@@ -612,7 +610,7 @@ cnxk_sso_init(struct rte_eventdev *event_dev)
        }
 
        dev->is_timeout_deq = 0;
-       dev->min_dequeue_timeout_ns = USEC2NSEC(1);
+       dev->min_dequeue_timeout_ns = 0;
        dev->max_dequeue_timeout_ns = USEC2NSEC(0x3FF);
        dev->max_num_events = -1;
        dev->nb_event_queues = 0;