diff options
Diffstat (limited to 'drivers/event')
-rw-r--r-- | drivers/event/dpaa2/dpaa2_eventdev.h | 7 | ||||
-rw-r--r-- | drivers/event/dpaa2/dpaa2_eventdev_logs.h | 3 | ||||
-rw-r--r-- | drivers/event/dsw/dsw_evdev.c | 13 | ||||
-rw-r--r-- | drivers/event/meson.build | 6 | ||||
-rw-r--r-- | drivers/event/opdl/opdl_evdev.c | 7 | ||||
-rw-r--r-- | drivers/event/opdl/opdl_evdev_xstats.c | 7 | ||||
-rw-r--r-- | drivers/event/opdl/opdl_ring.h | 8 | ||||
-rw-r--r-- | drivers/event/sw/sw_evdev_selftest.c | 22 |
8 files changed, 38 insertions, 35 deletions
diff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h index c847b3ea..bdac1aa5 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.h +++ b/drivers/event/dpaa2/dpaa2_eventdev.h @@ -1,8 +1,5 @@ -/* - * SPDX-License-Identifier: BSD-3-Clause - * - * Copyright 2017 NXP - * +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2017 NXP */ #ifndef __DPAA2_EVENTDEV_H__ diff --git a/drivers/event/dpaa2/dpaa2_eventdev_logs.h b/drivers/event/dpaa2/dpaa2_eventdev_logs.h index a2c2060c..86f2e539 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev_logs.h +++ b/drivers/event/dpaa2/dpaa2_eventdev_logs.h @@ -1,5 +1,4 @@ -/*- - * SPDX-License-Identifier: BSD-3-Clause +/* SPDX-License-Identifier: BSD-3-Clause * Copyright 2018 NXP */ diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c index 33ba1364..9387d414 100644 --- a/drivers/event/dsw/dsw_evdev.c +++ b/drivers/event/dsw/dsw_evdev.c @@ -102,9 +102,6 @@ dsw_queue_setup(struct rte_eventdev *dev, uint8_t queue_id, if (RTE_EVENT_QUEUE_CFG_ALL_TYPES & conf->event_queue_cfg) return -ENOTSUP; - if (conf->schedule_type == RTE_SCHED_TYPE_ORDERED) - return -ENOTSUP; - /* SINGLE_LINK is better off treated as TYPE_ATOMIC, since it * avoid the "fake" TYPE_PARALLEL flow_id assignment. Since * the queue will only have a single serving port, no @@ -113,8 +110,12 @@ dsw_queue_setup(struct rte_eventdev *dev, uint8_t queue_id, */ if (RTE_EVENT_QUEUE_CFG_SINGLE_LINK & conf->event_queue_cfg) queue->schedule_type = RTE_SCHED_TYPE_ATOMIC; - else /* atomic or parallel */ + else { + if (conf->schedule_type == RTE_SCHED_TYPE_ORDERED) + return -ENOTSUP; + /* atomic or parallel */ queue->schedule_type = conf->schedule_type; + } queue->num_serving_ports = 0; @@ -217,7 +218,9 @@ dsw_info_get(struct rte_eventdev *dev __rte_unused, .max_event_port_enqueue_depth = DSW_MAX_PORT_ENQUEUE_DEPTH, .max_num_events = DSW_MAX_EVENTS, .event_dev_cap = RTE_EVENT_DEV_CAP_BURST_MODE| - RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED + RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED| + RTE_EVENT_DEV_CAP_NONSEQ_MODE| + RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT }; } diff --git a/drivers/event/meson.build b/drivers/event/meson.build index 836ecbb7..fb723f72 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,11 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw', 'dsw'] +drivers = ['dpaa', 'dpaa2', 'opdl', 'skeleton', 'sw', 'dsw'] +if not (toolchain == 'gcc' and cc.version().version_compare('<4.8.6') and + dpdk_conf.has('RTE_ARCH_ARM64')) + drivers += 'octeontx' +endif std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c index a4f0bc8b..d2d2be44 100644 --- a/drivers/event/opdl/opdl_evdev.c +++ b/drivers/event/opdl/opdl_evdev.c @@ -422,16 +422,17 @@ opdl_dump(struct rte_eventdev *dev, FILE *f) else p_type = "????"; - sprintf(queue_id, "%02u", port->external_qid); + snprintf(queue_id, sizeof(queue_id), "%02u", + port->external_qid); if (port->p_type == OPDL_REGULAR_PORT || port->p_type == OPDL_ASYNC_PORT) - sprintf(total_cyc, + snprintf(total_cyc, sizeof(total_cyc), " %'16"PRIu64"", (cpg != 0 ? port->port_stat[total_cycles] / cpg : 0)); else - sprintf(total_cyc, + snprintf(total_cyc, sizeof(total_cyc), " ----"); fprintf(f, "%4s %10u %8u %9s %'16"PRIu64" %'16"PRIu64" %s " diff --git a/drivers/event/opdl/opdl_evdev_xstats.c b/drivers/event/opdl/opdl_evdev_xstats.c index 0e6c6bd5..27b3d880 100644 --- a/drivers/event/opdl/opdl_evdev_xstats.c +++ b/drivers/event/opdl/opdl_evdev_xstats.c @@ -32,10 +32,9 @@ opdl_xstats_init(struct rte_eventdev *dev) uint32_t index = (i * max_num_port_xstat) + j; /* Name */ - sprintf(device->port_xstat[index].stat.name, - "port_%02u_%s", - i, - port_xstat_str[j]); + snprintf(device->port_xstat[index].stat.name, + sizeof(device->port_xstat[index].stat.name), + "port_%02u_%s", i, port_xstat_str[j]); /* ID */ device->port_xstat[index].id = index; diff --git a/drivers/event/opdl/opdl_ring.h b/drivers/event/opdl/opdl_ring.h index 751a59db..14ababe0 100644 --- a/drivers/event/opdl/opdl_ring.h +++ b/drivers/event/opdl/opdl_ring.h @@ -24,7 +24,7 @@ * packets. * * A opdl_ring can be used as the basis for pipeline based applications. Instead - * of each stage in a pipeline dequeueing from a ring, processing and enqueueing + * of each stage in a pipeline dequeuing from a ring, processing and enqueuing * to another ring, it can process entries in-place on the ring. If stages do * not depend on each other, they can run in parallel. * @@ -152,7 +152,7 @@ opdl_ring_get_name(const struct opdl_ring *t); * Enabling this may have a negative impact on performance if only one thread * will be processing this stage. * @param is_input - * Indication to nitialise the stage with all slots available or none + * Indication to initialise the stage with all slots available or none * * @return * A pointer to the new stage, or NULL on error. @@ -589,7 +589,7 @@ opdl_ring_set_stage_threadsafe(struct opdl_stage *s, bool threadsafe); * Compare the event descriptor with original version in the ring. * if key field event descriptor is changed by application, then * update the slot in the ring otherwise do nothing with it. - * the key field is flow_id, prioirty, mbuf, impl_opaque + * the key field is flow_id, priority, mbuf, impl_opaque * * @param s * The opdl_stage. @@ -600,7 +600,7 @@ opdl_ring_set_stage_threadsafe(struct opdl_stage *s, bool threadsafe); * @param atomic * queue type associate with the stage. * @return - * if the evevnt key field is changed compare with previous record. + * if the event key field is changed compare with previous record. */ bool diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c index d00d5de6..38c21fa0 100644 --- a/drivers/event/sw/sw_evdev_selftest.c +++ b/drivers/event/sw/sw_evdev_selftest.c @@ -385,7 +385,7 @@ run_prio_packet_test(struct test *t) .mbuf = arp }; err = rte_event_enqueue_burst(evdev, t->port[0], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: error failed to enqueue\n", __LINE__); return -1; } @@ -477,7 +477,7 @@ test_single_directed_packet(struct test *t) /* generate pkt and enqueue */ err = rte_event_enqueue_burst(evdev, rx_enq, &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: error failed to enqueue\n", __LINE__); return -1; } @@ -546,7 +546,7 @@ test_directed_forward_credits(struct test *t) for (i = 0; i < 1000; i++) { err = rte_event_enqueue_burst(evdev, 0, &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: error failed to enqueue\n", __LINE__); return -1; } @@ -707,7 +707,7 @@ burst_packets(struct test *t) }; /* generate pkt and enqueue */ err = rte_event_enqueue_burst(evdev, t->port[rx_port], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -795,7 +795,7 @@ abuse_inflights(struct test *t) /* Enqueue op only */ err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &release_ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2026,7 +2026,7 @@ load_balancing(struct test *t) }; /* generate pkt and enqueue */ err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2125,7 +2125,7 @@ load_balancing_history(struct test *t) } arp->hash.rss = flows1[i]; err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2175,7 +2175,7 @@ load_balancing_history(struct test *t) arp->hash.rss = flows2[i]; err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2285,7 +2285,7 @@ invalid_qid(struct test *t) }; /* generate pkt and enqueue */ err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2372,7 +2372,7 @@ single_packet(struct test *t) arp->seqn = MAGIC_SEQN; err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } @@ -2416,7 +2416,7 @@ single_packet(struct test *t) rte_pktmbuf_free(ev.mbuf); err = rte_event_enqueue_burst(evdev, t->port[wrk_enq], &release_ev, 1); - if (err < 0) { + if (err != 1) { printf("%d: Failed to enqueue\n", __LINE__); return -1; } |