diff options
Diffstat (limited to 'drivers/net')
| -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; |
