diff options
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 8c64363faaf3..cdbf4fb8150d 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2416,6 +2416,11 @@ enum latency_range { | |||
2416 | 2416 | ||
2417 | /** | 2417 | /** |
2418 | * e1000_update_itr - update the dynamic ITR value based on statistics | 2418 | * e1000_update_itr - update the dynamic ITR value based on statistics |
2419 | * @adapter: pointer to adapter | ||
2420 | * @itr_setting: current adapter->itr | ||
2421 | * @packets: the number of packets during this measurement interval | ||
2422 | * @bytes: the number of bytes during this measurement interval | ||
2423 | * | ||
2419 | * Stores a new ITR value based on packets and byte | 2424 | * Stores a new ITR value based on packets and byte |
2420 | * counts during the last interrupt. The advantage of per interrupt | 2425 | * counts during the last interrupt. The advantage of per interrupt |
2421 | * computation is faster updates and more accurate ITR for the current | 2426 | * computation is faster updates and more accurate ITR for the current |
@@ -2425,10 +2430,6 @@ enum latency_range { | |||
2425 | * while increasing bulk throughput. | 2430 | * while increasing bulk throughput. |
2426 | * this functionality is controlled by the InterruptThrottleRate module | 2431 | * this functionality is controlled by the InterruptThrottleRate module |
2427 | * parameter (see e1000_param.c) | 2432 | * parameter (see e1000_param.c) |
2428 | * @adapter: pointer to adapter | ||
2429 | * @itr_setting: current adapter->itr | ||
2430 | * @packets: the number of packets during this measurement interval | ||
2431 | * @bytes: the number of bytes during this measurement interval | ||
2432 | **/ | 2433 | **/ |
2433 | static unsigned int e1000_update_itr(struct e1000_adapter *adapter, | 2434 | static unsigned int e1000_update_itr(struct e1000_adapter *adapter, |
2434 | u16 itr_setting, int packets, int bytes) | 2435 | u16 itr_setting, int packets, int bytes) |
@@ -2770,8 +2771,9 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
2770 | * Avoid terminating buffers within evenly-aligned | 2771 | * Avoid terminating buffers within evenly-aligned |
2771 | * dwords. */ | 2772 | * dwords. */ |
2772 | if (unlikely(adapter->pcix_82544 && | 2773 | if (unlikely(adapter->pcix_82544 && |
2773 | !((unsigned long)(frag->page+offset+size-1) & 4) && | 2774 | !((unsigned long)(page_to_phys(frag->page) + offset |
2774 | size > 4)) | 2775 | + size - 1) & 4) && |
2776 | size > 4)) | ||
2775 | size -= 4; | 2777 | size -= 4; |
2776 | 2778 | ||
2777 | buffer_info->length = size; | 2779 | buffer_info->length = size; |
@@ -3042,7 +3044,8 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb, | |||
3042 | } | 3044 | } |
3043 | 3045 | ||
3044 | if (likely(tso)) { | 3046 | if (likely(tso)) { |
3045 | tx_ring->last_tx_tso = 1; | 3047 | if (likely(hw->mac_type != e1000_82544)) |
3048 | tx_ring->last_tx_tso = 1; | ||
3046 | tx_flags |= E1000_TX_FLAGS_TSO; | 3049 | tx_flags |= E1000_TX_FLAGS_TSO; |
3047 | } else if (likely(e1000_tx_csum(adapter, tx_ring, skb))) | 3050 | } else if (likely(e1000_tx_csum(adapter, tx_ring, skb))) |
3048 | tx_flags |= E1000_TX_FLAGS_CSUM; | 3051 | tx_flags |= E1000_TX_FLAGS_CSUM; |