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