Lines Matching defs:blkaddr

33 				      int blkaddr, u16 pcifunc);
66 int blkaddr;
69 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
70 if (blkaddr < 0)
75 rvu_write64(rvu, blkaddr, NPC_AF_PKINDX_CPI_DEFX(pkind, 0), val);
96 int pkind, blkaddr;
105 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, pcifunc);
106 if (blkaddr < 0) {
111 val = rvu_read64(rvu, blkaddr, NPC_AF_PKINDX_ACTION0(pkind));
117 rvu_write64(rvu, blkaddr, NPC_AF_PKINDX_ACTION0(pkind), val);
127 int blkaddr = 0, max = 0;
135 blkaddr = rvu_get_next_nix_blkaddr(rvu, blkaddr);
136 while (blkaddr) {
137 if (pfvf->nix_blkaddr == blkaddr)
139 block = &rvu->hw->block[blkaddr];
141 blkaddr = rvu_get_next_nix_blkaddr(rvu, blkaddr);
184 int blkaddr, int index)
190 cfg = rvu_read64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_CFG(index, bank));
195 int blkaddr, int index, bool enable)
202 rvu_write64(rvu, blkaddr,
209 int blkaddr, int index)
216 rvu_write64(rvu, blkaddr,
218 rvu_write64(rvu, blkaddr,
221 rvu_write64(rvu, blkaddr,
223 rvu_write64(rvu, blkaddr,
226 rvu_write64(rvu, blkaddr,
228 rvu_write64(rvu, blkaddr,
365 int blkaddr, u16 pf_func)
382 return rvu_read64(rvu, blkaddr,
387 int blkaddr, int index, struct mcam_entry *entry,
423 rx_action = npc_get_default_entry_action(rvu, mcam, blkaddr,
430 int blkaddr, int index, u8 intf,
444 npc_enable_mcam_entry(rvu, mcam, blkaddr, actindex, false);
447 npc_clear_mcam_entry(rvu, mcam, blkaddr, actindex);
466 rvu_write64(rvu, blkaddr,
469 rvu_write64(rvu, blkaddr,
475 rvu_write64(rvu, blkaddr,
477 rvu_write64(rvu, blkaddr,
481 rvu_write64(rvu, blkaddr,
483 rvu_write64(rvu, blkaddr,
489 npc_fixup_vf_rule(rvu, mcam, blkaddr, actindex, entry, &enable);
492 rvu_write64(rvu, blkaddr,
496 rvu_write64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_TAG_ACT(index, actbank),
501 npc_enable_mcam_entry(rvu, mcam, blkaddr, actindex, true);
505 int blkaddr, u16 src,
516 cam1 = rvu_read64(rvu, blkaddr,
518 cam0 = rvu_read64(rvu, blkaddr,
522 cam1 = rvu_read64(rvu, blkaddr,
524 cam0 = rvu_read64(rvu, blkaddr,
529 entry->action = rvu_read64(rvu, blkaddr,
532 rvu_read64(rvu, blkaddr,
534 *intf = rvu_read64(rvu, blkaddr,
536 *ena = rvu_read64(rvu, blkaddr,
541 int blkaddr, u16 src, u16 dest)
556 cfg = rvu_read64(rvu, blkaddr, sreg + (i * 8));
557 rvu_write64(rvu, blkaddr, dreg + (i * 8), cfg);
562 cfg = rvu_read64(rvu, blkaddr,
564 rvu_write64(rvu, blkaddr,
568 cfg = rvu_read64(rvu, blkaddr,
570 rvu_write64(rvu, blkaddr,
574 cfg = rvu_read64(rvu, blkaddr,
576 rvu_write64(rvu, blkaddr,
581 int blkaddr, int index)
586 return rvu_read64(rvu, blkaddr,
591 int blkaddr, int index, u64 cfg)
596 return rvu_write64(rvu, blkaddr,
608 int blkaddr, index;
614 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
615 if (blkaddr < 0)
630 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, index)) {
632 blkaddr, index);
663 int blkaddr, ucast_idx, index;
671 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
672 if (blkaddr < 0)
688 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, ucast_idx))
690 blkaddr, ucast_idx);
747 int blkaddr, index;
749 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
750 if (blkaddr < 0)
758 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
769 int blkaddr, index;
771 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
772 if (blkaddr < 0)
827 int blkaddr, index;
829 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
830 if (blkaddr < 0)
838 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
848 int blkaddr, ucast_idx, index;
859 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
860 if (blkaddr < 0)
883 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, ucast_idx))
885 blkaddr, ucast_idx);
933 int blkaddr, index;
935 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
936 if (blkaddr < 0)
944 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
948 int blkaddr, u16 pcifunc, u64 rx_action)
973 enable = is_mcam_entry_enabled(rvu, mcam, blkaddr,
976 npc_enable_mcam_entry(rvu, mcam, blkaddr, actindex,
979 rvu_write64(rvu, blkaddr,
983 npc_enable_mcam_entry(rvu, mcam, blkaddr,
991 struct rvu_pfvf *pfvf, int mcam_index, int blkaddr,
999 if (!is_mcam_entry_enabled(rvu, mcam, blkaddr, mcam_index))
1009 *(u64 *)&action = rvu_read64(rvu, blkaddr,
1014 rvu_write64(rvu, blkaddr,
1023 int blkaddr, index, bank;
1026 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1027 if (blkaddr < 0)
1047 *(u64 *)&action = rvu_read64(rvu, blkaddr,
1058 rvu_write64(rvu, blkaddr,
1063 npc_update_vf_flow_entry(rvu, mcam, blkaddr, pcifunc,
1077 npc_update_rx_action_with_alg_idx(rvu, action, pfvf, index, blkaddr,
1085 npc_update_rx_action_with_alg_idx(rvu, action, pfvf, index, blkaddr,
1095 int index, blkaddr, mce_idx;
1098 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1099 if (blkaddr < 0)
1107 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
1122 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
1129 int index, blkaddr;
1131 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1132 if (blkaddr < 0)
1138 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable);
1167 int blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1183 npc_enable_mcam_entry(rvu, mcam, blkaddr,
1209 int blkaddr;
1211 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1212 if (blkaddr < 0)
1222 npc_enable_mcam_entry(rvu, mcam, blkaddr,
1245 int blkaddr;
1247 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
1248 if (blkaddr < 0)
1254 npc_mcam_free_all_entries(rvu, mcam, blkaddr, pcifunc);
1272 static void npc_program_mkex_rx(struct rvu *rvu, int blkaddr,
1280 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(intf),
1301 static void npc_program_mkex_tx(struct rvu *rvu, int blkaddr,
1309 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(intf),
1330 static void npc_program_mkex_profile(struct rvu *rvu, int blkaddr,
1338 rvu_write64(rvu, blkaddr, NPC_AF_KEX_LDATAX_FLAGS_CFG(ld),
1342 npc_program_mkex_rx(rvu, blkaddr, mkex, intf);
1343 npc_program_mkex_tx(rvu, blkaddr, mkex, intf);
1347 npc_program_mkex_hash(rvu, blkaddr);
1376 static void npc_load_mkex_profile(struct rvu *rvu, int blkaddr,
1419 npc_program_mkex_profile(rvu, blkaddr, rvu->kpu.mkex);
1424 static void npc_config_kpuaction(struct rvu *rvu, int blkaddr,
1443 rvu_write64(rvu, blkaddr, reg, *(u64 *)&action1);
1463 rvu_write64(rvu, blkaddr, reg, *(u64 *)&action0);
1466 static void npc_config_kpucam(struct rvu *rvu, int blkaddr,
1483 rvu_write64(rvu, blkaddr,
1485 rvu_write64(rvu, blkaddr,
1494 static void npc_program_kpu_profile(struct rvu *rvu, int blkaddr, int kpu,
1511 npc_config_kpucam(rvu, blkaddr,
1517 npc_config_kpuaction(rvu, blkaddr, &profile->action[entry],
1526 rvu_write64(rvu, blkaddr,
1529 rvu_write64(rvu, blkaddr,
1535 rvu_write64(rvu, blkaddr, NPC_AF_KPUX_CFG(kpu), 0x01);
1796 static void npc_parser_profile_init(struct rvu *rvu, int blkaddr)
1803 rvu_write64(rvu, blkaddr,
1805 rvu_write64(rvu, blkaddr,
1807 rvu_write64(rvu, blkaddr, NPC_AF_KPUX_CFG(idx), 0x00);
1821 npc_config_kpuaction(rvu, blkaddr, &rvu->kpu.ikpu[idx], 0, idx, true);
1828 npc_program_kpu_profile(rvu, blkaddr, idx, &rvu->kpu.kpu[idx]);
1845 int npc_mcam_rsrcs_init(struct rvu *rvu, int blkaddr)
1855 cfg = (rvu_read64(rvu, blkaddr,
1979 static void rvu_npc_hw_init(struct rvu *rvu, int blkaddr)
1987 npc_const = rvu_read64(rvu, blkaddr, NPC_AF_CONST);
1988 npc_const1 = rvu_read64(rvu, blkaddr, NPC_AF_CONST1);
1990 npc_const2 = rvu_read64(rvu, blkaddr, NPC_AF_CONST2);
2024 static void rvu_npc_setup_interfaces(struct rvu *rvu, int blkaddr)
2056 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(intf),
2063 rvu_write64(rvu, blkaddr,
2069 rvu_write64(rvu, blkaddr,
2081 rvu_write64(rvu, blkaddr, NPC_AF_INTFX_KEX_CFG(intf),
2087 rvu_write64(rvu, blkaddr,
2098 int blkaddr, entry, bank, err;
2100 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2101 if (blkaddr < 0) {
2106 rvu_npc_hw_init(rvu, blkaddr);
2111 rvu_write64(rvu, blkaddr,
2130 npc_parser_profile_init(rvu, blkaddr);
2133 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_OL2,
2136 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_OIP4,
2141 rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_IIP4,
2152 rvu_write64(rvu, blkaddr, NPC_AF_PCK_CFG,
2153 rvu_read64(rvu, blkaddr, NPC_AF_PCK_CFG) |
2157 rvu_npc_setup_interfaces(rvu, blkaddr);
2159 npc_config_secret_key(rvu, blkaddr);
2161 npc_load_mkex_profile(rvu, blkaddr, rvu->mkex_pfl_name);
2163 err = npc_mcam_rsrcs_init(rvu, blkaddr);
2167 err = npc_flow_steering_init(rvu, blkaddr);
2171 npc_load_mkex_profile(rvu, blkaddr, def_pfl_name);
2192 int blkaddr, int *alloc_cnt,
2204 if (is_mcam_entry_enabled(rvu, mcam, blkaddr, entry))
2211 int blkaddr, int *alloc_cnt,
2263 int blkaddr, u16 entry, u16 cntr)
2273 rvu_write64(rvu, blkaddr,
2280 int blkaddr, u16 entry, u16 cntr)
2289 rvu_write64(rvu, blkaddr,
2326 int blkaddr, u16 pcifunc)
2337 npc_enable_mcam_entry(rvu, mcam, blkaddr, index, false);
2343 blkaddr, index,
2676 void npc_mcam_rsrcs_reserve(struct rvu *rvu, int blkaddr, int entry_idx)
2689 int blkaddr;
2691 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2692 if (blkaddr < 0)
2735 int blkaddr, rc = 0;
2738 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2739 if (blkaddr < 0)
2758 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, false);
2763 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
2770 npc_mcam_free_all_entries(rvu, mcam, blkaddr, pcifunc);
2782 int blkaddr, rc;
2784 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2785 if (blkaddr < 0)
2791 npc_read_mcam_entry(rvu, mcam, blkaddr, req->entry,
2807 int blkaddr, rc;
2810 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2811 if (blkaddr < 0)
2839 npc_config_mcam_entry(rvu, mcam, blkaddr, req->entry, nix_intf,
2843 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr,
2858 int blkaddr, rc;
2860 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2861 if (blkaddr < 0)
2870 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, true);
2881 int blkaddr, rc;
2883 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2884 if (blkaddr < 0)
2893 npc_enable_mcam_entry(rvu, mcam, blkaddr, req->entry, false);
2905 int blkaddr, rc = 0;
2908 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2909 if (blkaddr < 0)
2938 npc_enable_mcam_entry(rvu, mcam, blkaddr, new_entry, false);
2941 npc_copy_mcam_entry(rvu, mcam, blkaddr, old_entry, new_entry);
2946 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
2948 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr,
2953 npc_enable_mcam_entry(rvu, mcam, blkaddr, new_entry, true);
2954 npc_enable_mcam_entry(rvu, mcam, blkaddr, old_entry, false);
2974 int blkaddr, index;
2976 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
2977 if (blkaddr < 0)
3036 int blkaddr, err;
3038 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3039 if (blkaddr < 0)
3065 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
3078 int blkaddr, rc;
3080 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3081 if (blkaddr < 0)
3094 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
3112 npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
3124 int blkaddr, err;
3126 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3127 if (blkaddr < 0)
3136 rvu_write64(rvu, blkaddr, NPC_AF_MATCH_STATX(req->cntr), 0x00);
3146 int blkaddr, err;
3148 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3149 if (blkaddr < 0)
3158 rsp->stat = rvu_read64(rvu, blkaddr, NPC_AF_MATCH_STATX(req->cntr));
3176 int blkaddr, rc;
3179 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3180 if (blkaddr < 0)
3231 npc_config_mcam_entry(rvu, mcam, blkaddr, entry, nix_intf,
3235 npc_map_mcam_entry_and_cntr(rvu, mcam, blkaddr, entry, cntr);
3296 int blkaddr;
3308 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, pcifunc);
3309 if (blkaddr < 0) {
3313 val = rvu_read64(rvu, blkaddr, NPC_AF_PKINDX_ACTION0(pkind));
3319 rvu_write64(rvu, blkaddr, NPC_AF_PKINDX_ACTION0(pkind), val);
3329 int blkaddr, nixlf, rc, intf_mode;
3366 rc = nix_get_nixlf(rvu, pcifunc, &nixlf, &blkaddr);
3370 rvu_write64(rvu, blkaddr, NIX_AF_LFX_TX_PARSE_CFG(nixlf),
3391 int index, blkaddr, nixlf, rc = 0;
3396 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3397 if (blkaddr < 0)
3425 npc_read_mcam_entry(rvu, mcam, blkaddr, index, &rsp->entry, &intf,
3438 int blkaddr;
3442 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
3443 if (blkaddr < 0)
3452 regval = rvu_read64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_STAT_ACT(index, bank));
3463 rsp->stat = rvu_read64(rvu, blkaddr, NPC_AF_MATCH_STATX(cntr));