Home
last modified time | relevance | path

Searched refs:mcam (Results 1 – 14 of 14) sorted by relevance

/linux/drivers/net/ethernet/marvell/octeontx2/af/
H A Drvu_npc.c36 static void npc_mcam_free_all_entries(struct rvu *rvu, struct npc_mcam *mcam,
38 static void npc_mcam_free_all_counters(struct rvu *rvu, struct npc_mcam *mcam,
126 static int npc_get_ucast_mcam_index(struct npc_mcam *mcam, u16 pcifunc, in npc_get_ucast_mcam_index() argument
129 struct rvu_hwinfo *hw = container_of(mcam, struct rvu_hwinfo, mcam); in npc_get_ucast_mcam_index()
148 return mcam->nixlf_offset + (max + nixlf) * RSVD_MCAM_ENTRIES_PER_NIXLF; in npc_get_ucast_mcam_index()
151 int npc_get_nixlf_mcam_index(struct npc_mcam *mcam, in npc_get_nixlf_mcam_index() argument
154 struct rvu_hwinfo *hw = container_of(mcam, struct rvu_hwinfo, mcam); in npc_get_nixlf_mcam_index()
207 index = mcam->pf_offset + (pf * RSVD_MCAM_ENTRIES_PER_PF); in npc_get_nixlf_mcam_index()
219 return npc_get_ucast_mcam_index(mcam, pcifunc, nixlf); in npc_get_nixlf_mcam_index()
222 int npc_get_bank(struct npc_mcam *mcam, int index) in npc_get_bank() argument
[all …]
H A Drvu_npc_fs.c64 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_is_feature_supported() local
68 mcam_features = is_npc_intf_tx(intf) ? mcam->tx_features : mcam->rx_features; in npc_is_feature_supported()
86 static void npc_set_kw_masks(struct rvu *rvu, struct npc_mcam *mcam, u8 type, in npc_set_kw_masks() argument
89 struct npc_key_field *field = &mcam->rx_key_fields[type]; in npc_set_kw_masks()
94 if (mcam->banks_per_entry == 1) in npc_set_kw_masks()
99 if (mcam->banks_per_entry == 1) in npc_set_kw_masks()
101 else if (mcam->banks_per_entry == 2) in npc_set_kw_masks()
108 field = &mcam->tx_key_fields[type]; in npc_set_kw_masks()
150 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_is_field_present() local
153 input = &mcam->rx_key_fields[type]; in npc_is_field_present()
[all …]
H A Drvu_devlink.c1388 struct npc_mcam *mcam; in rvu_af_dl_npc_mcam_high_zone_percent_get() local
1391 mcam = &rvu->hw->mcam; in rvu_af_dl_npc_mcam_high_zone_percent_get()
1392 percent = (mcam->hprio_count * 100) / mcam->bmap_entries; in rvu_af_dl_npc_mcam_high_zone_percent_get()
1404 struct npc_mcam *mcam; in rvu_af_dl_npc_mcam_high_zone_percent_set() local
1408 mcam = &rvu->hw->mcam; in rvu_af_dl_npc_mcam_high_zone_percent_set()
1409 mcam->hprio_count = (mcam->bmap_entries * percent) / 100; in rvu_af_dl_npc_mcam_high_zone_percent_set()
1410 mcam->hprio_end = mcam->hprio_count; in rvu_af_dl_npc_mcam_high_zone_percent_set()
1411 mcam->lprio_count = (mcam->bmap_entries - mcam->hprio_count) / 2; in rvu_af_dl_npc_mcam_high_zone_percent_set()
1412 mcam->lprio_start = mcam->bmap_entries - mcam->lprio_count; in rvu_af_dl_npc_mcam_high_zone_percent_set()
1423 struct npc_mcam *mcam; in rvu_af_dl_npc_mcam_high_zone_percent_validate() local
[all …]
H A Drvu_rep.c398 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_rep_update_rules() local
412 mutex_lock(&mcam->lock); in rvu_rep_update_rules()
415 npc_enable_mcam_entry(rvu, mcam, blkaddr, entry, ena); in rvu_rep_update_rules()
417 mutex_unlock(&mcam->lock); in rvu_rep_update_rules()
H A Drvu.h466 struct npc_mcam mcam; member
1104 int npc_get_bank(struct npc_mcam *mcam, int index);
1107 void npc_enable_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam,
1109 u64 npc_get_mcam_action(struct rvu *rvu, struct npc_mcam *mcam,
1111 void npc_set_mcam_action(struct rvu *rvu, struct npc_mcam *mcam,
1113 void npc_read_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam,
1132 int npc_get_nixlf_mcam_index(struct npc_mcam *mcam,
1134 bool is_mcam_entry_enabled(struct rvu *rvu, struct npc_mcam *mcam, int blkaddr,
1200 int npc_mcam_verify_entry(struct npc_mcam *mcam, u16 pcifunc, int entry);
H A Drvu_debugfs.c3165 struct npc_mcam *mcam; in rvu_dbg_npc_mcam_info_display() local
3173 mcam = &rvu->hw->mcam; in rvu_dbg_npc_mcam_info_display()
3207 mutex_lock(&mcam->lock); in rvu_dbg_npc_mcam_info_display()
3209 seq_printf(filp, "\n\t\t MCAM entries \t: %d\n", mcam->total_entries); in rvu_dbg_npc_mcam_info_display()
3211 mcam->total_entries - mcam->bmap_entries); in rvu_dbg_npc_mcam_info_display()
3212 seq_printf(filp, "\t\t Available \t: %d\n", mcam->bmap_fcnt); in rvu_dbg_npc_mcam_info_display()
3217 counters - mcam->counters.max); in rvu_dbg_npc_mcam_info_display()
3219 rvu_rsrc_free_count(&mcam->counters)); in rvu_dbg_npc_mcam_info_display()
3221 if (mcam->bmap_entries == mcam->bmap_fcnt) { in rvu_dbg_npc_mcam_info_display()
3222 mutex_unlock(&mcam->lock); in rvu_dbg_npc_mcam_info_display()
[all …]
H A Drvu_nix.c3508 struct npc_mcam *mcam = &rvu->hw->mcam; in nix_update_mce_list() local
3541 npc_enable_mcam_entry(rvu, mcam, npc_blkaddr, mcam_index, false); in nix_update_mce_list()
3604 struct npc_mcam *mcam = &rvu->hw->mcam; in nix_update_mce_rule() local
3630 mcam_index = npc_get_nixlf_mcam_index(mcam, in nix_update_mce_rule()
5257 struct npc_mcam *mcam = &rvu->hw->mcam; in nix_mcast_update_action() local
5264 *(u64 *)&rx_action = npc_get_mcam_action(rvu, mcam, in nix_mcast_update_action()
5268 npc_set_mcam_action(rvu, mcam, npc_blkaddr, elem->mcam_index, in nix_mcast_update_action()
5271 *(u64 *)&tx_action = npc_get_mcam_action(rvu, mcam, in nix_mcast_update_action()
5275 npc_set_mcam_action(rvu, mcam, npc_blkaddr, elem->mcam_index, in nix_mcast_update_action()
6605 struct npc_mcam *mcam = &rvu->hw->mcam; in rvu_mbox_handler_nix_mcast_grp_update() local
[all …]
/linux/drivers/net/ethernet/marvell/octeontx2/af/cn20k/
H A Dnpc.c819 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_cn20k_enable_mcam_entry() local
820 int mcam_idx = index % mcam->banksize; in npc_cn20k_enable_mcam_entry()
821 int bank = index / mcam->banksize; in npc_cn20k_enable_mcam_entry()
825 if (index < 0 || index >= mcam->total_entries) in npc_cn20k_enable_mcam_entry()
847 for (bank = 0; bank < mcam->banks_per_entry; bank++) { in npc_cn20k_enable_mcam_entry()
906 struct npc_mcam *mcam = &rvu->hw->mcam; in npc_cn20k_clear_mcam_entry() local
907 int bank = npc_get_bank(mcam, mcam_idx); in npc_cn20k_clear_mcam_entry()
914 index = mcam_idx & (mcam->banksize - 1); in npc_cn20k_clear_mcam_entry()
924 for (bank = 0; bank < mcam->banks_per_entry; bank++) in npc_cn20k_clear_mcam_entry()
975 static void npc_cn20k_config_kw_x2(struct rvu *rvu, struct npc_mcam *mcam, in npc_cn20k_config_kw_x2() argument
[all …]
/linux/drivers/media/platform/marvell/
H A DMakefile2 obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o mcam-core.o
5 obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o mcam-core.o
/linux/include/linux/mlx5/
H A Ddevice.h1441 MLX5_GET(mcam_reg, (mdev)->caps.mcam[MLX5_MCAM_REGS_FIRST_128], \
1445 MLX5_GET(mcam_reg, (mdev)->caps.mcam[MLX5_MCAM_REGS_0x9100_0x917F], \
1449 MLX5_GET(mcam_reg, (mdev)->caps.mcam[MLX5_MCAM_REGS_0x9180_0x91FF], \
1453 MLX5_GET(mcam_reg, (mdev)->caps.mcam, mng_feature_cap_mask.enhanced_features.fld)
H A Ddriver.h754 u32 mcam[MLX5_MCAM_REGS_NUM][MLX5_ST_SZ_DW(mcam_reg)]; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Dport.c98 int mlx5_query_mcam_reg(struct mlx5_core_dev *dev, u32 *mcam, u8 feature_group, in mlx5_query_mcam_reg() argument
107 return mlx5_core_access_reg(dev, in, sz, mcam, sz, MLX5_REG_MCAM, 0, 0); in mlx5_query_mcam_reg()
H A Dfw.c131 return mlx5_query_mcam_reg(dev, dev->caps.mcam[group], in mlx5_get_mcam_access_reg_group()
/linux/drivers/net/ethernet/mellanox/mlxsw/
H A Dcore_env.c1424 err = mlxsw_reg_query(mlxsw_env->core, MLXSW_REG(mcam), mcam_pl); in mlxsw_env_max_module_eeprom_len_query()