diff options
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4vf/sge.c')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c index cffb328c46c3..c2d456d90c00 100644 --- a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c +++ b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c | |||
@@ -296,8 +296,8 @@ static int map_skb(struct device *dev, const struct sk_buff *skb, | |||
296 | si = skb_shinfo(skb); | 296 | si = skb_shinfo(skb); |
297 | end = &si->frags[si->nr_frags]; | 297 | end = &si->frags[si->nr_frags]; |
298 | for (fp = si->frags; fp < end; fp++) { | 298 | for (fp = si->frags; fp < end; fp++) { |
299 | *++addr = dma_map_page(dev, fp->page, fp->page_offset, fp->size, | 299 | *++addr = dma_map_page(dev, fp->page, fp->page_offset, |
300 | DMA_TO_DEVICE); | 300 | skb_frag_size(fp), DMA_TO_DEVICE); |
301 | if (dma_mapping_error(dev, *addr)) | 301 | if (dma_mapping_error(dev, *addr)) |
302 | goto unwind; | 302 | goto unwind; |
303 | } | 303 | } |
@@ -305,7 +305,7 @@ static int map_skb(struct device *dev, const struct sk_buff *skb, | |||
305 | 305 | ||
306 | unwind: | 306 | unwind: |
307 | while (fp-- > si->frags) | 307 | while (fp-- > si->frags) |
308 | dma_unmap_page(dev, *--addr, fp->size, DMA_TO_DEVICE); | 308 | dma_unmap_page(dev, *--addr, skb_frag_size(fp), DMA_TO_DEVICE); |
309 | dma_unmap_single(dev, addr[-1], skb_headlen(skb), DMA_TO_DEVICE); | 309 | dma_unmap_single(dev, addr[-1], skb_headlen(skb), DMA_TO_DEVICE); |
310 | 310 | ||
311 | out_err: | 311 | out_err: |
@@ -899,7 +899,7 @@ static void write_sgl(const struct sk_buff *skb, struct sge_txq *tq, | |||
899 | sgl->addr0 = cpu_to_be64(addr[0] + start); | 899 | sgl->addr0 = cpu_to_be64(addr[0] + start); |
900 | nfrags++; | 900 | nfrags++; |
901 | } else { | 901 | } else { |
902 | sgl->len0 = htonl(si->frags[0].size); | 902 | sgl->len0 = htonl(skb_frag_size(&si->frags[0])); |
903 | sgl->addr0 = cpu_to_be64(addr[1]); | 903 | sgl->addr0 = cpu_to_be64(addr[1]); |
904 | } | 904 | } |
905 | 905 | ||
@@ -915,13 +915,13 @@ static void write_sgl(const struct sk_buff *skb, struct sge_txq *tq, | |||
915 | to = (u8 *)end > (u8 *)tq->stat ? buf : sgl->sge; | 915 | to = (u8 *)end > (u8 *)tq->stat ? buf : sgl->sge; |
916 | 916 | ||
917 | for (i = (nfrags != si->nr_frags); nfrags >= 2; nfrags -= 2, to++) { | 917 | for (i = (nfrags != si->nr_frags); nfrags >= 2; nfrags -= 2, to++) { |
918 | to->len[0] = cpu_to_be32(si->frags[i].size); | 918 | to->len[0] = cpu_to_be32(skb_frag_size(&si->frags[i])); |
919 | to->len[1] = cpu_to_be32(si->frags[++i].size); | 919 | to->len[1] = cpu_to_be32(skb_frag_size(&si->frags[++i])); |
920 | to->addr[0] = cpu_to_be64(addr[i]); | 920 | to->addr[0] = cpu_to_be64(addr[i]); |
921 | to->addr[1] = cpu_to_be64(addr[++i]); | 921 | to->addr[1] = cpu_to_be64(addr[++i]); |
922 | } | 922 | } |
923 | if (nfrags) { | 923 | if (nfrags) { |
924 | to->len[0] = cpu_to_be32(si->frags[i].size); | 924 | to->len[0] = cpu_to_be32(skb_frag_size(&si->frags[i])); |
925 | to->len[1] = cpu_to_be32(0); | 925 | to->len[1] = cpu_to_be32(0); |
926 | to->addr[0] = cpu_to_be64(addr[i + 1]); | 926 | to->addr[0] = cpu_to_be64(addr[i + 1]); |
927 | } | 927 | } |
@@ -1399,7 +1399,7 @@ struct sk_buff *t4vf_pktgl_to_skb(const struct pkt_gl *gl, | |||
1399 | ssi = skb_shinfo(skb); | 1399 | ssi = skb_shinfo(skb); |
1400 | ssi->frags[0].page = gl->frags[0].page; | 1400 | ssi->frags[0].page = gl->frags[0].page; |
1401 | ssi->frags[0].page_offset = gl->frags[0].page_offset + pull_len; | 1401 | ssi->frags[0].page_offset = gl->frags[0].page_offset + pull_len; |
1402 | ssi->frags[0].size = gl->frags[0].size - pull_len; | 1402 | skb_frag_size_set(&ssi->frags[0], skb_frag_size(&gl->frags[0]) - pull_len); |
1403 | if (gl->nfrags > 1) | 1403 | if (gl->nfrags > 1) |
1404 | memcpy(&ssi->frags[1], &gl->frags[1], | 1404 | memcpy(&ssi->frags[1], &gl->frags[1], |
1405 | (gl->nfrags-1) * sizeof(skb_frag_t)); | 1405 | (gl->nfrags-1) * sizeof(skb_frag_t)); |
@@ -1451,7 +1451,7 @@ static inline void copy_frags(struct skb_shared_info *si, | |||
1451 | /* usually there's just one frag */ | 1451 | /* usually there's just one frag */ |
1452 | si->frags[0].page = gl->frags[0].page; | 1452 | si->frags[0].page = gl->frags[0].page; |
1453 | si->frags[0].page_offset = gl->frags[0].page_offset + offset; | 1453 | si->frags[0].page_offset = gl->frags[0].page_offset + offset; |
1454 | si->frags[0].size = gl->frags[0].size - offset; | 1454 | skb_frag_size_set(&si->frags[0], skb_frag_size(&gl->frags[0]) - offset); |
1455 | si->nr_frags = gl->nfrags; | 1455 | si->nr_frags = gl->nfrags; |
1456 | 1456 | ||
1457 | n = gl->nfrags - 1; | 1457 | n = gl->nfrags - 1; |
@@ -1702,8 +1702,8 @@ int process_responses(struct sge_rspq *rspq, int budget) | |||
1702 | bufsz = get_buf_size(sdesc); | 1702 | bufsz = get_buf_size(sdesc); |
1703 | fp->page = sdesc->page; | 1703 | fp->page = sdesc->page; |
1704 | fp->page_offset = rspq->offset; | 1704 | fp->page_offset = rspq->offset; |
1705 | fp->size = min(bufsz, len); | 1705 | skb_frag_size_set(fp, min(bufsz, len)); |
1706 | len -= fp->size; | 1706 | len -= skb_frag_size(fp); |
1707 | if (!len) | 1707 | if (!len) |
1708 | break; | 1708 | break; |
1709 | unmap_rx_buf(rspq->adapter, &rxq->fl); | 1709 | unmap_rx_buf(rspq->adapter, &rxq->fl); |
@@ -1717,7 +1717,7 @@ int process_responses(struct sge_rspq *rspq, int budget) | |||
1717 | */ | 1717 | */ |
1718 | dma_sync_single_for_cpu(rspq->adapter->pdev_dev, | 1718 | dma_sync_single_for_cpu(rspq->adapter->pdev_dev, |
1719 | get_buf_addr(sdesc), | 1719 | get_buf_addr(sdesc), |
1720 | fp->size, DMA_FROM_DEVICE); | 1720 | skb_frag_size(fp), DMA_FROM_DEVICE); |
1721 | gl.va = (page_address(gl.frags[0].page) + | 1721 | gl.va = (page_address(gl.frags[0].page) + |
1722 | gl.frags[0].page_offset); | 1722 | gl.frags[0].page_offset); |
1723 | prefetch(gl.va); | 1723 | prefetch(gl.va); |
@@ -1728,7 +1728,7 @@ int process_responses(struct sge_rspq *rspq, int budget) | |||
1728 | */ | 1728 | */ |
1729 | ret = rspq->handler(rspq, rspq->cur_desc, &gl); | 1729 | ret = rspq->handler(rspq, rspq->cur_desc, &gl); |
1730 | if (likely(ret == 0)) | 1730 | if (likely(ret == 0)) |
1731 | rspq->offset += ALIGN(fp->size, FL_ALIGN); | 1731 | rspq->offset += ALIGN(skb_frag_size(fp), FL_ALIGN); |
1732 | else | 1732 | else |
1733 | restore_rx_bufs(&gl, &rxq->fl, frag); | 1733 | restore_rx_bufs(&gl, &rxq->fl, frag); |
1734 | } else if (likely(rsp_type == RSP_TYPE_CPL)) { | 1734 | } else if (likely(rsp_type == RSP_TYPE_CPL)) { |