Lines Matching refs:tid

47 			   int tid)  in mvpp2_prs_init_from_hw()  argument
51 if (tid > MVPP2_PRS_TCAM_SRAM_SIZE - 1) in mvpp2_prs_init_from_hw()
55 pe->index = tid; in mvpp2_prs_init_from_hw()
367 int tid; in mvpp2_prs_flow_find() local
370 for (tid = MVPP2_PRS_TCAM_SRAM_SIZE - 1; tid >= 0; tid--) { in mvpp2_prs_flow_find()
373 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_flow_find()
374 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_FLOWS) in mvpp2_prs_flow_find()
377 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_flow_find()
382 return tid; in mvpp2_prs_flow_find()
392 int tid; in mvpp2_prs_tcam_first_free() local
400 for (tid = start; tid <= end; tid++) { in mvpp2_prs_tcam_first_free()
401 if (!priv->prs_shadow[tid].valid) in mvpp2_prs_tcam_first_free()
402 return tid; in mvpp2_prs_tcam_first_free()
449 int tid; in mvpp2_prs_mac_promisc_set() local
453 tid = MVPP2_PE_MAC_UC_PROMISCUOUS; in mvpp2_prs_mac_promisc_set()
457 tid = MVPP2_PE_MAC_MC_PROMISCUOUS; in mvpp2_prs_mac_promisc_set()
462 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_mac_promisc_set()
463 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_promisc_set()
467 pe.index = tid; in mvpp2_prs_mac_promisc_set()
501 int tid, shift; in mvpp2_prs_dsa_tag_set() local
504 tid = tagged ? MVPP2_PE_EDSA_TAGGED : MVPP2_PE_EDSA_UNTAGGED; in mvpp2_prs_dsa_tag_set()
507 tid = tagged ? MVPP2_PE_DSA_TAGGED : MVPP2_PE_DSA_UNTAGGED; in mvpp2_prs_dsa_tag_set()
511 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_dsa_tag_set()
513 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_dsa_tag_set()
518 pe.index = tid; in mvpp2_prs_dsa_tag_set()
568 int tid, shift, port_mask; in mvpp2_prs_dsa_tag_ethertype_set() local
571 tid = tagged ? MVPP2_PE_ETYPE_EDSA_TAGGED : in mvpp2_prs_dsa_tag_ethertype_set()
576 tid = tagged ? MVPP2_PE_ETYPE_DSA_TAGGED : in mvpp2_prs_dsa_tag_ethertype_set()
582 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_dsa_tag_ethertype_set()
584 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_dsa_tag_ethertype_set()
589 pe.index = tid; in mvpp2_prs_dsa_tag_ethertype_set()
635 int tid; in mvpp2_prs_vlan_find() local
638 for (tid = MVPP2_PE_FIRST_FREE_TID; in mvpp2_prs_vlan_find()
639 tid <= MVPP2_PE_LAST_FREE_TID; tid++) { in mvpp2_prs_vlan_find()
643 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_vlan_find()
644 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) in mvpp2_prs_vlan_find()
647 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vlan_find()
666 return tid; in mvpp2_prs_vlan_find()
677 int tid_aux, tid; in mvpp2_prs_vlan_add() local
682 tid = mvpp2_prs_vlan_find(priv, tpid, ai); in mvpp2_prs_vlan_add()
684 if (tid < 0) { in mvpp2_prs_vlan_add()
686 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_LAST_FREE_TID, in mvpp2_prs_vlan_add()
688 if (tid < 0) in mvpp2_prs_vlan_add()
689 return tid; in mvpp2_prs_vlan_add()
707 if (tid <= tid_aux) in mvpp2_prs_vlan_add()
711 pe.index = tid; in mvpp2_prs_vlan_add()
734 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vlan_add()
762 int tid; in mvpp2_prs_double_vlan_find() local
765 for (tid = MVPP2_PE_FIRST_FREE_TID; in mvpp2_prs_double_vlan_find()
766 tid <= MVPP2_PE_LAST_FREE_TID; tid++) { in mvpp2_prs_double_vlan_find()
770 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_double_vlan_find()
771 priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) in mvpp2_prs_double_vlan_find()
774 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_double_vlan_find()
784 return tid; in mvpp2_prs_double_vlan_find()
795 int tid_aux, tid, ai, ret = 0; in mvpp2_prs_double_vlan_add() local
800 tid = mvpp2_prs_double_vlan_find(priv, tpid1, tpid2); in mvpp2_prs_double_vlan_add()
802 if (tid < 0) { in mvpp2_prs_double_vlan_add()
804 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_double_vlan_add()
806 if (tid < 0) in mvpp2_prs_double_vlan_add()
807 return tid; in mvpp2_prs_double_vlan_add()
831 if (tid >= tid_aux) in mvpp2_prs_double_vlan_add()
836 pe.index = tid; in mvpp2_prs_double_vlan_add()
854 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_double_vlan_add()
869 int tid; in mvpp2_prs_ip4_proto() local
876 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_proto()
878 if (tid < 0) in mvpp2_prs_ip4_proto()
879 return tid; in mvpp2_prs_ip4_proto()
883 pe.index = tid; in mvpp2_prs_ip4_proto()
911 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_proto()
913 if (tid < 0) in mvpp2_prs_ip4_proto()
914 return tid; in mvpp2_prs_ip4_proto()
916 pe.index = tid; in mvpp2_prs_ip4_proto()
939 int mask, tid; in mvpp2_prs_ip4_cast() local
941 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip4_cast()
943 if (tid < 0) in mvpp2_prs_ip4_cast()
944 return tid; in mvpp2_prs_ip4_cast()
948 pe.index = tid; in mvpp2_prs_ip4_cast()
991 int tid; in mvpp2_prs_ip6_proto() local
997 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_proto()
999 if (tid < 0) in mvpp2_prs_ip6_proto()
1000 return tid; in mvpp2_prs_ip6_proto()
1004 pe.index = tid; in mvpp2_prs_ip6_proto()
1031 int tid; in mvpp2_prs_ip6_cast() local
1036 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_cast()
1038 if (tid < 0) in mvpp2_prs_ip6_cast()
1039 return tid; in mvpp2_prs_ip6_cast()
1043 pe.index = tid; in mvpp2_prs_ip6_cast()
1284 int tid; in mvpp2_prs_etype_init() local
1287 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1289 if (tid < 0) in mvpp2_prs_etype_init()
1290 return tid; in mvpp2_prs_etype_init()
1294 pe.index = tid; in mvpp2_prs_etype_init()
1313 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1315 if (tid < 0) in mvpp2_prs_etype_init()
1316 return tid; in mvpp2_prs_etype_init()
1320 pe.index = tid; in mvpp2_prs_etype_init()
1343 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1345 if (tid < 0) in mvpp2_prs_etype_init()
1346 return tid; in mvpp2_prs_etype_init()
1350 pe.index = tid; in mvpp2_prs_etype_init()
1377 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1379 if (tid < 0) in mvpp2_prs_etype_init()
1380 return tid; in mvpp2_prs_etype_init()
1384 pe.index = tid; in mvpp2_prs_etype_init()
1412 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1414 if (tid < 0) in mvpp2_prs_etype_init()
1415 return tid; in mvpp2_prs_etype_init()
1417 pe.index = tid; in mvpp2_prs_etype_init()
1438 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_etype_init()
1440 if (tid < 0) in mvpp2_prs_etype_init()
1441 return tid; in mvpp2_prs_etype_init()
1445 pe.index = tid; in mvpp2_prs_etype_init()
1583 int tid; in mvpp2_prs_pppoe_init() local
1586 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1588 if (tid < 0) in mvpp2_prs_pppoe_init()
1589 return tid; in mvpp2_prs_pppoe_init()
1593 pe.index = tid; in mvpp2_prs_pppoe_init()
1613 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1615 if (tid < 0) in mvpp2_prs_pppoe_init()
1616 return tid; in mvpp2_prs_pppoe_init()
1618 pe.index = tid; in mvpp2_prs_pppoe_init()
1636 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1638 if (tid < 0) in mvpp2_prs_pppoe_init()
1639 return tid; in mvpp2_prs_pppoe_init()
1643 pe.index = tid; in mvpp2_prs_pppoe_init()
1663 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_pppoe_init()
1665 if (tid < 0) in mvpp2_prs_pppoe_init()
1666 return tid; in mvpp2_prs_pppoe_init()
1670 pe.index = tid; in mvpp2_prs_pppoe_init()
1777 int tid, err; in mvpp2_prs_ip6_init() local
1814 tid = mvpp2_prs_tcam_first_free(priv, MVPP2_PE_FIRST_FREE_TID, in mvpp2_prs_ip6_init()
1816 if (tid < 0) in mvpp2_prs_ip6_init()
1817 return tid; in mvpp2_prs_ip6_init()
1821 pe.index = tid; in mvpp2_prs_ip6_init()
1914 int tid; in mvpp2_prs_vid_range_find() local
1917 for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id); in mvpp2_prs_vid_range_find()
1918 tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) { in mvpp2_prs_vid_range_find()
1919 if (!port->priv->prs_shadow[tid].valid || in mvpp2_prs_vid_range_find()
1920 port->priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VID) in mvpp2_prs_vid_range_find()
1923 mvpp2_prs_init_from_hw(port->priv, &pe, tid); in mvpp2_prs_vid_range_find()
1934 return tid; in mvpp2_prs_vid_range_find()
1948 int tid; in mvpp2_prs_vid_entry_add() local
1953 tid = mvpp2_prs_vid_range_find(port, vid, mask); in mvpp2_prs_vid_entry_add()
1962 if (tid < 0) { in mvpp2_prs_vid_entry_add()
1965 tid = mvpp2_prs_tcam_first_free(priv, vid_start, in mvpp2_prs_vid_entry_add()
1970 if (tid < 0) in mvpp2_prs_vid_entry_add()
1971 return tid; in mvpp2_prs_vid_entry_add()
1974 pe.index = tid; in mvpp2_prs_vid_entry_add()
1979 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_vid_entry_add()
2008 int tid; in mvpp2_prs_vid_entry_remove() local
2011 tid = mvpp2_prs_vid_range_find(port, vid, 0xfff); in mvpp2_prs_vid_entry_remove()
2014 if (tid < 0) in mvpp2_prs_vid_entry_remove()
2017 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_entry_remove()
2018 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_entry_remove()
2025 int tid; in mvpp2_prs_vid_remove_all() local
2027 for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id); in mvpp2_prs_vid_remove_all()
2028 tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) { in mvpp2_prs_vid_remove_all()
2029 if (priv->prs_shadow[tid].valid) { in mvpp2_prs_vid_remove_all()
2030 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_remove_all()
2031 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_remove_all()
2039 unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id); in mvpp2_prs_vid_disable_filtering() local
2043 mvpp2_prs_hw_inv(priv, tid); in mvpp2_prs_vid_disable_filtering()
2045 priv->prs_shadow[tid].valid = false; in mvpp2_prs_vid_disable_filtering()
2051 unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id); in mvpp2_prs_vid_enable_filtering() local
2056 if (priv->prs_shadow[tid].valid) in mvpp2_prs_vid_enable_filtering()
2061 pe.index = tid; in mvpp2_prs_vid_enable_filtering()
2187 int tid; in mvpp2_prs_mac_da_range_find() local
2190 for (tid = MVPP2_PE_MAC_RANGE_START; in mvpp2_prs_mac_da_range_find()
2191 tid <= MVPP2_PE_MAC_RANGE_END; tid++) { in mvpp2_prs_mac_da_range_find()
2194 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_mac_da_range_find()
2195 (priv->prs_shadow[tid].lu != MVPP2_PRS_LU_MAC) || in mvpp2_prs_mac_da_range_find()
2196 (priv->prs_shadow[tid].udf != udf_type)) in mvpp2_prs_mac_da_range_find()
2199 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_da_range_find()
2204 return tid; in mvpp2_prs_mac_da_range_find()
2217 int tid; in mvpp2_prs_mac_da_accept() local
2222 tid = mvpp2_prs_mac_da_range_find(priv, BIT(port->id), da, mask, in mvpp2_prs_mac_da_accept()
2226 if (tid < 0) { in mvpp2_prs_mac_da_accept()
2232 tid = mvpp2_prs_tcam_first_free(priv, in mvpp2_prs_mac_da_accept()
2235 if (tid < 0) in mvpp2_prs_mac_da_accept()
2236 return tid; in mvpp2_prs_mac_da_accept()
2238 pe.index = tid; in mvpp2_prs_mac_da_accept()
2243 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_da_accept()
2325 int index, tid; in mvpp2_prs_mac_del_all() local
2327 for (tid = MVPP2_PE_MAC_RANGE_START; in mvpp2_prs_mac_del_all()
2328 tid <= MVPP2_PE_MAC_RANGE_END; tid++) { in mvpp2_prs_mac_del_all()
2331 if (!priv->prs_shadow[tid].valid || in mvpp2_prs_mac_del_all()
2332 (priv->prs_shadow[tid].lu != MVPP2_PRS_LU_MAC) || in mvpp2_prs_mac_del_all()
2333 (priv->prs_shadow[tid].udf != MVPP2_PRS_UDF_MAC_DEF)) in mvpp2_prs_mac_del_all()
2336 mvpp2_prs_init_from_hw(priv, &pe, tid); in mvpp2_prs_mac_del_all()
2415 int tid, i; in mvpp2_prs_add_flow() local
2419 tid = mvpp2_prs_tcam_first_free(priv, in mvpp2_prs_add_flow()
2422 if (tid < 0) in mvpp2_prs_add_flow()
2423 return tid; in mvpp2_prs_add_flow()
2425 pe.index = tid; in mvpp2_prs_add_flow()
2450 int tid; in mvpp2_prs_def_flow() local
2454 tid = mvpp2_prs_flow_find(port->priv, port->id); in mvpp2_prs_def_flow()
2457 if (tid < 0) { in mvpp2_prs_def_flow()
2459 tid = mvpp2_prs_tcam_first_free(port->priv, in mvpp2_prs_def_flow()
2462 if (tid < 0) in mvpp2_prs_def_flow()
2463 return tid; in mvpp2_prs_def_flow()
2465 pe.index = tid; in mvpp2_prs_def_flow()
2474 mvpp2_prs_init_from_hw(port->priv, &pe, tid); in mvpp2_prs_def_flow()