aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4vf/sge.c')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4vf/sge.c26
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
306unwind: 306unwind:
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
311out_err: 311out_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)) {