cassini: convert to SKB paged frag API.
authorIan Campbell <Ian.Campbell@citrix.com>
Mon, 29 Aug 2011 23:18:25 +0000 (23:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Aug 2011 21:58:01 +0000 (17:58 -0400)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sun/cassini.c

index 1776a37b7aed755652311545111e831bcebd828d..f07a72150c63c17c07eeb89b48ebf2d4388c216e 100644 (file)
@@ -2048,8 +2048,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
                skb->truesize += hlen - swivel;
                skb->len      += hlen - swivel;
 
-               get_page(page->buffer);
-               frag->page = page->buffer;
+               __skb_frag_set_page(frag, page->buffer);
+               __skb_frag_ref(frag);
                frag->page_offset = off;
                frag->size = hlen - swivel;
 
@@ -2072,8 +2072,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
                        skb->len      += hlen;
                        frag++;
 
-                       get_page(page->buffer);
-                       frag->page = page->buffer;
+                       __skb_frag_set_page(frag, page->buffer);
+                       __skb_frag_ref(frag);
                        frag->page_offset = 0;
                        frag->size = hlen;
                        RX_USED_ADD(page, hlen + cp->crc_size);
@@ -2830,9 +2830,8 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
                skb_frag_t *fragp = &skb_shinfo(skb)->frags[frag];
 
                len = fragp->size;
-               mapping = pci_map_page(cp->pdev, fragp->page,
-                                      fragp->page_offset, len,
-                                      PCI_DMA_TODEVICE);
+               mapping = skb_frag_dma_map(&cp->pdev->dev, fragp, 0, len,
+                                          PCI_DMA_TODEVICE);
 
                tabort = cas_calc_tabort(cp, fragp->page_offset, len);
                if (unlikely(tabort)) {
@@ -2843,7 +2842,7 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
                                      ctrl, 0);
                        entry = TX_DESC_NEXT(ring, entry);
 
-                       addr = cas_page_map(fragp->page);
+                       addr = cas_page_map(skb_frag_page(fragp));
                        memcpy(tx_tiny_buf(cp, ring, entry),
                               addr + fragp->page_offset + len - tabort,
                               tabort);