Lines Matching defs:rcd

290 #   define vmxnet3_getRxComp(dstrcd, rcd, tmp) do { \
292 vmxnet3_RxCompToCPU((rcd), (tmp)); \
305 # define vmxnet3_getRxComp(dstrcd, rcd, tmp) (dstrcd) = (rcd)
659 vmxnet3_append_frag(struct sk_buff *skb, struct Vmxnet3_RxCompDesc *rcd,
668 skb_frag_size_set(frag, rcd->len);
669 skb->data_len += rcd->len;
1234 if (!gdesc->rcd.cnc && adapter->netdev->features & NETIF_F_RXCSUM) {
1235 if (gdesc->rcd.v4 &&
1243 WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) &&
1246 WARN_ON_ONCE(gdesc->rcd.frg &&
1249 } else if (gdesc->rcd.v6 && (le32_to_cpu(gdesc->dword[3]) &
1256 WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) &&
1259 WARN_ON_ONCE(gdesc->rcd.frg &&
1263 if (gdesc->rcd.csum) {
1264 skb->csum = htons(gdesc->rcd.csum);
1277 vmxnet3_rx_error(struct vmxnet3_rx_queue *rq, struct Vmxnet3_RxCompDesc *rcd,
1281 if (!rcd->fcs)
1316 BUG_ON(gdesc->rcd.tcp == 0);
1329 if (gdesc->rcd.v4) {
1336 } else if (gdesc->rcd.v6) {
1368 struct Vmxnet3_RxCompDesc *rcd;
1375 vmxnet3_getRxComp(rcd, &rq->comp_ring.base[rq->comp_ring.next2proc].rcd,
1377 while (rcd->gen == rq->comp_ring.gen) {
1393 /* Prevent any rcd field from being (speculatively) read before
1394 * rcd->gen is read.
1398 BUG_ON(rcd->rqID != rq->qid && rcd->rqID != rq->qid2 &&
1399 rcd->rqID != rq->dataRingQid);
1400 idx = rcd->rxdIdx;
1401 ring_idx = VMXNET3_GET_RING_IDX(adapter, rcd->rqID);
1410 if (unlikely(rcd->eop && rcd->err)) {
1411 vmxnet3_rx_error(rq, rcd, ctx, adapter);
1415 if (rcd->sop) { /* first buf of the pkt */
1420 (rcd->rqID != rq->qid &&
1421 rcd->rqID != rq->dataRingQid));
1426 if (unlikely(rcd->len == 0)) {
1428 BUG_ON(!(rcd->sop && rcd->eop));
1439 VMXNET3_RX_DATA_RING(adapter, rcd->rqID);
1440 len = rxDataRingUsed ? rcd->len : rbi->len;
1457 BUG_ON(rcd->len > rq->data_ring.desc_size);
1460 sz = rcd->rxdIdx * rq->data_ring.desc_size;
1462 &rq->data_ring.base[sz], rcd->len);
1497 if (rcd->rssType != VMXNET3_RCD_RSS_TYPE_NONE &&
1500 le32_to_cpu(rcd->rssHash),
1503 skb_put(ctx->skb, rcd->len);
1506 rcd->type == VMXNET3_CDTYPE_RXCOMP_LRO) {
1510 rcdlro = (struct Vmxnet3_RxCompDescExt *)rcd;
1511 gdesc = (union Vmxnet3_GenericDesc *)rcd;
1536 if (rcd->len) {
1568 vmxnet3_append_frag(ctx->skb, rcd, rbi);
1580 if (rcd->eop) {
1585 (union Vmxnet3_GenericDesc *)rcd);
1587 if ((!rcd->tcp && !encap_lro) ||
1592 skb_shinfo(skb)->gso_type = rcd->v4 ?
1600 (union Vmxnet3_GenericDesc *)rcd);
1605 rcd->v4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
1616 if (unlikely(rcd->ts))
1617 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), rcd->tci);
1659 vmxnet3_getRxComp(rcd,
1660 &rq->comp_ring.base[rq->comp_ring.next2proc].rcd, &rxComp);