diff options
| -rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 16 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 7 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 5 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/igbvf/netdev.c | 5 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgb/ixgb_main.c | 6 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 10 |
7 files changed, 22 insertions, 30 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 4a32c15524c9..27f586afcc34 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
| @@ -2911,9 +2911,10 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
| 2911 | 2911 | ||
| 2912 | frag = &skb_shinfo(skb)->frags[f]; | 2912 | frag = &skb_shinfo(skb)->frags[f]; |
| 2913 | len = frag->size; | 2913 | len = frag->size; |
| 2914 | offset = frag->page_offset; | 2914 | offset = 0; |
| 2915 | 2915 | ||
| 2916 | while (len) { | 2916 | while (len) { |
| 2917 | unsigned long bufend; | ||
| 2917 | i++; | 2918 | i++; |
| 2918 | if (unlikely(i == tx_ring->count)) | 2919 | if (unlikely(i == tx_ring->count)) |
| 2919 | i = 0; | 2920 | i = 0; |
| @@ -2927,18 +2928,19 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
| 2927 | /* Workaround for potential 82544 hang in PCI-X. | 2928 | /* Workaround for potential 82544 hang in PCI-X. |
| 2928 | * Avoid terminating buffers within evenly-aligned | 2929 | * Avoid terminating buffers within evenly-aligned |
| 2929 | * dwords. */ | 2930 | * dwords. */ |
| 2931 | bufend = (unsigned long) | ||
| 2932 | page_to_phys(skb_frag_page(frag)); | ||
| 2933 | bufend += offset + size - 1; | ||
| 2930 | if (unlikely(adapter->pcix_82544 && | 2934 | if (unlikely(adapter->pcix_82544 && |
| 2931 | !((unsigned long)(page_to_phys(frag->page) + offset | 2935 | !(bufend & 4) && |
| 2932 | + size - 1) & 4) && | 2936 | size > 4)) |
| 2933 | size > 4)) | ||
| 2934 | size -= 4; | 2937 | size -= 4; |
| 2935 | 2938 | ||
| 2936 | buffer_info->length = size; | 2939 | buffer_info->length = size; |
| 2937 | buffer_info->time_stamp = jiffies; | 2940 | buffer_info->time_stamp = jiffies; |
| 2938 | buffer_info->mapped_as_page = true; | 2941 | buffer_info->mapped_as_page = true; |
| 2939 | buffer_info->dma = dma_map_page(&pdev->dev, frag->page, | 2942 | buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, |
| 2940 | offset, size, | 2943 | offset, size, DMA_TO_DEVICE); |
| 2941 | DMA_TO_DEVICE); | ||
| 2942 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) | 2944 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) |
| 2943 | goto dma_error; | 2945 | goto dma_error; |
| 2944 | buffer_info->next_to_watch = i; | 2946 | buffer_info->next_to_watch = i; |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 4f669995623f..78c5d21fa34b 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
| @@ -4677,7 +4677,7 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
| 4677 | 4677 | ||
| 4678 | frag = &skb_shinfo(skb)->frags[f]; | 4678 | frag = &skb_shinfo(skb)->frags[f]; |
| 4679 | len = frag->size; | 4679 | len = frag->size; |
| 4680 | offset = frag->page_offset; | 4680 | offset = 0; |
| 4681 | 4681 | ||
| 4682 | while (len) { | 4682 | while (len) { |
| 4683 | i++; | 4683 | i++; |
| @@ -4690,9 +4690,8 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
| 4690 | buffer_info->length = size; | 4690 | buffer_info->length = size; |
| 4691 | buffer_info->time_stamp = jiffies; | 4691 | buffer_info->time_stamp = jiffies; |
| 4692 | buffer_info->next_to_watch = i; | 4692 | buffer_info->next_to_watch = i; |
| 4693 | buffer_info->dma = dma_map_page(&pdev->dev, frag->page, | 4693 | buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, |
| 4694 | offset, size, | 4694 | offset, size, DMA_TO_DEVICE); |
| 4695 | DMA_TO_DEVICE); | ||
| 4696 | buffer_info->mapped_as_page = true; | 4695 | buffer_info->mapped_as_page = true; |
| 4697 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) | 4696 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) |
| 4698 | goto dma_error; | 4697 | goto dma_error; |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 801608497409..3cb1bc96bf70 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c | |||
| @@ -4174,10 +4174,7 @@ static inline int igb_tx_map_adv(struct igb_ring *tx_ring, struct sk_buff *skb, | |||
| 4174 | buffer_info->time_stamp = jiffies; | 4174 | buffer_info->time_stamp = jiffies; |
| 4175 | buffer_info->next_to_watch = i; | 4175 | buffer_info->next_to_watch = i; |
| 4176 | buffer_info->mapped_as_page = true; | 4176 | buffer_info->mapped_as_page = true; |
| 4177 | buffer_info->dma = dma_map_page(dev, | 4177 | buffer_info->dma = skb_frag_dma_map(dev, frag, 0, len, |
| 4178 | frag->page, | ||
| 4179 | frag->page_offset, | ||
| 4180 | len, | ||
| 4181 | DMA_TO_DEVICE); | 4178 | DMA_TO_DEVICE); |
| 4182 | if (dma_mapping_error(dev, buffer_info->dma)) | 4179 | if (dma_mapping_error(dev, buffer_info->dma)) |
| 4183 | goto dma_error; | 4180 | goto dma_error; |
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index a6bdb3c744f0..b3d760b08a5f 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c | |||
| @@ -2061,10 +2061,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, | |||
| 2061 | buffer_info->time_stamp = jiffies; | 2061 | buffer_info->time_stamp = jiffies; |
| 2062 | buffer_info->next_to_watch = i; | 2062 | buffer_info->next_to_watch = i; |
| 2063 | buffer_info->mapped_as_page = true; | 2063 | buffer_info->mapped_as_page = true; |
| 2064 | buffer_info->dma = dma_map_page(&pdev->dev, | 2064 | buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, 0, len, |
| 2065 | frag->page, | ||
| 2066 | frag->page_offset, | ||
| 2067 | len, | ||
| 2068 | DMA_TO_DEVICE); | 2065 | DMA_TO_DEVICE); |
| 2069 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) | 2066 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) |
| 2070 | goto dma_error; | 2067 | goto dma_error; |
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c index b8ef2c0fc5d0..c8b9c9028bc0 100644 --- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c +++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c | |||
| @@ -1341,7 +1341,7 @@ ixgb_tx_map(struct ixgb_adapter *adapter, struct sk_buff *skb, | |||
| 1341 | 1341 | ||
| 1342 | frag = &skb_shinfo(skb)->frags[f]; | 1342 | frag = &skb_shinfo(skb)->frags[f]; |
| 1343 | len = frag->size; | 1343 | len = frag->size; |
| 1344 | offset = frag->page_offset; | 1344 | offset = 0; |
| 1345 | 1345 | ||
| 1346 | while (len) { | 1346 | while (len) { |
| 1347 | i++; | 1347 | i++; |
| @@ -1361,8 +1361,8 @@ ixgb_tx_map(struct ixgb_adapter *adapter, struct sk_buff *skb, | |||
| 1361 | buffer_info->time_stamp = jiffies; | 1361 | buffer_info->time_stamp = jiffies; |
| 1362 | buffer_info->mapped_as_page = true; | 1362 | buffer_info->mapped_as_page = true; |
| 1363 | buffer_info->dma = | 1363 | buffer_info->dma = |
| 1364 | dma_map_page(&pdev->dev, frag->page, | 1364 | skb_frag_dma_map(&pdev->dev, frag, offset, size, |
| 1365 | offset, size, DMA_TO_DEVICE); | 1365 | DMA_TO_DEVICE); |
| 1366 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) | 1366 | if (dma_mapping_error(&pdev->dev, buffer_info->dma)) |
| 1367 | goto dma_error; | 1367 | goto dma_error; |
| 1368 | buffer_info->next_to_watch = 0; | 1368 | buffer_info->next_to_watch = 0; |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index a30f8266df00..d20e8040d855 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
| @@ -6494,8 +6494,7 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring, | |||
| 6494 | offset = 0; | 6494 | offset = 0; |
| 6495 | tx_flags |= IXGBE_TX_FLAGS_MAPPED_AS_PAGE; | 6495 | tx_flags |= IXGBE_TX_FLAGS_MAPPED_AS_PAGE; |
| 6496 | 6496 | ||
| 6497 | dma = dma_map_page(dev, frag->page, frag->page_offset, | 6497 | dma = skb_frag_dma_map(dev, frag, 0, size, DMA_TO_DEVICE); |
| 6498 | size, DMA_TO_DEVICE); | ||
| 6499 | if (dma_mapping_error(dev, dma)) | 6498 | if (dma_mapping_error(dev, dma)) |
| 6500 | goto dma_error; | 6499 | goto dma_error; |
| 6501 | 6500 | ||
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 98963970206e..d72905b77aba 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | |||
| @@ -2918,18 +2918,16 @@ static int ixgbevf_tx_map(struct ixgbevf_adapter *adapter, | |||
| 2918 | 2918 | ||
| 2919 | frag = &skb_shinfo(skb)->frags[f]; | 2919 | frag = &skb_shinfo(skb)->frags[f]; |
| 2920 | len = min((unsigned int)frag->size, total); | 2920 | len = min((unsigned int)frag->size, total); |
| 2921 | offset = frag->page_offset; | 2921 | offset = 0; |
| 2922 | 2922 | ||
| 2923 | while (len) { | 2923 | while (len) { |
| 2924 | tx_buffer_info = &tx_ring->tx_buffer_info[i]; | 2924 | tx_buffer_info = &tx_ring->tx_buffer_info[i]; |
| 2925 | size = min(len, (unsigned int)IXGBE_MAX_DATA_PER_TXD); | 2925 | size = min(len, (unsigned int)IXGBE_MAX_DATA_PER_TXD); |
| 2926 | 2926 | ||
| 2927 | tx_buffer_info->length = size; | 2927 | tx_buffer_info->length = size; |
| 2928 | tx_buffer_info->dma = dma_map_page(&adapter->pdev->dev, | 2928 | tx_buffer_info->dma = |
| 2929 | frag->page, | 2929 | skb_frag_dma_map(&adapter->pdev->dev, frag, |
| 2930 | offset, | 2930 | offset, size, DMA_TO_DEVICE); |
| 2931 | size, | ||
| 2932 | DMA_TO_DEVICE); | ||
| 2933 | tx_buffer_info->mapped_as_page = true; | 2931 | tx_buffer_info->mapped_as_page = true; |
| 2934 | if (dma_mapping_error(&pdev->dev, tx_buffer_info->dma)) | 2932 | if (dma_mapping_error(&pdev->dev, tx_buffer_info->dma)) |
| 2935 | goto dma_error; | 2933 | goto dma_error; |
