aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/marvell
diff options
context:
space:
mode:
authorIan Campbell <Ian.Campbell@citrix.com>2011-09-21 17:53:18 -0400
committerDavid S. Miller <davem@davemloft.net>2011-09-22 16:04:15 -0400
commit950a5a4fdbfbea90feda70bab3178eafecc64d0b (patch)
tree87523f83904e16c7f51824936694b3687bdcdad6 /drivers/net/ethernet/marvell
parent516733c2bbb76404faa201e1595361be6ab58119 (diff)
sky2: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/marvell')
-rw-r--r--drivers/net/ethernet/marvell/sky2.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 3ff0a1292933..ef2dc021d09c 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -1226,10 +1226,9 @@ static int sky2_rx_map_skb(struct pci_dev *pdev, struct rx_ring_info *re,
1226 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 1226 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
1227 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 1227 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
1228 1228
1229 re->frag_addr[i] = pci_map_page(pdev, frag->page, 1229 re->frag_addr[i] = skb_frag_dma_map(&pdev->dev, frag, 0,
1230 frag->page_offset, 1230 frag->size,
1231 frag->size, 1231 PCI_DMA_FROMDEVICE);
1232 PCI_DMA_FROMDEVICE);
1233 1232
1234 if (pci_dma_mapping_error(pdev, re->frag_addr[i])) 1233 if (pci_dma_mapping_error(pdev, re->frag_addr[i]))
1235 goto map_page_error; 1234 goto map_page_error;
@@ -1910,8 +1909,8 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
1910 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 1909 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
1911 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 1910 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
1912 1911
1913 mapping = pci_map_page(hw->pdev, frag->page, frag->page_offset, 1912 mapping = skb_frag_dma_map(&hw->pdev->dev, frag, 0,
1914 frag->size, PCI_DMA_TODEVICE); 1913 frag->size, PCI_DMA_TODEVICE);
1915 1914
1916 if (pci_dma_mapping_error(hw->pdev, mapping)) 1915 if (pci_dma_mapping_error(hw->pdev, mapping))
1917 goto mapping_unwind; 1916 goto mapping_unwind;
@@ -2449,7 +2448,7 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space,
2449 2448
2450 if (length == 0) { 2449 if (length == 0) {
2451 /* don't need this page */ 2450 /* don't need this page */
2452 __free_page(frag->page); 2451 __skb_frag_unref(frag);
2453 --skb_shinfo(skb)->nr_frags; 2452 --skb_shinfo(skb)->nr_frags;
2454 } else { 2453 } else {
2455 size = min(length, (unsigned) PAGE_SIZE); 2454 size = min(length, (unsigned) PAGE_SIZE);