aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Allan <bruce.w.allan@intel.com>2012-12-07 19:35:35 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2013-01-27 03:26:54 -0500
commit347b5201cb2e8b9e4a20d81582563f51336eb215 (patch)
tree76a1cae21bbbf49965b8ca2f003377c80e6c46f0
parenta8fc18910b7f35a59345b5f5cd140c7f64d57d86 (diff)
e1000e: fix flow-control thresholds for jumbo frames on 82579/I217/I218
The previous static flow-control thresholds were causing unnecessary pause packets to be transmitted when jumbo frames are configured reducing the throughput. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/e1000e/netdev.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index c15b7e438a44..8bb5d28eca14 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3724,14 +3724,17 @@ void e1000e_reset(struct e1000_adapter *adapter)
3724 break; 3724 break;
3725 case e1000_pch2lan: 3725 case e1000_pch2lan:
3726 case e1000_pch_lpt: 3726 case e1000_pch_lpt:
3727 fc->high_water = 0x05C20;
3728 fc->low_water = 0x05048;
3729 fc->pause_time = 0x0650;
3730 fc->refresh_time = 0x0400; 3727 fc->refresh_time = 0x0400;
3731 if (adapter->netdev->mtu > ETH_DATA_LEN) { 3728
3732 pba = 14; 3729 if (adapter->netdev->mtu <= ETH_DATA_LEN) {
3733 ew32(PBA, pba); 3730 fc->high_water = 0x05C20;
3731 fc->low_water = 0x05048;
3732 fc->pause_time = 0x0650;
3733 break;
3734 } 3734 }
3735
3736 fc->high_water = ((pba << 10) * 9 / 10) & E1000_FCRTH_RTH;
3737 fc->low_water = ((pba << 10) * 8 / 10) & E1000_FCRTL_RTL;
3735 break; 3738 break;
3736 } 3739 }
3737 3740