| /linux/drivers/net/ethernet/marvell/octeontx2/af/ |
| H A D | rvu_npc.c | 36 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 D | rvu_npc_fs.c | 64 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 D | rvu_devlink.c | 1388 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 D | rvu_rep.c | 398 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 D | rvu.h | 466 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 D | rvu_debugfs.c | 3165 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 D | rvu_nix.c | 3508 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 D | npc.c | 819 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 D | Makefile | 2 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 D | device.h | 1441 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 D | driver.h | 754 u32 mcam[MLX5_MCAM_REGS_NUM][MLX5_ST_SZ_DW(mcam_reg)]; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | port.c | 98 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 D | fw.c | 131 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 D | core_env.c | 1424 err = mlxsw_reg_query(mlxsw_env->core, MLXSW_REG(mcam), mcam_pl); in mlxsw_env_max_module_eeprom_len_query()
|