Lines Matching refs:rcd
343 # define vmxnet3_getRxComp(dstrcd, rcd, tmp) do { \ argument
345 vmxnet3_RxCompToCPU((rcd), (tmp)); \
358 # define vmxnet3_getRxComp(dstrcd, rcd, tmp) (dstrcd) = (rcd) argument
767 vmxnet3_append_frag(struct sk_buff *skb, struct Vmxnet3_RxCompDesc *rcd, in vmxnet3_append_frag() argument
774 skb_frag_fill_page_desc(frag, rbi->page, 0, rcd->len); in vmxnet3_append_frag()
775 skb->data_len += rcd->len; in vmxnet3_append_frag()
1439 if (!gdesc->rcd.cnc && adapter->netdev->features & NETIF_F_RXCSUM) { in vmxnet3_rx_csum()
1440 if (gdesc->rcd.v4 && in vmxnet3_rx_csum()
1448 WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && in vmxnet3_rx_csum()
1451 WARN_ON_ONCE(gdesc->rcd.frg && in vmxnet3_rx_csum()
1454 } else if (gdesc->rcd.v6 && (le32_to_cpu(gdesc->dword[3]) & in vmxnet3_rx_csum()
1461 WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && in vmxnet3_rx_csum()
1464 WARN_ON_ONCE(gdesc->rcd.frg && in vmxnet3_rx_csum()
1468 if (gdesc->rcd.csum) { in vmxnet3_rx_csum()
1469 skb->csum = htons(gdesc->rcd.csum); in vmxnet3_rx_csum()
1482 vmxnet3_rx_error(struct vmxnet3_rx_queue *rq, struct Vmxnet3_RxCompDesc *rcd, in vmxnet3_rx_error() argument
1486 if (!rcd->fcs) in vmxnet3_rx_error()
1521 BUG_ON(gdesc->rcd.tcp == 0); in vmxnet3_get_hdr_len()
1534 if (gdesc->rcd.v4) { in vmxnet3_get_hdr_len()
1541 } else if (gdesc->rcd.v6) { in vmxnet3_get_hdr_len()
1573 struct Vmxnet3_RxCompDesc *rcd; in vmxnet3_rq_rx_complete() local
1583 vmxnet3_getRxComp(rcd, &rq->comp_ring.base[rq->comp_ring.next2proc].rcd, in vmxnet3_rq_rx_complete()
1585 while (rcd->gen == rq->comp_ring.gen) { in vmxnet3_rq_rx_complete()
1606 BUG_ON(rcd->rqID != rq->qid && rcd->rqID != rq->qid2 && in vmxnet3_rq_rx_complete()
1607 rcd->rqID != rq->dataRingQid); in vmxnet3_rq_rx_complete()
1608 idx = rcd->rxdIdx; in vmxnet3_rq_rx_complete()
1609 ring_idx = VMXNET3_GET_RING_IDX(adapter, rcd->rqID); in vmxnet3_rq_rx_complete()
1618 if (unlikely(rcd->eop && rcd->err)) { in vmxnet3_rq_rx_complete()
1619 vmxnet3_rx_error(rq, rcd, ctx, adapter); in vmxnet3_rq_rx_complete()
1623 if (rcd->sop && rcd->eop && vmxnet3_xdp_enabled(adapter)) { in vmxnet3_rq_rx_complete()
1627 if (VMXNET3_RX_DATA_RING(adapter, rcd->rqID)) { in vmxnet3_rq_rx_complete()
1635 act = vmxnet3_process_xdp(adapter, rq, rcd, rbi, rxd, in vmxnet3_rq_rx_complete()
1648 if (rcd->sop) { /* first buf of the pkt */ in vmxnet3_rq_rx_complete()
1653 (rcd->rqID != rq->qid && in vmxnet3_rq_rx_complete()
1654 rcd->rqID != rq->dataRingQid)); in vmxnet3_rq_rx_complete()
1660 if (unlikely(rcd->len == 0)) { in vmxnet3_rq_rx_complete()
1662 BUG_ON(!(rcd->sop && rcd->eop)); in vmxnet3_rq_rx_complete()
1672 if (rq->rx_ts_desc_size != 0 && rcd->ext2) { in vmxnet3_rq_rx_complete()
1682 VMXNET3_RX_DATA_RING(adapter, rcd->rqID); in vmxnet3_rq_rx_complete()
1683 len = rxDataRingUsed ? rcd->len : rbi->len; in vmxnet3_rq_rx_complete()
1690 sz = rcd->rxdIdx * rq->data_ring.desc_size; in vmxnet3_rq_rx_complete()
1693 rcd->len, in vmxnet3_rq_rx_complete()
1719 BUG_ON(rcd->len > rq->data_ring.desc_size); in vmxnet3_rq_rx_complete()
1722 sz = rcd->rxdIdx * rq->data_ring.desc_size; in vmxnet3_rq_rx_complete()
1724 &rq->data_ring.base[sz], rcd->len); in vmxnet3_rq_rx_complete()
1759 skb_put(ctx->skb, rcd->len); in vmxnet3_rq_rx_complete()
1762 rcd->type == VMXNET3_CDTYPE_RXCOMP_LRO) { in vmxnet3_rq_rx_complete()
1766 rcdlro = (struct Vmxnet3_RxCompDescExt *)rcd; in vmxnet3_rq_rx_complete()
1767 gdesc = (union Vmxnet3_GenericDesc *)rcd; in vmxnet3_rq_rx_complete()
1792 if (rcd->len) { in vmxnet3_rq_rx_complete()
1824 vmxnet3_append_frag(ctx->skb, rcd, rbi); in vmxnet3_rq_rx_complete()
1837 if (rcd->eop) { in vmxnet3_rq_rx_complete()
1842 if (rcd->rssType != VMXNET3_RCD_RSS_TYPE_NONE && in vmxnet3_rq_rx_complete()
1846 switch (rcd->rssType) { in vmxnet3_rq_rx_complete()
1862 le32_to_cpu(rcd->rssHash), in vmxnet3_rq_rx_complete()
1867 (union Vmxnet3_GenericDesc *)rcd); in vmxnet3_rq_rx_complete()
1869 if ((!rcd->tcp && !encap_lro) || in vmxnet3_rq_rx_complete()
1874 skb_shinfo(skb)->gso_type = rcd->v4 ? in vmxnet3_rq_rx_complete()
1882 (union Vmxnet3_GenericDesc *)rcd); in vmxnet3_rq_rx_complete()
1887 rcd->v4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6; in vmxnet3_rq_rx_complete()
1898 if (unlikely(rcd->ts)) in vmxnet3_rq_rx_complete()
1899 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), rcd->tci); in vmxnet3_rq_rx_complete()
1969 vmxnet3_getRxComp(rcd, in vmxnet3_rq_rx_complete()
1970 &rq->comp_ring.base[rq->comp_ring.next2proc].rcd, &rxComp); in vmxnet3_rq_rx_complete()