|
@@ -137,8 +137,6 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
|
|
|
struct pci_dev *pci_dev = efx->pci_dev;
|
|
|
struct efx_tx_buffer *buffer;
|
|
|
skb_frag_t *fragment;
|
|
|
- struct page *page;
|
|
|
- int page_offset;
|
|
|
unsigned int len, unmap_len = 0, fill_level, insert_ptr;
|
|
|
dma_addr_t dma_addr, unmap_addr = 0;
|
|
|
unsigned int dma_len;
|
|
@@ -241,13 +239,11 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
|
|
|
break;
|
|
|
fragment = &skb_shinfo(skb)->frags[i];
|
|
|
len = fragment->size;
|
|
|
- page = fragment->page;
|
|
|
- page_offset = fragment->page_offset;
|
|
|
i++;
|
|
|
/* Map for DMA */
|
|
|
unmap_single = false;
|
|
|
- dma_addr = pci_map_page(pci_dev, page, page_offset, len,
|
|
|
- PCI_DMA_TODEVICE);
|
|
|
+ dma_addr = skb_frag_dma_map(&pci_dev->dev, fragment, 0, len,
|
|
|
+ PCI_DMA_TODEVICE);
|
|
|
}
|
|
|
|
|
|
/* 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)
|
|
|
static int tso_get_fragment(struct tso_state *st, struct efx_nic *efx,
|
|
|
skb_frag_t *frag)
|
|
|
{
|
|
|
- st->unmap_addr = pci_map_page(efx->pci_dev, frag->page,
|
|
|
- frag->page_offset, frag->size,
|
|
|
- PCI_DMA_TODEVICE);
|
|
|
+ st->unmap_addr = skb_frag_dma_map(&efx->pci_dev->dev, frag, 0,
|
|
|
+ frag->size, PCI_DMA_TODEVICE);
|
|
|
if (likely(!pci_dma_mapping_error(efx->pci_dev, st->unmap_addr))) {
|
|
|
st->unmap_single = false;
|
|
|
st->unmap_len = frag->size;
|