sge.c (5d6bcdfe38ce883946aebf751a64695471ce1ab5) sge.c (9e903e085262ffbf1fc44a17ac06058aca03524a)
1/*****************************************************************************
2 * *
3 * File: sge.c *
4 * $Revision: 1.26 $ *
5 * $Date: 2005/06/21 18:29:48 $ *
6 * Description: *
7 * DMA engine. *
8 * part of the Chelsio 10Gb Ethernet Driver. *

--- 1121 unchanged lines hidden (view full) ---

1130 if (PAGE_SIZE > SGE_TX_DESC_MAX_PLEN) {
1131 unsigned int nfrags = skb_shinfo(skb)->nr_frags;
1132 unsigned int i, len = skb_headlen(skb);
1133 while (len > SGE_TX_DESC_MAX_PLEN) {
1134 count++;
1135 len -= SGE_TX_DESC_MAX_PLEN;
1136 }
1137 for (i = 0; nfrags--; i++) {
1/*****************************************************************************
2 * *
3 * File: sge.c *
4 * $Revision: 1.26 $ *
5 * $Date: 2005/06/21 18:29:48 $ *
6 * Description: *
7 * DMA engine. *
8 * part of the Chelsio 10Gb Ethernet Driver. *

--- 1121 unchanged lines hidden (view full) ---

1130 if (PAGE_SIZE > SGE_TX_DESC_MAX_PLEN) {
1131 unsigned int nfrags = skb_shinfo(skb)->nr_frags;
1132 unsigned int i, len = skb_headlen(skb);
1133 while (len > SGE_TX_DESC_MAX_PLEN) {
1134 count++;
1135 len -= SGE_TX_DESC_MAX_PLEN;
1136 }
1137 for (i = 0; nfrags--; i++) {
1138 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
1139 len = frag->size;
1138 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
1139 len = skb_frag_size(frag);
1140 while (len > SGE_TX_DESC_MAX_PLEN) {
1141 count++;
1142 len -= SGE_TX_DESC_MAX_PLEN;
1143 }
1144 }
1145 }
1146 return count;
1147}

--- 125 unchanged lines hidden (view full) ---

1273 if (++pidx == q->size) {
1274 pidx = 0;
1275 gen ^= 1;
1276 e1 = q->entries;
1277 ce = q->centries;
1278 }
1279
1280 mapping = skb_frag_dma_map(&adapter->pdev->dev, frag, 0,
1140 while (len > SGE_TX_DESC_MAX_PLEN) {
1141 count++;
1142 len -= SGE_TX_DESC_MAX_PLEN;
1143 }
1144 }
1145 }
1146 return count;
1147}

--- 125 unchanged lines hidden (view full) ---

1273 if (++pidx == q->size) {
1274 pidx = 0;
1275 gen ^= 1;
1276 e1 = q->entries;
1277 ce = q->centries;
1278 }
1279
1280 mapping = skb_frag_dma_map(&adapter->pdev->dev, frag, 0,
1281 frag->size, DMA_TO_DEVICE);
1281 skb_frag_size(frag), DMA_TO_DEVICE);
1282 desc_mapping = mapping;
1282 desc_mapping = mapping;
1283 desc_len = frag->size;
1283 desc_len = skb_frag_size(frag);
1284
1285 pidx = write_large_page_tx_descs(pidx, &e1, &ce, &gen,
1286 &desc_mapping, &desc_len,
1287 nfrags, q);
1288 if (likely(desc_len))
1289 write_tx_desc(e1, desc_mapping, desc_len, gen,
1290 nfrags == 0);
1291 ce->skb = NULL;
1292 dma_unmap_addr_set(ce, dma_addr, mapping);
1284
1285 pidx = write_large_page_tx_descs(pidx, &e1, &ce, &gen,
1286 &desc_mapping, &desc_len,
1287 nfrags, q);
1288 if (likely(desc_len))
1289 write_tx_desc(e1, desc_mapping, desc_len, gen,
1290 nfrags == 0);
1291 ce->skb = NULL;
1292 dma_unmap_addr_set(ce, dma_addr, mapping);
1293 dma_unmap_len_set(ce, dma_len, frag->size);
1293 dma_unmap_len_set(ce, dma_len, skb_frag_size(frag));
1294 }
1295 ce->skb = skb;
1296 wmb();
1297 e->flags = flags;
1298}
1299
1300/*
1301 * Clean up completed Tx buffers.

--- 838 unchanged lines hidden ---
1294 }
1295 ce->skb = skb;
1296 wmb();
1297 e->flags = flags;
1298}
1299
1300/*
1301 * Clean up completed Tx buffers.

--- 838 unchanged lines hidden ---