xref: /dpdk/lib/pdcp/pdcp_cnt.h (revision af42b2d10078f153198dfcd90b6986eb35b3f005)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2023 Marvell.
3  */
4 
5 #ifndef PDCP_CNT_H
6 #define PDCP_CNT_H
7 
8 #include <rte_common.h>
9 
10 #include "pdcp_entity.h"
11 
12 uint32_t pdcp_cnt_bitmap_get_memory_footprint(const struct rte_pdcp_entity_conf *conf);
13 int pdcp_cnt_bitmap_create(struct entity_priv_dl_part *dl, uint32_t nb_elem,
14 			   void *bitmap_mem, uint32_t mem_size);
15 
16 void pdcp_cnt_bitmap_set(struct pdcp_cnt_bitmap bitmap, uint32_t count);
17 bool pdcp_cnt_bitmap_is_set(struct pdcp_cnt_bitmap bitmap, uint32_t count);
18 void pdcp_cnt_bitmap_range_clear(struct pdcp_cnt_bitmap bitmap, uint32_t start, uint32_t stop);
19 
20 uint16_t pdcp_cnt_get_bitmap_size(uint32_t pending_bytes);
21 void pdcp_cnt_report_fill(struct pdcp_cnt_bitmap bitmap, struct entity_state state,
22 			  uint8_t *data, uint16_t data_len);
23 
24 #endif /* PDCP_CNT_H */
25