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