Lines Matching refs:rcd

280 fbnic_rx_csum(u64 rcd, struct sk_buff *skb, struct fbnic_ring *rcq,  in fbnic_rx_csum()  argument
290 if (FIELD_GET(FBNIC_RCD_META_L4_CSUM_UNNECESSARY, rcd)) { in fbnic_rx_csum()
293 u16 csum = FIELD_GET(FBNIC_RCD_META_L2_CSUM_MASK, rcd); in fbnic_rx_csum()
859 static void fbnic_pkt_prepare(struct fbnic_napi_vector *nv, u64 rcd, in fbnic_pkt_prepare() argument
863 unsigned int hdr_pg_idx = FIELD_GET(FBNIC_RCD_AL_BUFF_PAGE_MASK, rcd); in fbnic_pkt_prepare()
864 unsigned int hdr_pg_off = FIELD_GET(FBNIC_RCD_AL_BUFF_OFF_MASK, rcd); in fbnic_pkt_prepare()
866 unsigned int len = FIELD_GET(FBNIC_RCD_AL_BUFF_LEN_MASK, rcd); in fbnic_pkt_prepare()
874 hdr_pg_end = FIELD_GET(FBNIC_RCD_AL_PAGE_FIN, rcd) ? in fbnic_pkt_prepare()
881 hdr_pg_start += (FBNIC_RCD_AL_BUFF_FRAG_MASK & rcd) * in fbnic_pkt_prepare()
900 static void fbnic_add_rx_frag(struct fbnic_napi_vector *nv, u64 rcd, in fbnic_add_rx_frag() argument
904 unsigned int pg_idx = FIELD_GET(FBNIC_RCD_AL_BUFF_PAGE_MASK, rcd); in fbnic_add_rx_frag()
905 unsigned int pg_off = FIELD_GET(FBNIC_RCD_AL_BUFF_OFF_MASK, rcd); in fbnic_add_rx_frag()
906 unsigned int len = FIELD_GET(FBNIC_RCD_AL_BUFF_LEN_MASK, rcd); in fbnic_add_rx_frag()
911 truesize = FIELD_GET(FBNIC_RCD_AL_PAGE_FIN, rcd) ? in fbnic_add_rx_frag()
914 pg_off += (FBNIC_RCD_AL_BUFF_FRAG_MASK & rcd) * in fbnic_add_rx_frag()
1002 static enum pkt_hash_types fbnic_skb_hash_type(u64 rcd) in fbnic_skb_hash_type() argument
1004 return (FBNIC_RCD_META_L4_TYPE_MASK & rcd) ? PKT_HASH_TYPE_L4 : in fbnic_skb_hash_type()
1005 (FBNIC_RCD_META_L3_TYPE_MASK & rcd) ? PKT_HASH_TYPE_L3 : in fbnic_skb_hash_type()
1009 static void fbnic_rx_tstamp(struct fbnic_napi_vector *nv, u64 rcd, in fbnic_rx_tstamp() argument
1015 if (!FIELD_GET(FBNIC_RCD_OPT_META_TS, rcd)) in fbnic_rx_tstamp()
1019 ts = FIELD_GET(FBNIC_RCD_OPT_META_TS_MASK, rcd); in fbnic_rx_tstamp()
1027 u64 rcd, struct sk_buff *skb, in fbnic_populate_skb_fields() argument
1034 fbnic_rx_csum(rcd, skb, rcq, csum_cmpl, csum_none); in fbnic_populate_skb_fields()
1038 FIELD_GET(FBNIC_RCD_META_RSS_HASH_MASK, rcd), in fbnic_populate_skb_fields()
1039 fbnic_skb_hash_type(rcd)); in fbnic_populate_skb_fields()
1044 static bool fbnic_rcd_metadata_err(u64 rcd) in fbnic_rcd_metadata_err() argument
1046 return !!(FBNIC_RCD_META_UNCORRECTABLE_ERR_MASK & rcd); in fbnic_rcd_metadata_err()
1067 u64 rcd; in fbnic_clean_rcq() local
1074 rcd = le64_to_cpu(*raw_rcd); in fbnic_clean_rcq()
1076 switch (FIELD_GET(FBNIC_RCD_TYPE_MASK, rcd)) { in fbnic_clean_rcq()
1078 head0 = FIELD_GET(FBNIC_RCD_AL_BUFF_PAGE_MASK, rcd); in fbnic_clean_rcq()
1079 fbnic_pkt_prepare(nv, rcd, pkt, qt); in fbnic_clean_rcq()
1083 head1 = FIELD_GET(FBNIC_RCD_AL_BUFF_PAGE_MASK, rcd); in fbnic_clean_rcq()
1084 fbnic_add_rx_frag(nv, rcd, pkt, qt); in fbnic_clean_rcq()
1089 if (FIELD_GET(FBNIC_RCD_OPT_META_TYPE_MASK, rcd)) in fbnic_clean_rcq()
1092 fbnic_rx_tstamp(nv, rcd, pkt); in fbnic_clean_rcq()
1097 if (likely(!fbnic_rcd_metadata_err(rcd))) in fbnic_clean_rcq()
1102 fbnic_populate_skb_fields(nv, rcd, skb, qt, in fbnic_clean_rcq()