Lines Matching refs:desc_data

22 				   struct xlgmac_desc_data *desc_data)  in xlgmac_unmap_desc_data()  argument
24 if (desc_data->skb_dma) { in xlgmac_unmap_desc_data()
25 if (desc_data->mapped_as_page) { in xlgmac_unmap_desc_data()
26 dma_unmap_page(pdata->dev, desc_data->skb_dma, in xlgmac_unmap_desc_data()
27 desc_data->skb_dma_len, DMA_TO_DEVICE); in xlgmac_unmap_desc_data()
29 dma_unmap_single(pdata->dev, desc_data->skb_dma, in xlgmac_unmap_desc_data()
30 desc_data->skb_dma_len, DMA_TO_DEVICE); in xlgmac_unmap_desc_data()
32 desc_data->skb_dma = 0; in xlgmac_unmap_desc_data()
33 desc_data->skb_dma_len = 0; in xlgmac_unmap_desc_data()
36 if (desc_data->skb) { in xlgmac_unmap_desc_data()
37 dev_kfree_skb_any(desc_data->skb); in xlgmac_unmap_desc_data()
38 desc_data->skb = NULL; in xlgmac_unmap_desc_data()
41 if (desc_data->rx.hdr.pa.pages) in xlgmac_unmap_desc_data()
42 put_page(desc_data->rx.hdr.pa.pages); in xlgmac_unmap_desc_data()
44 if (desc_data->rx.hdr.pa_unmap.pages) { in xlgmac_unmap_desc_data()
45 dma_unmap_page(pdata->dev, desc_data->rx.hdr.pa_unmap.pages_dma, in xlgmac_unmap_desc_data()
46 desc_data->rx.hdr.pa_unmap.pages_len, in xlgmac_unmap_desc_data()
48 put_page(desc_data->rx.hdr.pa_unmap.pages); in xlgmac_unmap_desc_data()
51 if (desc_data->rx.buf.pa.pages) in xlgmac_unmap_desc_data()
52 put_page(desc_data->rx.buf.pa.pages); in xlgmac_unmap_desc_data()
54 if (desc_data->rx.buf.pa_unmap.pages) { in xlgmac_unmap_desc_data()
55 dma_unmap_page(pdata->dev, desc_data->rx.buf.pa_unmap.pages_dma, in xlgmac_unmap_desc_data()
56 desc_data->rx.buf.pa_unmap.pages_len, in xlgmac_unmap_desc_data()
58 put_page(desc_data->rx.buf.pa_unmap.pages); in xlgmac_unmap_desc_data()
61 memset(&desc_data->tx, 0, sizeof(desc_data->tx)); in xlgmac_unmap_desc_data()
62 memset(&desc_data->rx, 0, sizeof(desc_data->rx)); in xlgmac_unmap_desc_data()
64 desc_data->mapped_as_page = 0; in xlgmac_unmap_desc_data()
66 if (desc_data->state_saved) { in xlgmac_unmap_desc_data()
67 desc_data->state_saved = 0; in xlgmac_unmap_desc_data()
68 desc_data->state.skb = NULL; in xlgmac_unmap_desc_data()
69 desc_data->state.len = 0; in xlgmac_unmap_desc_data()
70 desc_data->state.error = 0; in xlgmac_unmap_desc_data()
77 struct xlgmac_desc_data *desc_data; in xlgmac_free_ring() local
85 desc_data = XLGMAC_GET_DESC_DATA(ring, i); in xlgmac_free_ring()
86 xlgmac_unmap_desc_data(pdata, desc_data); in xlgmac_free_ring()
391 struct xlgmac_desc_data *desc_data) in xlgmac_map_rx_buffer() argument
411 xlgmac_set_buffer_data(&desc_data->rx.hdr, &ring->rx_hdr_pa, in xlgmac_map_rx_buffer()
415 xlgmac_set_buffer_data(&desc_data->rx.buf, &ring->rx_buf_pa, in xlgmac_map_rx_buffer()
424 struct xlgmac_desc_data *desc_data; in xlgmac_tx_desc_init() local
441 desc_data = XLGMAC_GET_DESC_DATA(ring, j); in xlgmac_tx_desc_init()
443 desc_data->dma_desc = dma_desc; in xlgmac_tx_desc_init()
444 desc_data->dma_desc_addr = dma_desc_addr; in xlgmac_tx_desc_init()
461 struct xlgmac_desc_data *desc_data; in xlgmac_rx_desc_init() local
478 desc_data = XLGMAC_GET_DESC_DATA(ring, j); in xlgmac_rx_desc_init()
480 desc_data->dma_desc = dma_desc; in xlgmac_rx_desc_init()
481 desc_data->dma_desc_addr = dma_desc_addr; in xlgmac_rx_desc_init()
483 if (xlgmac_map_rx_buffer(pdata, ring, desc_data)) in xlgmac_rx_desc_init()
503 struct xlgmac_desc_data *desc_data; in xlgmac_map_tx_skb() local
530 desc_data = XLGMAC_GET_DESC_DATA(ring, cur_index); in xlgmac_map_tx_skb()
540 desc_data->skb_dma = skb_dma; in xlgmac_map_tx_skb()
541 desc_data->skb_dma_len = pkt_info->header_len; in xlgmac_map_tx_skb()
551 desc_data = XLGMAC_GET_DESC_DATA(ring, cur_index); in xlgmac_map_tx_skb()
564 desc_data->skb_dma = skb_dma; in xlgmac_map_tx_skb()
565 desc_data->skb_dma_len = len; in xlgmac_map_tx_skb()
576 desc_data = XLGMAC_GET_DESC_DATA(ring, cur_index); in xlgmac_map_tx_skb()
597 desc_data->skb_dma = skb_dma; in xlgmac_map_tx_skb()
598 desc_data->skb_dma_len = len; in xlgmac_map_tx_skb()
599 desc_data->mapped_as_page = 1; in xlgmac_map_tx_skb()
610 desc_data = XLGMAC_GET_DESC_DATA(ring, cur_index); in xlgmac_map_tx_skb()
618 desc_data = XLGMAC_GET_DESC_DATA(ring, cur_index - 1); in xlgmac_map_tx_skb()
619 desc_data->skb = skb; in xlgmac_map_tx_skb()
628 desc_data = XLGMAC_GET_DESC_DATA(ring, start_index++); in xlgmac_map_tx_skb()
629 xlgmac_unmap_desc_data(pdata, desc_data); in xlgmac_map_tx_skb()