diff options
author | Ian Campbell <Ian.Campbell@citrix.com> | 2011-10-04 20:28:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-05 17:36:01 -0400 |
commit | 5dc3e196ea21e833128d51eb5b788a070fea1f28 (patch) | |
tree | 03b6cc36eed14c8b7e3b93a6129f69229cb411b7 /drivers/net/ethernet/myricom/myri10ge/myri10ge.c | |
parent | 6caaf90be1ca9dee045133f43a87fc564149ff91 (diff) |
myri10ge: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jon Mason <mason@myri.com>
Cc: Andrew Gallatin <gallatin@myri.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/myricom/myri10ge/myri10ge.c')
-rw-r--r-- | drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c index 81c17002374b..8bf60348844d 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c | |||
@@ -1342,7 +1342,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, int len, __wsum csum, | |||
1342 | /* Fill skb_frag_struct(s) with data from our receive */ | 1342 | /* Fill skb_frag_struct(s) with data from our receive */ |
1343 | for (i = 0, remainder = len; remainder > 0; i++) { | 1343 | for (i = 0, remainder = len; remainder > 0; i++) { |
1344 | myri10ge_unmap_rx_page(pdev, &rx->info[idx], bytes); | 1344 | myri10ge_unmap_rx_page(pdev, &rx->info[idx], bytes); |
1345 | rx_frags[i].page = rx->info[idx].page; | 1345 | __skb_frag_set_page(&rx_frags[i], rx->info[idx].page); |
1346 | rx_frags[i].page_offset = rx->info[idx].page_offset; | 1346 | rx_frags[i].page_offset = rx->info[idx].page_offset; |
1347 | if (remainder < MYRI10GE_ALLOC_SIZE) | 1347 | if (remainder < MYRI10GE_ALLOC_SIZE) |
1348 | rx_frags[i].size = remainder; | 1348 | rx_frags[i].size = remainder; |
@@ -1375,7 +1375,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, int len, __wsum csum, | |||
1375 | ss->stats.rx_dropped++; | 1375 | ss->stats.rx_dropped++; |
1376 | do { | 1376 | do { |
1377 | i--; | 1377 | i--; |
1378 | put_page(rx_frags[i].page); | 1378 | __skb_frag_unref(&rx_frags[i]); |
1379 | } while (i != 0); | 1379 | } while (i != 0); |
1380 | return 0; | 1380 | return 0; |
1381 | } | 1381 | } |
@@ -1383,7 +1383,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, int len, __wsum csum, | |||
1383 | /* Attach the pages to the skb, and trim off any padding */ | 1383 | /* Attach the pages to the skb, and trim off any padding */ |
1384 | myri10ge_rx_skb_build(skb, va, rx_frags, len, hlen); | 1384 | myri10ge_rx_skb_build(skb, va, rx_frags, len, hlen); |
1385 | if (skb_shinfo(skb)->frags[0].size <= 0) { | 1385 | if (skb_shinfo(skb)->frags[0].size <= 0) { |
1386 | put_page(skb_shinfo(skb)->frags[0].page); | 1386 | skb_frag_unref(skb, 0); |
1387 | skb_shinfo(skb)->nr_frags = 0; | 1387 | skb_shinfo(skb)->nr_frags = 0; |
1388 | } | 1388 | } |
1389 | skb->protocol = eth_type_trans(skb, dev); | 1389 | skb->protocol = eth_type_trans(skb, dev); |
@@ -2284,7 +2284,7 @@ myri10ge_get_frag_header(struct skb_frag_struct *frag, void **mac_hdr, | |||
2284 | struct ethhdr *eh; | 2284 | struct ethhdr *eh; |
2285 | struct vlan_ethhdr *veh; | 2285 | struct vlan_ethhdr *veh; |
2286 | struct iphdr *iph; | 2286 | struct iphdr *iph; |
2287 | u8 *va = page_address(frag->page) + frag->page_offset; | 2287 | u8 *va = skb_frag_address(frag); |
2288 | unsigned long ll_hlen; | 2288 | unsigned long ll_hlen; |
2289 | /* passed opaque through lro_receive_frags() */ | 2289 | /* passed opaque through lro_receive_frags() */ |
2290 | __wsum csum = (__force __wsum) (unsigned long)priv; | 2290 | __wsum csum = (__force __wsum) (unsigned long)priv; |
@@ -2927,8 +2927,8 @@ again: | |||
2927 | frag = &skb_shinfo(skb)->frags[frag_idx]; | 2927 | frag = &skb_shinfo(skb)->frags[frag_idx]; |
2928 | frag_idx++; | 2928 | frag_idx++; |
2929 | len = frag->size; | 2929 | len = frag->size; |
2930 | bus = pci_map_page(mgp->pdev, frag->page, frag->page_offset, | 2930 | bus = skb_frag_dma_map(&mgp->pdev->dev, frag, 0, len, |
2931 | len, PCI_DMA_TODEVICE); | 2931 | PCI_DMA_TODEVICE); |
2932 | dma_unmap_addr_set(&tx->info[idx], bus, bus); | 2932 | dma_unmap_addr_set(&tx->info[idx], bus, bus); |
2933 | dma_unmap_len_set(&tx->info[idx], len, len); | 2933 | dma_unmap_len_set(&tx->info[idx], len, len); |
2934 | } | 2934 | } |