xref: /dpdk/lib/eventdev/rte_event_ring.c (revision 7f2d9df639b69042883f6428b7db72b837e9c9ac)
199a2dd95SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
299a2dd95SBruce Richardson  * Copyright(c) 2017 Intel Corporation
399a2dd95SBruce Richardson  * Copyright(c) 2019 Arm Limited
499a2dd95SBruce Richardson  */
599a2dd95SBruce Richardson 
699a2dd95SBruce Richardson 
799a2dd95SBruce Richardson #include "rte_event_ring.h"
8*7f2d9df6SAmit Prakash Shukla #include "eventdev_trace.h"
999a2dd95SBruce Richardson 
1099a2dd95SBruce Richardson int
rte_event_ring_init(struct rte_event_ring * r,const char * name,unsigned int count,unsigned int flags)1199a2dd95SBruce Richardson rte_event_ring_init(struct rte_event_ring *r, const char *name,
1299a2dd95SBruce Richardson 	unsigned int count, unsigned int flags)
1399a2dd95SBruce Richardson {
1499a2dd95SBruce Richardson 	/* compilation-time checks */
1599a2dd95SBruce Richardson 	RTE_BUILD_BUG_ON((sizeof(struct rte_event_ring) &
1699a2dd95SBruce Richardson 			  RTE_CACHE_LINE_MASK) != 0);
1799a2dd95SBruce Richardson 
18*7f2d9df6SAmit Prakash Shukla 	rte_eventdev_trace_ring_init(r, name, count, flags);
19*7f2d9df6SAmit Prakash Shukla 
2099a2dd95SBruce Richardson 	/* init the ring structure */
2199a2dd95SBruce Richardson 	return rte_ring_init(&r->r, name, count, flags);
2299a2dd95SBruce Richardson }
2399a2dd95SBruce Richardson 
2499a2dd95SBruce Richardson /* create the ring */
2599a2dd95SBruce Richardson struct rte_event_ring *
rte_event_ring_create(const char * name,unsigned int count,int socket_id,unsigned int flags)2699a2dd95SBruce Richardson rte_event_ring_create(const char *name, unsigned int count, int socket_id,
2799a2dd95SBruce Richardson 		unsigned int flags)
2899a2dd95SBruce Richardson {
29*7f2d9df6SAmit Prakash Shukla 	rte_eventdev_trace_ring_create(name, count, socket_id, flags);
30*7f2d9df6SAmit Prakash Shukla 
3199a2dd95SBruce Richardson 	return (struct rte_event_ring *)rte_ring_create_elem(name,
3299a2dd95SBruce Richardson 						sizeof(struct rte_event),
3399a2dd95SBruce Richardson 						count, socket_id, flags);
3499a2dd95SBruce Richardson }
3599a2dd95SBruce Richardson 
3699a2dd95SBruce Richardson 
3799a2dd95SBruce Richardson struct rte_event_ring *
rte_event_ring_lookup(const char * name)3899a2dd95SBruce Richardson rte_event_ring_lookup(const char *name)
3999a2dd95SBruce Richardson {
40*7f2d9df6SAmit Prakash Shukla 	rte_eventdev_trace_ring_lookup(name);
41*7f2d9df6SAmit Prakash Shukla 
4299a2dd95SBruce Richardson 	return (struct rte_event_ring *)rte_ring_lookup(name);
4399a2dd95SBruce Richardson }
4499a2dd95SBruce Richardson 
4599a2dd95SBruce Richardson /* free the ring */
4699a2dd95SBruce Richardson void
rte_event_ring_free(struct rte_event_ring * r)4799a2dd95SBruce Richardson rte_event_ring_free(struct rte_event_ring *r)
4899a2dd95SBruce Richardson {
49*7f2d9df6SAmit Prakash Shukla 	rte_eventdev_trace_ring_free(r->r.name);
50*7f2d9df6SAmit Prakash Shukla 
5199a2dd95SBruce Richardson 	rte_ring_free((struct rte_ring *)r);
5299a2dd95SBruce Richardson }
53