Lines Matching refs:tid
49 struct mvpp2_prs_entry *pe, int tid) in __mvpp2_prs_init_from_hw() argument
55 if (tid > MVPP2_PRS_TCAM_SRAM_SIZE - 1) in __mvpp2_prs_init_from_hw()
59 pe->index = tid; in __mvpp2_prs_init_from_hw()
81 int tid) in mvpp2_prs_init_from_hw() argument
86 err = __mvpp2_prs_init_from_hw(priv, pe, tid); in mvpp2_prs_init_from_hw()
383 int tid; in mvpp2_prs_flow_find() local
386 for (tid = MVPP2_PRS_TCAM_SRAM_SIZE - 1; tid >= 0; tid--) { in mvpp2_prs_flow_find()
389 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_flow_find()
390 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_FLOWS) in mvpp2_prs_flow_find()
393 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_flow_find()
398 return tid; in mvpp2_prs_flow_find()
408 int tid; in mvpp2_prs_tcam_first_free() local
413 for (tid = start; tid <= end; tid++) { in mvpp2_prs_tcam_first_free()
414 if (!priv->prs_shadow[tid].valid) in mvpp2_prs_tcam_first_free()
415 return tid; in mvpp2_prs_tcam_first_free()
495 int tid; in __mvpp2_prs_mac_promisc_set() local
501 tid = MVPP2_PE_MAC_UC_PROMISCUOUS; in __mvpp2_prs_mac_promisc_set()
505 tid = MVPP2_PE_MAC_MC_PROMISCUOUS; in __mvpp2_prs_mac_promisc_set()
510 if (priv->prs_shadow[tid].valid) { in __mvpp2_prs_mac_promisc_set()
511 __mvpp2_prs_init_from_hw(priv, &pe, tid); in __mvpp2_prs_mac_promisc_set()
515 pe.index = tid; in __mvpp2_prs_mac_promisc_set()
557 int tid, shift; in mvpp2_prs_dsa_tag_set() local
560 tid = tagged ? MVPP2_PE_EDSA_TAGGED : MVPP2_PE_EDSA_UNTAGGED; in mvpp2_prs_dsa_tag_set()
563 tid = tagged ? MVPP2_PE_DSA_TAGGED : MVPP2_PE_DSA_UNTAGGED; in mvpp2_prs_dsa_tag_set()
567 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_dsa_tag_set()
569 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_dsa_tag_set()
574 pe.index = tid; in mvpp2_prs_dsa_tag_set()
624 int tid, shift, port_mask; in mvpp2_prs_dsa_tag_ethertype_set() local
627 tid = tagged ? MVPP2_PE_ETYPE_EDSA_TAGGED : in mvpp2_prs_dsa_tag_ethertype_set()
632 tid = tagged ? MVPP2_PE_ETYPE_DSA_TAGGED : in mvpp2_prs_dsa_tag_ethertype_set()
638 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_dsa_tag_ethertype_set()
640 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_dsa_tag_ethertype_set()
645 pe.index = tid; in mvpp2_prs_dsa_tag_ethertype_set()
691 int tid; in mvpp2_prs_vlan_find() local
694 for (tid = MVPP2_PE_FIRST_FREE_TID; in mvpp2_prs_vlan_find()
695 tid <= MVPP2_PE_LAST_FREE_TID; tid++) { in mvpp2_prs_vlan_find()
699 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_vlan_find()
700 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) in mvpp2_prs_vlan_find()
703 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vlan_find()
722 return tid; in mvpp2_prs_vlan_find()
733 int tid_aux, tid; in mvpp2_prs_vlan_add() local
738 tid = mvpp2_prs_vlan_find(priv, tpid, ai); in mvpp2_prs_vlan_add()
740 if (tid < 0) { in mvpp2_prs_vlan_add()
742 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_LAST_FREE_TID, in mvpp2_prs_vlan_add()
744 if (tid < 0) in mvpp2_prs_vlan_add()
745 return tid; in mvpp2_prs_vlan_add()
763 if (tid <= tid_aux) in mvpp2_prs_vlan_add()
767 pe.index = tid; in mvpp2_prs_vlan_add()
790 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vlan_add()
818 int tid; in mvpp2_prs_double_vlan_find() local
821 for (tid = MVPP2_PE_FIRST_FREE_TID; in mvpp2_prs_double_vlan_find()
822 tid <= MVPP2_PE_LAST_FREE_TID; tid++) { in mvpp2_prs_double_vlan_find()
826 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_double_vlan_find()
827 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) in mvpp2_prs_double_vlan_find()
830 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_double_vlan_find()
840 return tid; in mvpp2_prs_double_vlan_find()
851 int tid_aux, tid, ai, ret = 0; in mvpp2_prs_double_vlan_add() local
856 tid = mvpp2_prs_double_vlan_find(priv, tpid1, tpid2); in mvpp2_prs_double_vlan_add()
858 if (tid < 0) { in mvpp2_prs_double_vlan_add()
860 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_double_vlan_add()
862 if (tid < 0) in mvpp2_prs_double_vlan_add()
863 return tid; in mvpp2_prs_double_vlan_add()
887 if (tid >= tid_aux) in mvpp2_prs_double_vlan_add()
892 pe.index = tid; in mvpp2_prs_double_vlan_add()
910 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_double_vlan_add()
925 int tid; in mvpp2_prs_ip4_proto() local
932 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_proto()
934 if (tid < 0) in mvpp2_prs_ip4_proto()
935 return tid; in mvpp2_prs_ip4_proto()
939 pe.index = tid; in mvpp2_prs_ip4_proto()
967 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_proto()
969 if (tid < 0) in mvpp2_prs_ip4_proto()
970 return tid; in mvpp2_prs_ip4_proto()
972 pe.index = tid; in mvpp2_prs_ip4_proto()
995 int mask, tid; in mvpp2_prs_ip4_cast() local
997 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_cast()
999 if (tid < 0) in mvpp2_prs_ip4_cast()
1000 return tid; in mvpp2_prs_ip4_cast()
1004 pe.index = tid; in mvpp2_prs_ip4_cast()
1052 int tid; in mvpp2_prs_ip6_proto() local
1058 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_proto()
1060 if (tid < 0) in mvpp2_prs_ip6_proto()
1061 return tid; in mvpp2_prs_ip6_proto()
1065 pe.index = tid; in mvpp2_prs_ip6_proto()
1092 int tid; in mvpp2_prs_ip6_cast() local
1097 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_cast()
1099 if (tid < 0) in mvpp2_prs_ip6_cast()
1100 return tid; in mvpp2_prs_ip6_cast()
1104 pe.index = tid; in mvpp2_prs_ip6_cast()
1361 int tid, ihl; in mvpp2_prs_etype_init() local
1364 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1366 if (tid < 0) in mvpp2_prs_etype_init()
1367 return tid; in mvpp2_prs_etype_init()
1371 pe.index = tid; in mvpp2_prs_etype_init()
1390 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1392 if (tid < 0) in mvpp2_prs_etype_init()
1393 return tid; in mvpp2_prs_etype_init()
1397 pe.index = tid; in mvpp2_prs_etype_init()
1420 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1422 if (tid < 0) in mvpp2_prs_etype_init()
1423 return tid; in mvpp2_prs_etype_init()
1427 pe.index = tid; in mvpp2_prs_etype_init()
1455 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1457 if (tid < 0) in mvpp2_prs_etype_init()
1458 return tid; in mvpp2_prs_etype_init()
1462 pe.index = tid; in mvpp2_prs_etype_init()
1492 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1494 if (tid < 0) in mvpp2_prs_etype_init()
1495 return tid; in mvpp2_prs_etype_init()
1499 pe.index = tid; in mvpp2_prs_etype_init()
1631 int tid, ihl; in mvpp2_prs_pppoe_init() local
1635 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1637 if (tid < 0) in mvpp2_prs_pppoe_init()
1638 return tid; in mvpp2_prs_pppoe_init()
1642 pe.index = tid; in mvpp2_prs_pppoe_init()
1672 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1674 if (tid < 0) in mvpp2_prs_pppoe_init()
1675 return tid; in mvpp2_prs_pppoe_init()
1679 pe.index = tid; in mvpp2_prs_pppoe_init()
1700 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1702 if (tid < 0) in mvpp2_prs_pppoe_init()
1703 return tid; in mvpp2_prs_pppoe_init()
1707 pe.index = tid; in mvpp2_prs_pppoe_init()
1819 int tid, err; in mvpp2_prs_ip6_init() local
1856 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_init()
1858 if (tid < 0) in mvpp2_prs_ip6_init()
1859 return tid; in mvpp2_prs_ip6_init()
1863 pe.index = tid; in mvpp2_prs_ip6_init()
1956 int tid; in mvpp2_prs_vid_range_find() local
1959 for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id); in mvpp2_prs_vid_range_find()
1960 tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) { in mvpp2_prs_vid_range_find()
1961 if (!port->priv->prs_shadow[tid].valid || in mvpp2_prs_vid_range_find()
1962 port->priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VID) in mvpp2_prs_vid_range_find()
1965 __mvpp2_prs_init_from_hw(port->priv, &pe, tid); in mvpp2_prs_vid_range_find()
1976 return tid; in mvpp2_prs_vid_range_find()
1990 int tid; in mvpp2_prs_vid_entry_add() local
1997 tid = mvpp2_prs_vid_range_find(port, vid, mask); in mvpp2_prs_vid_entry_add()
2006 if (tid < 0) { in mvpp2_prs_vid_entry_add()
2009 tid = mvpp2_prs_tcam_first_free(priv, vid_start, in mvpp2_prs_vid_entry_add()
2014 if (tid < 0) { in mvpp2_prs_vid_entry_add()
2016 return tid; in mvpp2_prs_vid_entry_add()
2020 pe.index = tid; in mvpp2_prs_vid_entry_add()
2025 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vid_entry_add()
2055 int tid; in mvpp2_prs_vid_entry_remove() local
2060 tid = mvpp2_prs_vid_range_find(port, vid, 0xfff); in mvpp2_prs_vid_entry_remove()
2061 if (tid >= 0) { in mvpp2_prs_vid_entry_remove()
2062 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_entry_remove()
2063 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_entry_remove()
2073 int tid; in mvpp2_prs_vid_remove_all() local
2077 for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id); in mvpp2_prs_vid_remove_all()
2078 tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) { in mvpp2_prs_vid_remove_all()
2079 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_vid_remove_all()
2080 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_remove_all()
2081 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_remove_all()
2091 unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id); in mvpp2_prs_vid_disable_filtering() local
2097 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_disable_filtering()
2099 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_disable_filtering()
2107 unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id); in mvpp2_prs_vid_enable_filtering() local
2112 if (priv->prs_shadow[tid].valid) in mvpp2_prs_vid_enable_filtering()
2119 pe.index = tid; in mvpp2_prs_vid_enable_filtering()
2242 int tid; in mvpp2_prs_mac_da_range_find() local
2245 for (tid = MVPP2_PE_MAC_RANGE_START; in mvpp2_prs_mac_da_range_find()
2246 tid <= MVPP2_PE_MAC_RANGE_END; tid++) { in mvpp2_prs_mac_da_range_find()
2249 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_mac_da_range_find()
2250 (priv->prs_shadow[tid].lu != MVPP2_PRS_LU_MAC) || in mvpp2_prs_mac_da_range_find()
2251 (priv->prs_shadow[tid].udf != udf_type)) in mvpp2_prs_mac_da_range_find()
2254 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_da_range_find()
2259 return tid; in mvpp2_prs_mac_da_range_find()
2273 int tid; in __mvpp2_prs_mac_da_accept() local
2278 tid = mvpp2_prs_mac_da_range_find(priv, BIT(port->id), da, mask, in __mvpp2_prs_mac_da_accept()
2282 if (tid < 0) { in __mvpp2_prs_mac_da_accept()
2288 tid = mvpp2_prs_tcam_first_free(priv, in __mvpp2_prs_mac_da_accept()
2291 if (tid < 0) in __mvpp2_prs_mac_da_accept()
2292 return tid; in __mvpp2_prs_mac_da_accept()
2294 pe.index = tid; in __mvpp2_prs_mac_da_accept()
2299 __mvpp2_prs_init_from_hw(priv, &pe, tid); in __mvpp2_prs_mac_da_accept()
2392 int index, tid; in mvpp2_prs_mac_del_all() local
2396 for (tid = MVPP2_PE_MAC_RANGE_START; in mvpp2_prs_mac_del_all()
2397 tid <= MVPP2_PE_MAC_RANGE_END; tid++) { in mvpp2_prs_mac_del_all()
2400 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_mac_del_all()
2401 (priv->prs_shadow[tid].lu != MVPP2_PRS_LU_MAC) || in mvpp2_prs_mac_del_all()
2402 (priv->prs_shadow[tid].udf != MVPP2_PRS_UDF_MAC_DEF)) in mvpp2_prs_mac_del_all()
2405 __mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_del_all()
2492 int tid, i; in mvpp2_prs_add_flow() local
2498 tid = mvpp2_prs_tcam_first_free(priv, in mvpp2_prs_add_flow()
2501 if (tid < 0) { in mvpp2_prs_add_flow()
2503 return tid; in mvpp2_prs_add_flow()
2506 pe.index = tid; in mvpp2_prs_add_flow()
2532 int tid; in mvpp2_prs_def_flow() local
2538 tid = mvpp2_prs_flow_find(port->priv, port->id); in mvpp2_prs_def_flow()
2541 if (tid < 0) { in mvpp2_prs_def_flow()
2543 tid = mvpp2_prs_tcam_first_free(port->priv, in mvpp2_prs_def_flow()
2546 if (tid < 0) { in mvpp2_prs_def_flow()
2548 return tid; in mvpp2_prs_def_flow()
2551 pe.index = tid; in mvpp2_prs_def_flow()
2560 __mvpp2_prs_init_from_hw(port->priv, &pe, tid); in mvpp2_prs_def_flow()