Lines Matching defs:ifh

226 				 __be32 *ifh,
253 lan_wr((__force u32)ifh[i], lan966x, QS_INJ_WR(grp));
308 static void lan966x_ifh_set(u8 *ifh, size_t val, size_t pos, size_t length)
319 ifh[p] |= v << ((pos + i) % 8);
320 ifh[p - 1] |= v >> (8 - (pos + i) % 8);
326 void lan966x_ifh_set_bypass(void *ifh, u64 bypass)
328 lan966x_ifh_set(ifh, bypass, IFH_POS_BYPASS, IFH_WID_BYPASS);
331 void lan966x_ifh_set_port(void *ifh, u64 port)
333 lan966x_ifh_set(ifh, port, IFH_POS_DSTS, IFH_WID_DSTS);
336 static void lan966x_ifh_set_qos_class(void *ifh, u64 qos)
338 lan966x_ifh_set(ifh, qos, IFH_POS_QOS_CLASS, IFH_WID_QOS_CLASS);
341 static void lan966x_ifh_set_ipv(void *ifh, u64 ipv)
343 lan966x_ifh_set(ifh, ipv, IFH_POS_IPV, IFH_WID_IPV);
346 static void lan966x_ifh_set_vid(void *ifh, u64 vid)
348 lan966x_ifh_set(ifh, vid, IFH_POS_TCI, IFH_WID_TCI);
351 static void lan966x_ifh_set_rew_op(void *ifh, u64 rew_op)
353 lan966x_ifh_set(ifh, rew_op, IFH_POS_REW_CMD, IFH_WID_REW_CMD);
356 static void lan966x_ifh_set_timestamp(void *ifh, u64 timestamp)
358 lan966x_ifh_set(ifh, timestamp, IFH_POS_TIMESTAMP, IFH_WID_TIMESTAMP);
366 __be32 ifh[IFH_LEN];
369 memset(ifh, 0x0, sizeof(__be32) * IFH_LEN);
371 lan966x_ifh_set_bypass(ifh, 1);
372 lan966x_ifh_set_port(ifh, BIT_ULL(port->chip_port));
373 lan966x_ifh_set_qos_class(ifh, skb->priority >= 7 ? 0x7 : skb->priority);
374 lan966x_ifh_set_ipv(ifh, skb->priority >= 7 ? 0x7 : skb->priority);
375 lan966x_ifh_set_vid(ifh, skb_vlan_tag_get(skb));
382 lan966x_ifh_set_rew_op(ifh, LAN966X_SKB_CB(skb)->rew_op);
383 lan966x_ifh_set_timestamp(ifh, LAN966X_SKB_CB(skb)->ts_id);
388 err = lan966x_fdma_xmit(skb, ifh, dev);
390 err = lan966x_port_ifh_xmit(skb, ifh, dev);
605 static u64 lan966x_ifh_get(u8 *ifh, size_t pos, size_t length)
615 v = ifh[IFH_LEN_BYTES - (j / 8) - 1];
624 void lan966x_ifh_get_src_port(void *ifh, u64 *src_port)
626 *src_port = lan966x_ifh_get(ifh, IFH_POS_SRCPORT, IFH_WID_SRCPORT);
629 static void lan966x_ifh_get_len(void *ifh, u64 *len)
631 *len = lan966x_ifh_get(ifh, IFH_POS_LEN, IFH_WID_LEN);
634 void lan966x_ifh_get_timestamp(void *ifh, u64 *timestamp)
636 *timestamp = lan966x_ifh_get(ifh, IFH_POS_TIMESTAMP, IFH_WID_TIMESTAMP);
652 u32 ifh[IFH_LEN];
657 err = lan966x_rx_frame_word(lan966x, grp, &ifh[i]);
664 lan966x_ifh_get_src_port(ifh, &src_port);
665 lan966x_ifh_get_len(ifh, &len);
666 lan966x_ifh_get_timestamp(ifh, &timestamp);