1 /* SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2018 Marvell International Ltd.
9 #define RSVD_MCAM_ENTRIES_PER_PF 2 /** Ucast and Bcast */
10 #define RSVD_MCAM_ENTRIES_PER_NIXLF 1 /** Ucast for VFs */
12 struct npc_kpu_profile_cam {
23 struct npc_kpu_profile_action {
43 struct npc_kpu_profile {
46 struct npc_kpu_profile_cam *cam;
47 struct npc_kpu_profile_action *action;
51 struct rsrc_bmap rsrc;
56 struct rsrc_bmap rsrc;
58 u16 total_entries; /* Total number of MCAM entries */
59 u16 entries; /* Total - reserved for NIX LFs */
60 u8 banks_per_entry; /* Number of keywords in key */
62 u8 banks; /* Number of MCAM banks */
63 u16 banksize; /* Number of MCAM entries in each bank */
64 u16 counters; /* Number of match counters */
74 struct nix_af_handle *nix_af;
75 struct npc_pkind pkind;
76 void __iomem *npc_af_base;
77 u8 npc_kpus; /** Number of parser units */
79 struct rvu_block block;
80 struct rvu_hwinfo *hw;
84 struct npc_af *npc_af;
85 void __iomem *npc_base;
86 struct nix_handle *nix;
89 #endif /* __NPC_H__ */