Lines Matching defs:rx_desc

157 static __le32 wx_test_staterr(union wx_rx_desc *rx_desc,
160 return rx_desc->wb.upper.status_error & cpu_to_le32(stat_err_bits);
181 union wx_rx_desc *rx_desc,
189 size = le16_to_cpu(rx_desc->wb.upper.length);
204 if (!wx_test_staterr(rx_desc, WX_RXD_STAT_EOP)) {
238 union wx_rx_desc *rx_desc)
240 unsigned int size = le16_to_cpu(rx_desc->wb.upper.length);
278 if (!wx_test_staterr(rx_desc, WX_RXD_STAT_EOP))
332 union wx_rx_desc *rx_desc;
339 rx_desc = WX_RX_DESC(rx_ring, i);
353 rx_desc->read.pkt_addr =
356 rx_desc++;
360 rx_desc = WX_RX_DESC(rx_ring, 0);
366 rx_desc->wb.upper.status_error = 0;
399 * @rx_desc: Rx descriptor for current buffer
408 union wx_rx_desc *rx_desc,
420 if (likely(wx_test_staterr(rx_desc, WX_RXD_STAT_EOP)))
459 * @rx_desc: pointer to the EOP Rx descriptor
475 union wx_rx_desc *rx_desc,
482 unlikely(wx_test_staterr(rx_desc, WX_RXD_ERR_RXE) &&
500 union wx_rx_desc *rx_desc,
508 rss_type = le16_to_cpu(rx_desc->wb.lower.lo_dword.hs_rss.pkt_info) &
514 skb_set_hash(skb, le32_to_cpu(rx_desc->wb.lower.hi_dword.rss),
522 * @rx_desc: current Rx descriptor being processed
526 union wx_rx_desc *rx_desc,
529 struct wx_dec_ptype dptype = wx_decode_ptype(WX_RXD_PKTTYPE(rx_desc));
537 if ((wx_test_staterr(rx_desc, WX_RXD_STAT_IPCS) &&
538 wx_test_staterr(rx_desc, WX_RXD_ERR_IPE)) ||
539 (wx_test_staterr(rx_desc, WX_RXD_STAT_OUTERIPCS) &&
540 wx_test_staterr(rx_desc, WX_RXD_ERR_OUTERIPER))) {
546 if (!wx_test_staterr(rx_desc, WX_RXD_STAT_L4CS))
550 if (dptype.prot != WX_DEC_PTYPE_PROT_SCTP && WX_RXD_IPV6EX(rx_desc))
554 if (wx_test_staterr(rx_desc, WX_RXD_ERR_TCPE)) {
571 static void wx_rx_vlan(struct wx_ring *ring, union wx_rx_desc *rx_desc,
579 wx_test_staterr(rx_desc, WX_RXD_STAT_VP)) {
580 idx = (le16_to_cpu(rx_desc->wb.lower.lo_dword.hs_rss.pkt_info) &
584 le16_to_cpu(rx_desc->wb.upper.vlan));
591 * @rx_desc: pointer to the EOP Rx descriptor
599 union wx_rx_desc *rx_desc,
602 wx_rx_hash(rx_ring, rx_desc, skb);
603 wx_rx_checksum(rx_ring, rx_desc, skb);
604 wx_rx_vlan(rx_ring, rx_desc, skb);
631 union wx_rx_desc *rx_desc;
641 rx_desc = WX_RX_DESC(rx_ring, rx_ring->next_to_clean);
642 if (!wx_test_staterr(rx_desc, WX_RXD_STAT_DD))
646 * any other fields out of the rx_desc until we know the
651 rx_buffer = wx_get_rx_buffer(rx_ring, rx_desc, &skb, &rx_buffer_pgcnt);
654 skb = wx_build_skb(rx_ring, rx_buffer, rx_desc);
666 if (wx_is_non_eop(rx_ring, rx_desc, skb))
670 if (wx_cleanup_headers(rx_ring, rx_desc, skb))
677 wx_process_skb_fields(rx_ring, rx_desc, skb);