X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fcnxk%2Froc_npc_priv.h;h=8bc5bac2cad33cd4b08b2b50ef41c7bee1d93829;hb=7fb5075a539e806e5f482fa6e3d699a58adbd70f;hp=4e2418ccdb629f79d0e0f20b0ad4045ec551b9bd;hpb=2199f5cdbe5200dd6ebecbc9bb47aae80ffc9f00;p=dpdk.git diff --git a/drivers/common/cnxk/roc_npc_priv.h b/drivers/common/cnxk/roc_npc_priv.h index 4e2418ccdb..8bc5bac2ca 100644 --- a/drivers/common/cnxk/roc_npc_priv.h +++ b/drivers/common/cnxk/roc_npc_priv.h @@ -378,4 +378,58 @@ roc_npc_to_npc_priv(struct roc_npc *npc) { return (struct npc *)npc->reserved; } + +int npc_mcam_free_counter(struct npc *npc, uint16_t ctr_id); +int npc_mcam_read_counter(struct npc *npc, uint32_t ctr_id, uint64_t *count); +int npc_mcam_clear_counter(struct npc *npc, uint32_t ctr_id); +int npc_mcam_free_entry(struct npc *npc, uint32_t entry); +int npc_mcam_free_all_entries(struct npc *npc); +int npc_mcam_alloc_and_write(struct npc *npc, struct roc_npc_flow *flow, + struct npc_parse_state *pst); +int npc_mcam_alloc_entry(struct npc *npc, struct roc_npc_flow *mcam, + struct roc_npc_flow *ref_mcam, int prio, + int *resp_count); +int npc_mcam_alloc_entries(struct npc *npc, int ref_mcam, int *alloc_entry, + int req_count, int prio, int *resp_count); + +int npc_mcam_ena_dis_entry(struct npc *npc, struct roc_npc_flow *mcam, + bool enable); +int npc_mcam_write_entry(struct npc *npc, struct roc_npc_flow *mcam); +int npc_update_parse_state(struct npc_parse_state *pst, + struct npc_parse_item_info *info, int lid, int lt, + uint8_t flags); +void npc_get_hw_supp_mask(struct npc_parse_state *pst, + struct npc_parse_item_info *info, int lid, int lt); +int npc_parse_item_basic(const struct roc_npc_item_info *item, + struct npc_parse_item_info *info); +int npc_parse_meta_items(struct npc_parse_state *pst); +int npc_parse_higig2_hdr(struct npc_parse_state *pst); +int npc_parse_cpt_hdr(struct npc_parse_state *pst); +int npc_parse_la(struct npc_parse_state *pst); +int npc_parse_lb(struct npc_parse_state *pst); +int npc_parse_lc(struct npc_parse_state *pst); +int npc_parse_ld(struct npc_parse_state *pst); +int npc_parse_le(struct npc_parse_state *pst); +int npc_parse_lf(struct npc_parse_state *pst); +int npc_parse_lg(struct npc_parse_state *pst); +int npc_parse_lh(struct npc_parse_state *pst); +int npc_mcam_fetch_kex_cfg(struct npc *npc); +int npc_check_preallocated_entry_cache(struct mbox *mbox, + struct roc_npc_flow *flow, + struct npc *npc); +int npc_flow_free_all_resources(struct npc *npc); +const struct roc_npc_item_info * +npc_parse_skip_void_and_any_items(const struct roc_npc_item_info *pattern); +int npc_program_mcam(struct npc *npc, struct npc_parse_state *pst, + bool mcam_alloc); +uint64_t npc_get_kex_capability(struct npc *npc); +int npc_rss_free_grp_get(struct npc *npc, uint32_t *grp); +int npc_rss_action_configure(struct roc_npc *roc_npc, + const struct roc_npc_action_rss *rss, + uint8_t *alg_idx, uint32_t *rss_grp, + uint32_t mcam_id); +int npc_rss_action_program(struct roc_npc *roc_npc, + const struct roc_npc_action actions[], + struct roc_npc_flow *flow); +int npc_rss_group_free(struct npc *npc, struct roc_npc_flow *flow); #endif /* _ROC_NPC_PRIV_H_ */