Lines Matching refs:rvu

31 static void npc_mcam_free_all_entries(struct rvu *rvu, struct npc_mcam *mcam,
33 static void npc_mcam_free_all_counters(struct rvu *rvu, struct npc_mcam *mcam,
36 void rvu_npc_set_pkind(struct rvu *rvu, int pkind, struct rvu_pfvf *pfvf) in rvu_npc_set_pkind() argument
41 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_set_pkind()
47 rvu_write64(rvu, blkaddr, NPC_AF_PKINDX_CPI_DEFX(pkind, 0), val); in rvu_npc_set_pkind()
50 int rvu_npc_get_pkind(struct rvu *rvu, u16 pf) in rvu_npc_get_pkind() argument
52 struct npc_pkind *pkind = &rvu->hw->pkind; in rvu_npc_get_pkind()
98 static bool is_mcam_entry_enabled(struct rvu *rvu, struct npc_mcam *mcam, in is_mcam_entry_enabled() argument
105 cfg = rvu_read64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_CFG(index, bank)); in is_mcam_entry_enabled()
109 static void npc_enable_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam, in npc_enable_mcam_entry() argument
117 rvu_write64(rvu, blkaddr, in npc_enable_mcam_entry()
202 static void npc_config_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam, in npc_config_mcam_entry() argument
222 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
225 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
231 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
233 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
237 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
239 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
244 rvu_write64(rvu, blkaddr, in npc_config_mcam_entry()
248 rvu_write64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_TAG_ACT(index, actbank), in npc_config_mcam_entry()
253 npc_enable_mcam_entry(rvu, mcam, blkaddr, actindex, true); in npc_config_mcam_entry()
255 npc_enable_mcam_entry(rvu, mcam, blkaddr, actindex, false); in npc_config_mcam_entry()
258 static void npc_copy_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam, in npc_copy_mcam_entry() argument
274 cfg = rvu_read64(rvu, blkaddr, sreg + (i * 8)); in npc_copy_mcam_entry()
275 rvu_write64(rvu, blkaddr, dreg + (i * 8), cfg); in npc_copy_mcam_entry()
280 cfg = rvu_read64(rvu, blkaddr, in npc_copy_mcam_entry()
282 rvu_write64(rvu, blkaddr, in npc_copy_mcam_entry()
286 cfg = rvu_read64(rvu, blkaddr, in npc_copy_mcam_entry()
288 rvu_write64(rvu, blkaddr, in npc_copy_mcam_entry()
292 cfg = rvu_read64(rvu, blkaddr, in npc_copy_mcam_entry()
294 rvu_write64(rvu, blkaddr, in npc_copy_mcam_entry()
298 static u64 npc_get_mcam_action(struct rvu *rvu, struct npc_mcam *mcam, in npc_get_mcam_action() argument
304 return rvu_read64(rvu, blkaddr, in npc_get_mcam_action()
308 void rvu_npc_install_ucast_entry(struct rvu *rvu, u16 pcifunc, in rvu_npc_install_ucast_entry() argument
311 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_npc_install_ucast_entry()
312 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_install_ucast_entry()
322 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_install_ucast_entry()
343 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, index)) { in rvu_npc_install_ucast_entry()
344 *(u64 *)&action = npc_get_mcam_action(rvu, mcam, in rvu_npc_install_ucast_entry()
353 npc_config_mcam_entry(rvu, mcam, blkaddr, index, in rvu_npc_install_ucast_entry()
368 void rvu_npc_install_promisc_entry(struct rvu *rvu, u16 pcifunc, in rvu_npc_install_promisc_entry() argument
371 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_install_promisc_entry()
380 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_install_promisc_entry()
402 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, ucast_idx)) in rvu_npc_install_promisc_entry()
403 *(u64 *)&action = npc_get_mcam_action(rvu, mcam, in rvu_npc_install_promisc_entry()
413 npc_config_mcam_entry(rvu, mcam, blkaddr, index, in rvu_npc_install_promisc_entry()
417 static void npc_enadis_promisc_entry(struct rvu *rvu, u16 pcifunc, in npc_enadis_promisc_entry() argument
420 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_enadis_promisc_entry()
423 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in npc_enadis_promisc_entry()
433 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable); in npc_enadis_promisc_entry()
436 void rvu_npc_disable_promisc_entry(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_disable_promisc_entry() argument
438 npc_enadis_promisc_entry(rvu, pcifunc, nixlf, false); in rvu_npc_disable_promisc_entry()
441 void rvu_npc_enable_promisc_entry(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_enable_promisc_entry() argument
443 npc_enadis_promisc_entry(rvu, pcifunc, nixlf, true); in rvu_npc_enable_promisc_entry()
446 void rvu_npc_install_bcast_match_entry(struct rvu *rvu, u16 pcifunc, in rvu_npc_install_bcast_match_entry() argument
449 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_install_bcast_match_entry()
457 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_install_bcast_match_entry()
465 pfvf = rvu_get_pfvf(rvu, pcifunc & ~RVU_PFVF_FUNC_MASK); in rvu_npc_install_bcast_match_entry()
509 npc_config_mcam_entry(rvu, mcam, blkaddr, index, in rvu_npc_install_bcast_match_entry()
513 void rvu_npc_update_flowkey_alg_idx(struct rvu *rvu, u16 pcifunc, int nixlf, in rvu_npc_update_flowkey_alg_idx() argument
516 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_update_flowkey_alg_idx()
520 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_update_flowkey_alg_idx()
541 *(u64 *)&action = rvu_read64(rvu, blkaddr, in rvu_npc_update_flowkey_alg_idx()
552 rvu_write64(rvu, blkaddr, in rvu_npc_update_flowkey_alg_idx()
561 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, index)) { in rvu_npc_update_flowkey_alg_idx()
565 rvu_write64(rvu, blkaddr, in rvu_npc_update_flowkey_alg_idx()
570 rvu_npc_update_rxvlan(rvu, pcifunc, nixlf); in rvu_npc_update_flowkey_alg_idx()
573 static void npc_enadis_default_entries(struct rvu *rvu, u16 pcifunc, in npc_enadis_default_entries() argument
576 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_enadis_default_entries()
580 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in npc_enadis_default_entries()
587 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable); in npc_enadis_default_entries()
601 *(u64 *)&action = rvu_read64(rvu, blkaddr, in npc_enadis_default_entries()
604 npc_enable_mcam_entry(rvu, mcam, in npc_enadis_default_entries()
607 rvu_npc_enable_promisc_entry(rvu, pcifunc, nixlf); in npc_enadis_default_entries()
609 rvu_npc_disable_promisc_entry(rvu, pcifunc, nixlf); in npc_enadis_default_entries()
611 rvu_npc_update_rxvlan(rvu, pcifunc, nixlf); in npc_enadis_default_entries()
614 void rvu_npc_disable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_disable_default_entries() argument
616 npc_enadis_default_entries(rvu, pcifunc, nixlf, false); in rvu_npc_disable_default_entries()
619 void rvu_npc_enable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_enable_default_entries() argument
621 npc_enadis_default_entries(rvu, pcifunc, nixlf, true); in rvu_npc_enable_default_entries()
624 void rvu_npc_disable_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_disable_mcam_entries() argument
626 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_disable_mcam_entries()
629 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_disable_mcam_entries()
636 npc_mcam_free_all_entries(rvu, mcam, blkaddr, pcifunc); in rvu_npc_disable_mcam_entries()
639 npc_mcam_free_all_counters(rvu, mcam, pcifunc); in rvu_npc_disable_mcam_entries()
643 rvu_npc_disable_default_entries(rvu, pcifunc, nixlf); in rvu_npc_disable_mcam_entries()
647 rvu_write64(rvu, blkaddr, \
651 rvu_write64(rvu, blkaddr, \
658 static void npc_config_ldata_extract(struct rvu *rvu, int blkaddr) in npc_config_ldata_extract() argument
660 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_config_ldata_extract()
665 cfg = rvu_read64(rvu, blkaddr, NPC_AF_CONST); in npc_config_ldata_extract()
735 static void npc_program_mkex_profile(struct rvu *rvu, int blkaddr, in npc_program_mkex_profile() argument
740 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(NIX_INTF_RX), in npc_program_mkex_profile()
742 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(NIX_INTF_TX), in npc_program_mkex_profile()
746 rvu_write64(rvu, blkaddr, NPC_AF_KEX_LDATAX_FLAGS_CFG(ld), in npc_program_mkex_profile()
780 static void npc_load_mkex_profile(struct rvu *rvu, int blkaddr) in npc_load_mkex_profile() argument
782 const char *mkex_profile = rvu->mkex_pfl_name; in npc_load_mkex_profile()
783 struct device *dev = &rvu->pdev->dev; in npc_load_mkex_profile()
813 if (is_rvu_9xxx_A0(rvu) && in npc_load_mkex_profile()
819 npc_program_mkex_profile(rvu, blkaddr, mcam_kex); in npc_load_mkex_profile()
828 rvu->mkex_pfl_name); in npc_load_mkex_profile()
831 dev_info(rvu->dev, "Using default mkex profile\n"); in npc_load_mkex_profile()
833 npc_config_ldata_extract(rvu, blkaddr); in npc_load_mkex_profile()
840 static void npc_config_kpuaction(struct rvu *rvu, int blkaddr, in npc_config_kpuaction() argument
859 rvu_write64(rvu, blkaddr, reg, *(u64 *)&action1); in npc_config_kpuaction()
879 rvu_write64(rvu, blkaddr, reg, *(u64 *)&action0); in npc_config_kpuaction()
882 static void npc_config_kpucam(struct rvu *rvu, int blkaddr, in npc_config_kpucam() argument
899 rvu_write64(rvu, blkaddr, in npc_config_kpucam()
901 rvu_write64(rvu, blkaddr, in npc_config_kpucam()
910 static void npc_program_kpu_profile(struct rvu *rvu, int blkaddr, int kpu, in npc_program_kpu_profile() argument
916 dev_err(rvu->dev, in npc_program_kpu_profile()
921 max_entries = rvu_read64(rvu, blkaddr, NPC_AF_CONST1) & 0xFFF; in npc_program_kpu_profile()
926 npc_config_kpucam(rvu, blkaddr, in npc_program_kpu_profile()
932 npc_config_kpuaction(rvu, blkaddr, &profile->action[entry], in npc_program_kpu_profile()
937 rvu_write64(rvu, blkaddr, in npc_program_kpu_profile()
940 rvu_write64(rvu, blkaddr, in npc_program_kpu_profile()
946 rvu_write64(rvu, blkaddr, NPC_AF_KPUX_CFG(kpu), 0x01); in npc_program_kpu_profile()
949 static void npc_parser_profile_init(struct rvu *rvu, int blkaddr) in npc_parser_profile_init() argument
951 struct rvu_hwinfo *hw = rvu->hw; in npc_parser_profile_init()
956 hw->npc_kpus = (rvu_read64(rvu, blkaddr, NPC_AF_CONST) >> 8) & 0x1F; in npc_parser_profile_init()
960 rvu_write64(rvu, blkaddr, in npc_parser_profile_init()
962 rvu_write64(rvu, blkaddr, in npc_parser_profile_init()
964 rvu_write64(rvu, blkaddr, NPC_AF_KPUX_CFG(idx), 0x00); in npc_parser_profile_init()
976 npc_config_kpuaction(rvu, blkaddr, in npc_parser_profile_init()
984 npc_program_kpu_profile(rvu, blkaddr, in npc_parser_profile_init()
988 static int npc_mcam_rsrcs_init(struct rvu *rvu, int blkaddr) in npc_mcam_rsrcs_init() argument
990 int nixlf_count = rvu_get_nixlf_count(rvu); in npc_mcam_rsrcs_init()
991 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_mcam_rsrcs_init()
996 cfg = rvu_read64(rvu, blkaddr, NPC_AF_CONST); in npc_mcam_rsrcs_init()
1002 cfg = (rvu_read64(rvu, blkaddr, in npc_mcam_rsrcs_init()
1023 ((rvu->hw->total_pfs - 1) * RSVD_MCAM_ENTRIES_PER_PF); in npc_mcam_rsrcs_init()
1025 dev_warn(rvu->dev, in npc_mcam_rsrcs_init()
1036 mcam->bmap = devm_kcalloc(rvu->dev, BITS_TO_LONGS(mcam->bmap_entries), in npc_mcam_rsrcs_init()
1041 mcam->bmap_reverse = devm_kcalloc(rvu->dev, in npc_mcam_rsrcs_init()
1050 mcam->entry2pfvf_map = devm_kcalloc(rvu->dev, mcam->bmap_entries, in npc_mcam_rsrcs_init()
1074 mcam->cntr2pfvf_map = devm_kcalloc(rvu->dev, mcam->counters.max, in npc_mcam_rsrcs_init()
1082 mcam->entry2cntr_map = devm_kcalloc(rvu->dev, mcam->bmap_entries, in npc_mcam_rsrcs_init()
1087 mcam->cntr_refcnt = devm_kcalloc(rvu->dev, mcam->counters.max, in npc_mcam_rsrcs_init()
1101 int rvu_npc_init(struct rvu *rvu) in rvu_npc_init() argument
1103 struct npc_pkind *pkind = &rvu->hw->pkind; in rvu_npc_init()
1108 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_init()
1110 dev_err(rvu->dev, "%s: NPC block not implemented\n", __func__); in rvu_npc_init()
1115 cfg = rvu_read64(rvu, blkaddr, NPC_AF_CONST); in rvu_npc_init()
1118 rvu_write64(rvu, blkaddr, in rvu_npc_init()
1123 pkind->rsrc.max = (rvu_read64(rvu, blkaddr, in rvu_npc_init()
1130 pkind->pfchan_map = devm_kcalloc(rvu->dev, pkind->rsrc.max, in rvu_npc_init()
1136 npc_parser_profile_init(rvu, blkaddr); in rvu_npc_init()
1139 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_OL2, in rvu_npc_init()
1141 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_OIP4, in rvu_npc_init()
1145 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_IIP4, in rvu_npc_init()
1154 rvu_write64(rvu, blkaddr, NPC_AF_PCK_CFG, in rvu_npc_init()
1155 rvu_read64(rvu, blkaddr, NPC_AF_PCK_CFG) | in rvu_npc_init()
1163 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(NIX_INTF_RX), in rvu_npc_init()
1168 if (!is_rvu_9xxx_A0(rvu)) in rvu_npc_init()
1170 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(NIX_INTF_TX), in rvu_npc_init()
1173 err = npc_mcam_rsrcs_init(rvu, blkaddr); in rvu_npc_init()
1178 npc_load_mkex_profile(rvu, blkaddr); in rvu_npc_init()
1183 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_MISS_ACT(NIX_INTF_TX), in rvu_npc_init()
1187 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_MISS_ACT(NIX_INTF_RX), in rvu_npc_init()
1193 void rvu_npc_freemem(struct rvu *rvu) in rvu_npc_freemem() argument
1195 struct npc_pkind *pkind = &rvu->hw->pkind; in rvu_npc_freemem()
1196 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_freemem()
1233 static void npc_map_mcam_entry_and_cntr(struct rvu *rvu, struct npc_mcam *mcam, in npc_map_mcam_entry_and_cntr() argument
1243 rvu_write64(rvu, blkaddr, in npc_map_mcam_entry_and_cntr()
1248 static void npc_unmap_mcam_entry_and_cntr(struct rvu *rvu, in npc_unmap_mcam_entry_and_cntr() argument
1259 rvu_write64(rvu, blkaddr, in npc_unmap_mcam_entry_and_cntr()
1295 static void npc_mcam_free_all_entries(struct rvu *rvu, struct npc_mcam *mcam, in npc_mcam_free_all_entries() argument
1307 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, false); in npc_mcam_free_all_entries()
1312 npc_unmap_mcam_entry_and_cntr(rvu, mcam, in npc_mcam_free_all_entries()
1319 static void npc_mcam_free_all_counters(struct rvu *rvu, struct npc_mcam *mcam, in npc_mcam_free_all_counters() argument
1634 int rvu_mbox_handler_npc_mcam_alloc_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_alloc_entry() argument
1638 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_alloc_entry()
1642 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_alloc_entry()
1668 if (!is_nixlf_attached(rvu, pcifunc)) in rvu_mbox_handler_npc_mcam_alloc_entry()
1674 int rvu_mbox_handler_npc_mcam_free_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_free_entry() argument
1678 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_free_entry()
1683 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_free_entry()
1688 if (!is_nixlf_attached(rvu, pcifunc)) in rvu_mbox_handler_npc_mcam_free_entry()
1702 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, false); in rvu_mbox_handler_npc_mcam_free_entry()
1707 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_free_entry()
1714 npc_mcam_free_all_entries(rvu, mcam, blkaddr, pcifunc); in rvu_mbox_handler_npc_mcam_free_entry()
1720 int rvu_mbox_handler_npc_mcam_write_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_write_entry() argument
1724 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_write_entry()
1728 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_write_entry()
1748 npc_config_mcam_entry(rvu, mcam, blkaddr, req->entry, req->intf, in rvu_mbox_handler_npc_mcam_write_entry()
1752 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_write_entry()
1761 int rvu_mbox_handler_npc_mcam_ena_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_ena_entry() argument
1765 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_ena_entry()
1769 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_ena_entry()
1779 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, true); in rvu_mbox_handler_npc_mcam_ena_entry()
1784 int rvu_mbox_handler_npc_mcam_dis_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_dis_entry() argument
1788 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_dis_entry()
1792 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_dis_entry()
1802 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, false); in rvu_mbox_handler_npc_mcam_dis_entry()
1807 int rvu_mbox_handler_npc_mcam_shift_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_shift_entry() argument
1811 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_shift_entry()
1817 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_shift_entry()
1847 npc_enable_mcam_entry(rvu, mcam, blkaddr, new_entry, false); in rvu_mbox_handler_npc_mcam_shift_entry()
1850 npc_copy_mcam_entry(rvu, mcam, blkaddr, old_entry, new_entry); in rvu_mbox_handler_npc_mcam_shift_entry()
1855 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_shift_entry()
1857 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_shift_entry()
1862 npc_enable_mcam_entry(rvu, mcam, blkaddr, new_entry, true); in rvu_mbox_handler_npc_mcam_shift_entry()
1863 npc_enable_mcam_entry(rvu, mcam, blkaddr, old_entry, false); in rvu_mbox_handler_npc_mcam_shift_entry()
1876 int rvu_mbox_handler_npc_mcam_alloc_counter(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_alloc_counter() argument
1880 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_alloc_counter()
1885 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_alloc_counter()
1890 if (!is_nixlf_attached(rvu, pcifunc)) in rvu_mbox_handler_npc_mcam_alloc_counter()
1940 int rvu_mbox_handler_npc_mcam_free_counter(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_free_counter() argument
1943 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_free_counter()
1947 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_free_counter()
1974 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_free_counter()
1982 int rvu_mbox_handler_npc_mcam_unmap_counter(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_unmap_counter() argument
1985 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_unmap_counter()
1989 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_unmap_counter()
2003 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_unmap_counter()
2020 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, in rvu_mbox_handler_npc_mcam_unmap_counter()
2028 int rvu_mbox_handler_npc_mcam_clear_counter(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_clear_counter() argument
2031 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_clear_counter()
2034 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_clear_counter()
2044 rvu_write64(rvu, blkaddr, NPC_AF_MATCH_STATX(req->cntr), 0x00); in rvu_mbox_handler_npc_mcam_clear_counter()
2049 int rvu_mbox_handler_npc_mcam_counter_stats(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_counter_stats() argument
2053 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_counter_stats()
2056 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_counter_stats()
2066 rsp->stat = rvu_read64(rvu, blkaddr, NPC_AF_MATCH_STATX(req->cntr)); in rvu_mbox_handler_npc_mcam_counter_stats()
2072 int rvu_mbox_handler_npc_mcam_alloc_and_write_entry(struct rvu *rvu, in rvu_mbox_handler_npc_mcam_alloc_and_write_entry() argument
2080 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2085 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2099 rc = rvu_mbox_handler_npc_mcam_alloc_entry(rvu, in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2117 rc = rvu_mbox_handler_npc_mcam_alloc_counter(rvu, &cntr_req, &cntr_rsp); in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2131 npc_config_mcam_entry(rvu, mcam, blkaddr, entry, req->intf, in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2135 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr, entry, cntr); in rvu_mbox_handler_npc_mcam_alloc_and_write_entry()
2145 rvu_read64(rvu, BLKADDR_NPC, NPC_AF_INTFX_KEX_CFG(intf))
2148 rvu_read64(rvu, BLKADDR_NPC, NPC_AF_KEX_LDATAX_FLAGS_CFG(ld))
2151 rvu_read64(rvu, BLKADDR_NPC, \
2155 rvu_read64(rvu, BLKADDR_NPC, \
2158 int rvu_mbox_handler_npc_get_kex_cfg(struct rvu *rvu, struct msg_req *req, in rvu_mbox_handler_npc_get_kex_cfg() argument
2186 memcpy(rsp->mkex_pfl_name, rvu->mkex_pfl_name, MKEX_NAME_LEN); in rvu_mbox_handler_npc_get_kex_cfg()
2190 int rvu_npc_update_rxvlan(struct rvu *rvu, u16 pcifunc, int nixlf) in rvu_npc_update_rxvlan() argument
2192 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_npc_update_rxvlan()
2193 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_npc_update_rxvlan()
2197 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_update_rxvlan()
2206 pfvf->entry.action = npc_get_mcam_action(rvu, mcam, blkaddr, index); in rvu_npc_update_rxvlan()
2207 enable = is_mcam_entry_enabled(rvu, mcam, blkaddr, index); in rvu_npc_update_rxvlan()
2208 npc_config_mcam_entry(rvu, mcam, blkaddr, pfvf->rxvlan_index, in rvu_npc_update_rxvlan()