e1000e: specify max supported frame size in adapter struct
By putting the maximum frame size supported by the hardware into the adapter structure, the change_mtu entry point function can be cleaned up of checks for all the different max frame sizes supported by Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
3ec2a2b80f
commit
2adc55c959
@@ -341,8 +341,10 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)
|
||||
if (e1000_read_nvm(&adapter->hw, NVM_INIT_3GIO_3, 1,
|
||||
&eeprom_data) < 0)
|
||||
break;
|
||||
if (eeprom_data & NVM_WORD1A_ASPM_MASK)
|
||||
adapter->flags &= ~FLAG_HAS_JUMBO_FRAMES;
|
||||
if (!(eeprom_data & NVM_WORD1A_ASPM_MASK)) {
|
||||
adapter->flags |= FLAG_HAS_JUMBO_FRAMES;
|
||||
adapter->max_hw_frame_size = DEFAULT_JUMBO;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -1672,6 +1674,7 @@ struct e1000_info e1000_82571_info = {
|
||||
| FLAG_TARC_SPEED_MODE_BIT /* errata */
|
||||
| FLAG_APME_CHECK_PORT_B,
|
||||
.pba = 38,
|
||||
.max_hw_frame_size = DEFAULT_JUMBO,
|
||||
.get_variants = e1000_get_variants_82571,
|
||||
.mac_ops = &e82571_mac_ops,
|
||||
.phy_ops = &e82_phy_ops_igp,
|
||||
@@ -1688,6 +1691,7 @@ struct e1000_info e1000_82572_info = {
|
||||
| FLAG_HAS_CTRLEXT_ON_LOAD
|
||||
| FLAG_TARC_SPEED_MODE_BIT, /* errata */
|
||||
.pba = 38,
|
||||
.max_hw_frame_size = DEFAULT_JUMBO,
|
||||
.get_variants = e1000_get_variants_82571,
|
||||
.mac_ops = &e82571_mac_ops,
|
||||
.phy_ops = &e82_phy_ops_igp,
|
||||
@@ -1706,6 +1710,7 @@ struct e1000_info e1000_82573_info = {
|
||||
| FLAG_HAS_ERT
|
||||
| FLAG_HAS_SWSM_ON_LOAD,
|
||||
.pba = 20,
|
||||
.max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN,
|
||||
.get_variants = e1000_get_variants_82571,
|
||||
.mac_ops = &e82571_mac_ops,
|
||||
.phy_ops = &e82_phy_ops_m88,
|
||||
@@ -1724,6 +1729,7 @@ struct e1000_info e1000_82574_info = {
|
||||
| FLAG_HAS_AMT
|
||||
| FLAG_HAS_CTRLEXT_ON_LOAD,
|
||||
.pba = 20,
|
||||
.max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN,
|
||||
.get_variants = e1000_get_variants_82571,
|
||||
.mac_ops = &e82571_mac_ops,
|
||||
.phy_ops = &e82_phy_ops_bm,
|
||||
@@ -1740,6 +1746,7 @@ struct e1000_info e1000_82583_info = {
|
||||
| FLAG_HAS_AMT
|
||||
| FLAG_HAS_CTRLEXT_ON_LOAD,
|
||||
.pba = 20,
|
||||
.max_hw_frame_size = DEFAULT_JUMBO,
|
||||
.get_variants = e1000_get_variants_82571,
|
||||
.mac_ops = &e82571_mac_ops,
|
||||
.phy_ops = &e82_phy_ops_bm,
|
||||
|
Reference in New Issue
Block a user