Commit 249d71d6 authored by Bruce Allan's avatar Bruce Allan Committed by Auke Kok

e1000: Jumbo frames fixes for 82573

Disable jumbo frames for 82573L alltogether and when ASPM is enabled
since the hardware has problems with it. For the NICs that do support
this in the 82573 series we set ERT_2048 to attempt to receive as much
traffic as early as we can.
Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
Signed-off-by: default avatarAuke Kok <auke-jan.h.kok@intel.com>
parent 5f01607a
...@@ -3138,11 +3138,13 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu) ...@@ -3138,11 +3138,13 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu)
} }
break; break;
case e1000_82573: case e1000_82573:
/* only enable jumbo frames if ASPM is disabled completely /* Jumbo Frames not supported if:
* this means both bits must be zero in 0x1A bits 3:2 */ * - this is not an 82573L device
* - ASPM is enabled in any way (0x1A bits 3:2) */
e1000_read_eeprom(&adapter->hw, EEPROM_INIT_3GIO_3, 1, e1000_read_eeprom(&adapter->hw, EEPROM_INIT_3GIO_3, 1,
&eeprom_data); &eeprom_data);
if (eeprom_data & EEPROM_WORD1A_ASPM_MASK) { if ((adapter->hw.device_id != E1000_DEV_ID_82573L) ||
(eeprom_data & EEPROM_WORD1A_ASPM_MASK)) {
if (max_frame > MAXIMUM_ETHERNET_FRAME_SIZE) { if (max_frame > MAXIMUM_ETHERNET_FRAME_SIZE) {
DPRINTK(PROBE, ERR, DPRINTK(PROBE, ERR,
"Jumbo Frames not supported.\n"); "Jumbo Frames not supported.\n");
...@@ -3150,6 +3152,8 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu) ...@@ -3150,6 +3152,8 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu)
} }
break; break;
} }
/* ERT will be enabled later to enable wire speed receives */
/* fall through to get support */ /* fall through to get support */
case e1000_82571: case e1000_82571:
case e1000_82572: case e1000_82572:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment