net/cnxk: support device infos query
[dpdk.git] / drivers / common / cnxk / roc_npc_priv.h
index dcf26c0..484c3ae 100644 (file)
@@ -47,7 +47,7 @@
 #define NPC_RVUPF_MAX_9XXX 0x10 /* HRM: RVU_PRIV_CONST */
 #define NPC_RVUPF_MAX_10XX 0x20 /* HRM: RVU_PRIV_CONST */
 #define NPC_NIXLF_MAX     0x80 /* HRM: NIX_AF_CONST2 */
-#define NPC_MCAME_PER_PF   2   /* DRV: RSVD_MCAM_ENTRIES_PER_PF */
+#define NPC_MCAME_PER_PF   3   /* DRV: RSVD_MCAM_ENTRIES_PER_PF */
 #define NPC_MCAME_PER_LF   1   /* DRV: RSVD_MCAM_ENTRIES_PER_NIXLF */
 #define NPC_MCAME_RESVD_9XXX                                                   \
        (NPC_NIXLF_MAX * NPC_MCAME_PER_LF +                                    \
@@ -350,6 +350,7 @@ struct npc {
        uint16_t flow_max_priority;             /* Max priority for flow */
        uint16_t switch_header_type; /* Suppprted switch header type */
        uint32_t mark_actions;       /* Number of mark actions */
+       uint32_t vtag_actions;       /* vtag insert/strip actions */
        uint16_t pf_func;            /* pf_func of device */
        npc_dxcfg_t prx_dxcfg;       /* intf, lid, lt, extract */
        npc_fxcfg_t prx_fxcfg;       /* Flag extract */
@@ -423,4 +424,13 @@ 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_ */