Lines Matching refs:rdata
125 struct xgbe_ring_data *rdata;
131 if (ring->rdata) {
133 rdata = XGBE_GET_DESC_DATA(ring, i);
134 xgbe_unmap_rdata(pdata, rdata);
137 kfree(ring->rdata);
138 ring->rdata = NULL;
235 ring->rdata = xgbe_alloc_node(size, ring->node);
236 if (!ring->rdata)
240 "rdesc=%p, rdesc_dma=%pad, rdata=%p, node=%d\n",
241 ring->rdesc, &ring->rdesc_dma, ring->rdata, ring->node);
358 struct xgbe_ring_data *rdata)
376 xgbe_set_buffer_data(&rdata->rx.hdr, &ring->rx_hdr_pa,
380 xgbe_set_buffer_data(&rdata->rx.buf, &ring->rx_buf_pa,
391 struct xgbe_ring_data *rdata;
408 rdata = XGBE_GET_DESC_DATA(ring, j);
410 rdata->rdesc = rdesc;
411 rdata->rdesc_dma = rdesc_dma;
433 struct xgbe_ring_data *rdata;
449 rdata = XGBE_GET_DESC_DATA(ring, j);
451 rdata->rdesc = rdesc;
452 rdata->rdesc_dma = rdesc_dma;
454 if (xgbe_map_rx_buffer(pdata, ring, rdata))
471 struct xgbe_ring_data *rdata)
473 if (rdata->skb_dma) {
474 if (rdata->mapped_as_page) {
475 dma_unmap_page(pdata->dev, rdata->skb_dma,
476 rdata->skb_dma_len, DMA_TO_DEVICE);
478 dma_unmap_single(pdata->dev, rdata->skb_dma,
479 rdata->skb_dma_len, DMA_TO_DEVICE);
481 rdata->skb_dma = 0;
482 rdata->skb_dma_len = 0;
485 if (rdata->skb) {
486 dev_kfree_skb_any(rdata->skb);
487 rdata->skb = NULL;
490 if (rdata->rx.hdr.pa.pages)
491 put_page(rdata->rx.hdr.pa.pages);
493 if (rdata->rx.hdr.pa_unmap.pages) {
494 dma_unmap_page(pdata->dev, rdata->rx.hdr.pa_unmap.pages_dma,
495 rdata->rx.hdr.pa_unmap.pages_len,
497 put_page(rdata->rx.hdr.pa_unmap.pages);
500 if (rdata->rx.buf.pa.pages)
501 put_page(rdata->rx.buf.pa.pages);
503 if (rdata->rx.buf.pa_unmap.pages) {
504 dma_unmap_page(pdata->dev, rdata->rx.buf.pa_unmap.pages_dma,
505 rdata->rx.buf.pa_unmap.pages_len,
507 put_page(rdata->rx.buf.pa_unmap.pages);
510 memset(&rdata->tx, 0, sizeof(rdata->tx));
511 memset(&rdata->rx, 0, sizeof(rdata->rx));
513 rdata->mapped_as_page = 0;
515 if (rdata->state_saved) {
516 rdata->state_saved = 0;
517 rdata->state.skb = NULL;
518 rdata->state.len = 0;
519 rdata->state.error = 0;
527 struct xgbe_ring_data *rdata;
554 rdata = XGBE_GET_DESC_DATA(ring, cur_index);
564 rdata->skb_dma = skb_dma;
565 rdata->skb_dma_len = packet->header_len;
575 rdata = XGBE_GET_DESC_DATA(ring, cur_index);
588 rdata->skb_dma = skb_dma;
589 rdata->skb_dma_len = len;
600 rdata = XGBE_GET_DESC_DATA(ring, cur_index);
621 rdata->skb_dma = skb_dma;
622 rdata->skb_dma_len = len;
623 rdata->mapped_as_page = 1;
634 rdata = XGBE_GET_DESC_DATA(ring, cur_index);
639 * that has been mapped so rdata is always advanced past the last
642 rdata = XGBE_GET_DESC_DATA(ring, cur_index - 1);
643 rdata->skb = skb;
654 rdata = XGBE_GET_DESC_DATA(ring, start_index++);
655 xgbe_unmap_rdata(pdata, rdata);