Lines Matching refs:pdata
122 static void xgbe_free_ring(struct xgbe_prv_data *pdata, in xgbe_free_ring() argument
134 xgbe_unmap_rdata(pdata, rdata); in xgbe_free_ring()
142 dma_unmap_page(pdata->dev, ring->rx_hdr_pa.pages_dma, in xgbe_free_ring()
153 dma_unmap_page(pdata->dev, ring->rx_buf_pa.pages_dma, in xgbe_free_ring()
164 dma_free_coherent(pdata->dev, in xgbe_free_ring()
172 static void xgbe_free_ring_resources(struct xgbe_prv_data *pdata) in xgbe_free_ring_resources() argument
179 channel = pdata->channel; in xgbe_free_ring_resources()
180 for (i = 0; i < pdata->channel_count; i++, channel++) { in xgbe_free_ring_resources()
181 xgbe_free_ring(pdata, channel->tx_ring); in xgbe_free_ring_resources()
182 xgbe_free_ring(pdata, channel->rx_ring); in xgbe_free_ring_resources()
188 static int xgbe_init_ring(struct xgbe_prv_data *pdata, in xgbe_init_ring() argument
198 ring->rdesc = dma_alloc_coherent(pdata->dev, in xgbe_init_ring()
219 static int xgbe_alloc_ring_resources(struct xgbe_prv_data *pdata) in xgbe_alloc_ring_resources() argument
227 channel = pdata->channel; in xgbe_alloc_ring_resources()
228 for (i = 0; i < pdata->channel_count; i++, channel++) { in xgbe_alloc_ring_resources()
230 ret = xgbe_init_ring(pdata, channel->tx_ring, in xgbe_alloc_ring_resources()
231 pdata->tx_desc_count); in xgbe_alloc_ring_resources()
233 netdev_alert(pdata->netdev, in xgbe_alloc_ring_resources()
239 ret = xgbe_init_ring(pdata, channel->rx_ring, in xgbe_alloc_ring_resources()
240 pdata->rx_desc_count); in xgbe_alloc_ring_resources()
242 netdev_alert(pdata->netdev, in xgbe_alloc_ring_resources()
253 xgbe_free_ring_resources(pdata); in xgbe_alloc_ring_resources()
258 static int xgbe_alloc_pages(struct xgbe_prv_data *pdata, in xgbe_alloc_pages() argument
278 pages_dma = dma_map_page(pdata->dev, pages, 0, in xgbe_alloc_pages()
280 ret = dma_mapping_error(pdata->dev, pages_dma); in xgbe_alloc_pages()
317 static int xgbe_map_rx_buffer(struct xgbe_prv_data *pdata, in xgbe_map_rx_buffer() argument
324 ret = xgbe_alloc_pages(pdata, &ring->rx_hdr_pa, GFP_ATOMIC, 0); in xgbe_map_rx_buffer()
331 ret = xgbe_alloc_pages(pdata, &ring->rx_buf_pa, GFP_ATOMIC, in xgbe_map_rx_buffer()
343 pdata->rx_buf_size); in xgbe_map_rx_buffer()
348 static void xgbe_wrapper_tx_descriptor_init(struct xgbe_prv_data *pdata) in xgbe_wrapper_tx_descriptor_init() argument
350 struct xgbe_hw_if *hw_if = &pdata->hw_if; in xgbe_wrapper_tx_descriptor_init()
360 channel = pdata->channel; in xgbe_wrapper_tx_descriptor_init()
361 for (i = 0; i < pdata->channel_count; i++, channel++) { in xgbe_wrapper_tx_descriptor_init()
389 static void xgbe_wrapper_rx_descriptor_init(struct xgbe_prv_data *pdata) in xgbe_wrapper_rx_descriptor_init() argument
391 struct xgbe_hw_if *hw_if = &pdata->hw_if; in xgbe_wrapper_rx_descriptor_init()
401 channel = pdata->channel; in xgbe_wrapper_rx_descriptor_init()
402 for (i = 0; i < pdata->channel_count; i++, channel++) { in xgbe_wrapper_rx_descriptor_init()
416 if (xgbe_map_rx_buffer(pdata, ring, rdata)) in xgbe_wrapper_rx_descriptor_init()
432 static void xgbe_unmap_rdata(struct xgbe_prv_data *pdata, in xgbe_unmap_rdata() argument
437 dma_unmap_page(pdata->dev, rdata->skb_dma, in xgbe_unmap_rdata()
440 dma_unmap_single(pdata->dev, rdata->skb_dma, in xgbe_unmap_rdata()
456 dma_unmap_page(pdata->dev, rdata->rx.hdr.pa_unmap.pages_dma, in xgbe_unmap_rdata()
466 dma_unmap_page(pdata->dev, rdata->rx.buf.pa_unmap.pages_dma, in xgbe_unmap_rdata()
489 struct xgbe_prv_data *pdata = channel->pdata; in xgbe_map_tx_skb() local
524 skb_dma = dma_map_single(pdata->dev, skb->data, in xgbe_map_tx_skb()
526 if (dma_mapping_error(pdata->dev, skb_dma)) { in xgbe_map_tx_skb()
527 netdev_alert(pdata->netdev, "dma_map_single failed\n"); in xgbe_map_tx_skb()
545 skb_dma = dma_map_single(pdata->dev, skb->data + offset, len, in xgbe_map_tx_skb()
547 if (dma_mapping_error(pdata->dev, skb_dma)) { in xgbe_map_tx_skb()
548 netdev_alert(pdata->netdev, "dma_map_single failed\n"); in xgbe_map_tx_skb()
575 skb_dma = skb_frag_dma_map(pdata->dev, frag, offset, in xgbe_map_tx_skb()
577 if (dma_mapping_error(pdata->dev, skb_dma)) { in xgbe_map_tx_skb()
578 netdev_alert(pdata->netdev, in xgbe_map_tx_skb()
615 xgbe_unmap_rdata(pdata, rdata); in xgbe_map_tx_skb()