aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/sfc/tx.c')
-rw-r--r--drivers/net/ethernet/sfc/tx.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/net/ethernet/sfc/tx.c b/drivers/net/ethernet/sfc/tx.c
index 84eb99e0f8d..f2467a1b51b 100644
--- a/drivers/net/ethernet/sfc/tx.c
+++ b/drivers/net/ethernet/sfc/tx.c
@@ -137,8 +137,6 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
137 struct pci_dev *pci_dev = efx->pci_dev; 137 struct pci_dev *pci_dev = efx->pci_dev;
138 struct efx_tx_buffer *buffer; 138 struct efx_tx_buffer *buffer;
139 skb_frag_t *fragment; 139 skb_frag_t *fragment;
140 struct page *page;
141 int page_offset;
142 unsigned int len, unmap_len = 0, fill_level, insert_ptr; 140 unsigned int len, unmap_len = 0, fill_level, insert_ptr;
143 dma_addr_t dma_addr, unmap_addr = 0; 141 dma_addr_t dma_addr, unmap_addr = 0;
144 unsigned int dma_len; 142 unsigned int dma_len;
@@ -241,13 +239,11 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
241 break; 239 break;
242 fragment = &skb_shinfo(skb)->frags[i]; 240 fragment = &skb_shinfo(skb)->frags[i];
243 len = fragment->size; 241 len = fragment->size;
244 page = fragment->page;
245 page_offset = fragment->page_offset;
246 i++; 242 i++;
247 /* Map for DMA */ 243 /* Map for DMA */
248 unmap_single = false; 244 unmap_single = false;
249 dma_addr = pci_map_page(pci_dev, page, page_offset, len, 245 dma_addr = skb_frag_dma_map(&pci_dev->dev, fragment, 0, len,
250 PCI_DMA_TODEVICE); 246 PCI_DMA_TODEVICE);
251 } 247 }
252 248
253 /* Transfer ownership of the skb to the final buffer */ 249 /* Transfer ownership of the skb to the final buffer */
@@ -929,9 +925,8 @@ static void tso_start(struct tso_state *st, const struct sk_buff *skb)
929static int tso_get_fragment(struct tso_state *st, struct efx_nic *efx, 925static int tso_get_fragment(struct tso_state *st, struct efx_nic *efx,
930 skb_frag_t *frag) 926 skb_frag_t *frag)
931{ 927{
932 st->unmap_addr = pci_map_page(efx->pci_dev, frag->page, 928 st->unmap_addr = skb_frag_dma_map(&efx->pci_dev->dev, frag, 0,
933 frag->page_offset, frag->size, 929 frag->size, PCI_DMA_TODEVICE);
934 PCI_DMA_TODEVICE);
935 if (likely(!pci_dma_mapping_error(efx->pci_dev, st->unmap_addr))) { 930 if (likely(!pci_dma_mapping_error(efx->pci_dev, st->unmap_addr))) {
936 st->unmap_single = false; 931 st->unmap_single = false;
937 st->unmap_len = frag->size; 932 st->unmap_len = frag->size;