xref: /dpdk/lib/pdcp/pdcp_cnt.h (revision af42b2d10078f153198dfcd90b6986eb35b3f005)
13a3e8931SAnoob Joseph /* SPDX-License-Identifier: BSD-3-Clause
23a3e8931SAnoob Joseph  * Copyright(C) 2023 Marvell.
33a3e8931SAnoob Joseph  */
43a3e8931SAnoob Joseph 
53a3e8931SAnoob Joseph #ifndef PDCP_CNT_H
63a3e8931SAnoob Joseph #define PDCP_CNT_H
73a3e8931SAnoob Joseph 
83a3e8931SAnoob Joseph #include <rte_common.h>
93a3e8931SAnoob Joseph 
103a3e8931SAnoob Joseph #include "pdcp_entity.h"
113a3e8931SAnoob Joseph 
1237d39531SVolodymyr Fialko uint32_t pdcp_cnt_bitmap_get_memory_footprint(const struct rte_pdcp_entity_conf *conf);
13*af42b2d1SVolodymyr Fialko int pdcp_cnt_bitmap_create(struct entity_priv_dl_part *dl, uint32_t nb_elem,
14*af42b2d1SVolodymyr Fialko 			   void *bitmap_mem, uint32_t mem_size);
1537d39531SVolodymyr Fialko 
1637d39531SVolodymyr Fialko void pdcp_cnt_bitmap_set(struct pdcp_cnt_bitmap bitmap, uint32_t count);
1737d39531SVolodymyr Fialko bool pdcp_cnt_bitmap_is_set(struct pdcp_cnt_bitmap bitmap, uint32_t count);
1837d39531SVolodymyr Fialko void pdcp_cnt_bitmap_range_clear(struct pdcp_cnt_bitmap bitmap, uint32_t start, uint32_t stop);
1937d39531SVolodymyr Fialko 
2037d39531SVolodymyr Fialko uint16_t pdcp_cnt_get_bitmap_size(uint32_t pending_bytes);
2137d39531SVolodymyr Fialko void pdcp_cnt_report_fill(struct pdcp_cnt_bitmap bitmap, struct entity_state state,
2237d39531SVolodymyr Fialko 			  uint8_t *data, uint16_t data_len);
233a3e8931SAnoob Joseph 
243a3e8931SAnoob Joseph #endif /* PDCP_CNT_H */
25