| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_flows.c | 33 static void otx2_clear_ntuple_flow_info(struct otx2_nic *pfvf, struct otx2_flow_config *flow_cfg) in otx2_clear_ntuple_flow_info() argument 35 devm_kfree(pfvf->dev, flow_cfg->flow_ent); in otx2_clear_ntuple_flow_info() 36 flow_cfg->flow_ent = NULL; in otx2_clear_ntuple_flow_info() 37 flow_cfg->max_flows = 0; in otx2_clear_ntuple_flow_info() 133 struct otx2_flow_config *flow_cfg = pfvf->flow_cfg; in otx2_free_ntuple_mcam_entries() local 137 if (!flow_cfg->max_flows) in otx2_free_ntuple_mcam_entries() 141 for (ent = 0; ent < flow_cfg->max_flows; ent++) { in otx2_free_ntuple_mcam_entries() 146 req->entry = flow_cfg->flow_ent[ent]; in otx2_free_ntuple_mcam_entries() 154 otx2_clear_ntuple_flow_info(pfvf, flow_cfg); in otx2_free_ntuple_mcam_entries() 160 struct otx2_flow_config *flow_cfg = pfvf->flow_cfg; in otx2_alloc_mcam_entries() local [all …]
|
| H A D | otx2_tc.c | 509 refcount_inc(&nic->flow_cfg->mark_flows); in otx2_tc_parse_actions() 942 struct otx2_flow_config *flow_cfg = pfvf->flow_cfg; in otx2_destroy_tc_flow_list() local 948 list_for_each_entry_safe(iter, tmp, &flow_cfg->flow_list_tc, list) { in otx2_destroy_tc_flow_list() 951 flow_cfg->nr_flows--; in otx2_destroy_tc_flow_list() 956 otx2_tc_get_entry_by_cookie(struct otx2_flow_config *flow_cfg, in otx2_tc_get_entry_by_cookie() argument 961 list_for_each_entry(tmp, &flow_cfg->flow_list_tc, list) { in otx2_tc_get_entry_by_cookie() 970 otx2_tc_get_entry_by_index(struct otx2_flow_config *flow_cfg, int index) in otx2_tc_get_entry_by_index() argument 975 list_for_each_entry(tmp, &flow_cfg->flow_list_tc, list) { in otx2_tc_get_entry_by_index() 984 static void otx2_tc_del_from_flow_list(struct otx2_flow_config *flow_cfg, in otx2_tc_del_from_flow_list() argument 990 list_for_each_safe(pos, n, &flow_cfg->flow_list_tc) { in otx2_tc_del_from_flow_list() [all …]
|
| H A D | cn20k.c | 254 static int cn20k_tc_get_entry_index(struct otx2_flow_config *flow_cfg, in cn20k_tc_get_entry_index() argument 260 list_for_each_entry(tmp, &flow_cfg->flow_list_tc, list) { in cn20k_tc_get_entry_index() 296 struct otx2_flow_config *flow_cfg, in cn20k_tc_check_entry_shiftable() argument 305 first = list_first_entry(&flow_cfg->flow_list_tc, struct otx2_tc_flow, in cn20k_tc_check_entry_shiftable() 312 list_for_each_entry_safe(tmp, n, &flow_cfg->flow_list_tc, list) { in cn20k_tc_check_entry_shiftable() 335 struct otx2_flow_config *flow_cfg, in cn20k_tc_update_mcam_table_del_req() argument 343 index = cn20k_tc_get_entry_index(flow_cfg, node); in cn20k_tc_update_mcam_table_del_req() 349 first = list_first_entry(&flow_cfg->flow_list_tc, struct otx2_tc_flow, in cn20k_tc_update_mcam_table_del_req() 356 if (!cn20k_tc_check_entry_shiftable(nic, flow_cfg, node, in cn20k_tc_update_mcam_table_del_req() 367 list_for_each_entry_safe(tmp, n, &flow_cfg->flow_list_tc, list) { in cn20k_tc_update_mcam_table_del_req() [all …]
|
| H A D | rep.c | 43 rep->flow_cfg = kzalloc_objs(struct otx2_flow_config, 1); in rvu_rep_mcam_flow_init() 45 if (!rep->flow_cfg) in rvu_rep_mcam_flow_init() 50 rep->flow_cfg->flow_ent = kcalloc(count, sizeof(u16), GFP_KERNEL); in rvu_rep_mcam_flow_init() 51 if (!rep->flow_cfg->flow_ent) in rvu_rep_mcam_flow_init() 74 rep->flow_cfg->flow_ent[ent + allocated] = rsp->entry_list[ent]; in rvu_rep_mcam_flow_init() 88 sort(&rep->flow_cfg->flow_ent[0], allocated, in rvu_rep_mcam_flow_init() 89 sizeof(rep->flow_cfg->flow_ent[0]), mcam_entry_cmp, NULL); in rvu_rep_mcam_flow_init() 93 rep->flow_cfg->max_flows = allocated; in rvu_rep_mcam_flow_init() 101 INIT_LIST_HEAD(&rep->flow_cfg->flow_list); in rvu_rep_mcam_flow_init() 102 INIT_LIST_HEAD(&rep->flow_cfg->flow_list_tc); in rvu_rep_mcam_flow_init() [all …]
|
| H A D | rep.h | 39 struct otx2_flow_config *flow_cfg; member
|
| H A D | otx2_pf.c | 1295 if (enable && !bitmap_empty(pf->flow_cfg->dmacflt_bmap, in otx2_cgx_config_loopback() 1296 pf->flow_cfg->dmacflt_max_flows)) in otx2_cgx_config_loopback() 1852 (netdev_uc_count(netdev) > pf->flow_cfg->ucast_flt_cnt)) { in otx2_do_set_rx_mode() 2606 struct otx2_flow_config *flow_cfg = pf->flow_cfg; in otx2_do_set_vf_vlan() local 2647 flow_cfg->def_ent[flow_cfg->vf_vlan_offset + idx]; in otx2_do_set_vf_vlan() 2660 flow_cfg->def_ent[flow_cfg->vf_vlan_offset + idx]; in otx2_do_set_vf_vlan() 2674 req->entry = flow_cfg->def_ent[flow_cfg->vf_vlan_offset + idx]; in otx2_do_set_vf_vlan() 2725 req->entry = flow_cfg->def_ent[flow_cfg->vf_vlan_offset + idx]; in otx2_do_set_vf_vlan()
|
| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icssg_config.c | 512 struct icssg_flow_cfg __iomem *flow_cfg; in icssg_config() local 547 flow_cfg = config + PSI_L_REGULAR_FLOW_ID_BASE_OFFSET; in icssg_config() 548 writew(emac->rx_flow_id_base, &flow_cfg->rx_base_flow); in icssg_config() 549 writew(0, &flow_cfg->mgm_base_flow); in icssg_config()
|
| H A D | icssg_prueth.c | 1017 struct icssg_flow_cfg __iomem *flow_cfg; in emac_ndo_open() local 1073 flow_cfg = emac->dram.va + ICSSG_CONFIG_OFFSET + PSI_L_REGULAR_FLOW_ID_BASE_OFFSET; in emac_ndo_open() 1074 writew(emac->rx_flow_id_base, &flow_cfg->rx_base_flow); in emac_ndo_open()
|