Lines Matching full:ib1
146 switch (mtk_get_ib1_pkt_type(eth, e->ib1)) { in mtk_ppe_hash_entry()
184 int type = mtk_get_ib1_pkt_type(eth, entry->ib1); in mtk_foe_entry_l2()
198 int type = mtk_get_ib1_pkt_type(eth, entry->ib1); in mtk_foe_entry_ib2()
223 entry->ib1 = val; in mtk_foe_entry_prepare()
234 entry->ib1 = val; in mtk_foe_entry_prepare()
299 int type = mtk_get_ib1_pkt_type(eth, entry->ib1); in mtk_foe_entry_set_ipv4_tuple()
339 int type = mtk_get_ib1_pkt_type(eth, entry->ib1); in mtk_foe_entry_set_ipv6_tuple()
377 if (!(entry->ib1 & mtk_get_ib1_vlan_layer_mask(eth))) in mtk_foe_entry_set_dsa()
378 entry->ib1 |= mtk_prep_ib1_vlan_layer(eth, 1); in mtk_foe_entry_set_dsa()
382 entry->ib1 &= ~mtk_get_ib1_vlan_tag_mask(eth); in mtk_foe_entry_set_dsa()
392 switch (mtk_get_ib1_vlan_layer(eth, entry->ib1)) { in mtk_foe_entry_set_vlan()
394 entry->ib1 |= mtk_get_ib1_vlan_tag_mask(eth) | in mtk_foe_entry_set_vlan()
399 if (!(entry->ib1 & mtk_get_ib1_vlan_tag_mask(eth))) { in mtk_foe_entry_set_vlan()
404 entry->ib1 += mtk_prep_ib1_vlan_layer(eth, 1); in mtk_foe_entry_set_vlan()
417 if (!(entry->ib1 & mtk_get_ib1_vlan_layer_mask(eth)) || in mtk_foe_entry_set_pppoe()
418 (entry->ib1 & mtk_get_ib1_vlan_tag_mask(eth))) in mtk_foe_entry_set_pppoe()
421 entry->ib1 |= mtk_get_ib1_ppoe_mask(eth); in mtk_foe_entry_set_pppoe()
486 if ((data->ib1 ^ entry->data.ib1) & MTK_FOE_IB1_UDP) in mtk_flow_entry_match()
489 type = mtk_get_ib1_pkt_type(eth, entry->data.ib1); in mtk_flow_entry_match()
518 hwe->ib1 &= ~MTK_FOE_IB1_STATE; in __mtk_foe_entry_clear()
519 hwe->ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_INVALID); in __mtk_foe_entry_clear()
540 static int __mtk_foe_entry_idle_time(struct mtk_ppe *ppe, u32 ib1) in __mtk_foe_entry_idle_time() argument
544 u16 timestamp = ib1 & ib1_ts_mask; in __mtk_foe_entry_idle_time()
561 idle = __mtk_foe_entry_idle_time(ppe, entry->data.ib1); in mtk_flow_entry_update_l2()
564 u32 ib1; in mtk_flow_entry_update_l2() local
567 ib1 = READ_ONCE(hwe->ib1); in mtk_flow_entry_update_l2()
569 if (FIELD_GET(MTK_FOE_IB1_STATE, ib1) != MTK_FOE_STATE_BIND) { in mtk_flow_entry_update_l2()
575 cur_idle = __mtk_foe_entry_idle_time(ppe, ib1); in mtk_flow_entry_update_l2()
580 entry->data.ib1 &= ~ib1_ts_mask; in mtk_flow_entry_update_l2()
581 entry->data.ib1 |= hwe->ib1 & ib1_ts_mask; in mtk_flow_entry_update_l2()
608 entry->data.ib1 = foe.ib1; in mtk_flow_entry_update()
624 entry->ib1 &= ~MTK_FOE_IB1_BIND_TIMESTAMP_V2; in __mtk_foe_entry_commit()
625 entry->ib1 |= FIELD_PREP(MTK_FOE_IB1_BIND_TIMESTAMP_V2, in __mtk_foe_entry_commit()
628 entry->ib1 &= ~MTK_FOE_IB1_BIND_TIMESTAMP; in __mtk_foe_entry_commit()
629 entry->ib1 |= FIELD_PREP(MTK_FOE_IB1_BIND_TIMESTAMP, in __mtk_foe_entry_commit()
634 memcpy(&hwe->data, &entry->data, eth->soc->foe_entry_size - sizeof(hwe->ib1)); in __mtk_foe_entry_commit()
636 hwe->ib1 = entry->ib1; in __mtk_foe_entry_commit()
680 int type = mtk_get_ib1_pkt_type(ppe->eth, entry->data.ib1); in mtk_foe_entry_commit()
719 foe.ib1 &= ib1_mask; in mtk_foe_entry_commit_subflow()
720 foe.ib1 |= entry->data.ib1 & ~ib1_mask; in mtk_foe_entry_commit_subflow()
725 type = mtk_get_ib1_pkt_type(ppe->eth, foe.ib1); in mtk_foe_entry_commit_subflow()
750 if (FIELD_GET(MTK_FOE_IB1_STATE, hwe->ib1) == MTK_FOE_STATE_BIND) in __mtk_ppe_check_skb()
755 if (unlikely(FIELD_GET(MTK_FOE_IB1_STATE, hwe->ib1) == in __mtk_ppe_check_skb()
819 return __mtk_foe_entry_idle_time(ppe, entry->data.ib1); in mtk_foe_entry_idle_time()
969 hwe->ib1 |= MTK_FOE_IB1_STATIC; in mtk_ppe_init_foe_table()
1085 hwe->ib1 = FIELD_PREP(MTK_FOE_IB1_STATE, in mtk_ppe_stop()