1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2017 Intel Corporation 3 * Copyright(c) 2019 Arm Limited 4 */ 5 6 7 #include "rte_event_ring.h" 8 #include "eventdev_trace.h" 9 10 int 11 rte_event_ring_init(struct rte_event_ring *r, const char *name, 12 unsigned int count, unsigned int flags) 13 { 14 /* compilation-time checks */ 15 RTE_BUILD_BUG_ON((sizeof(struct rte_event_ring) & 16 RTE_CACHE_LINE_MASK) != 0); 17 18 rte_eventdev_trace_ring_init(r, name, count, flags); 19 20 /* init the ring structure */ 21 return rte_ring_init(&r->r, name, count, flags); 22 } 23 24 /* create the ring */ 25 struct rte_event_ring * 26 rte_event_ring_create(const char *name, unsigned int count, int socket_id, 27 unsigned int flags) 28 { 29 rte_eventdev_trace_ring_create(name, count, socket_id, flags); 30 31 return (struct rte_event_ring *)rte_ring_create_elem(name, 32 sizeof(struct rte_event), 33 count, socket_id, flags); 34 } 35 36 37 struct rte_event_ring * 38 rte_event_ring_lookup(const char *name) 39 { 40 rte_eventdev_trace_ring_lookup(name); 41 42 return (struct rte_event_ring *)rte_ring_lookup(name); 43 } 44 45 /* free the ring */ 46 void 47 rte_event_ring_free(struct rte_event_ring *r) 48 { 49 rte_eventdev_trace_ring_free(r->r.name); 50 51 rte_ring_free((struct rte_ring *)r); 52 } 53