forked from mirrors/linux
		
	net: intel: i40e/igc: Remove setting Autoneg in EEE capabilities
Energy Efficient Ethernet should always be negotiated with the link peer. Don't include SUPPORTED_Autoneg in the results of get_eee() for supported, advertised or lp_advertised, since it is assumed. Additionally, ethtool(1) ignores the set bit, and no other driver sets this. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									9356b6db9d
								
							
						
					
					
						commit
						01cf893bf0
					
				
					 2 changed files with 1 additions and 10 deletions
				
			
		| 
						 | 
					@ -5664,16 +5664,12 @@ static int i40e_get_eee(struct net_device *netdev, struct ethtool_keee *edata)
 | 
				
			||||||
	if (phy_cfg.eee_capability == 0)
 | 
						if (phy_cfg.eee_capability == 0)
 | 
				
			||||||
		return -EOPNOTSUPP;
 | 
							return -EOPNOTSUPP;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	edata->supported_u32 = SUPPORTED_Autoneg;
 | 
					 | 
				
			||||||
	edata->lp_advertised_u32 = edata->supported_u32;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Get current configuration */
 | 
						/* Get current configuration */
 | 
				
			||||||
	status = i40e_aq_get_phy_capabilities(hw, false, false, &phy_cfg, NULL);
 | 
						status = i40e_aq_get_phy_capabilities(hw, false, false, &phy_cfg, NULL);
 | 
				
			||||||
	if (status)
 | 
						if (status)
 | 
				
			||||||
		return -EAGAIN;
 | 
							return -EAGAIN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	edata->advertised_u32 = phy_cfg.eee_capability ? SUPPORTED_Autoneg : 0U;
 | 
						edata->eee_enabled = !!phy_cfg.eee_capability;
 | 
				
			||||||
	edata->eee_enabled = !!edata->advertised_u32;
 | 
					 | 
				
			||||||
	edata->tx_lpi_enabled = pf->stats.tx_lpi_status;
 | 
						edata->tx_lpi_enabled = pf->stats.tx_lpi_status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	edata->eee_active = pf->stats.tx_lpi_status && pf->stats.rx_lpi_status;
 | 
						edata->eee_active = pf->stats.tx_lpi_status && pf->stats.rx_lpi_status;
 | 
				
			||||||
| 
						 | 
					@ -5691,7 +5687,6 @@ static int i40e_is_eee_param_supported(struct net_device *netdev,
 | 
				
			||||||
		u32 value;
 | 
							u32 value;
 | 
				
			||||||
		const char *name;
 | 
							const char *name;
 | 
				
			||||||
	} param[] = {
 | 
						} param[] = {
 | 
				
			||||||
		{edata->advertised_u32 & ~SUPPORTED_Autoneg, "advertise"},
 | 
					 | 
				
			||||||
		{edata->tx_lpi_timer, "tx-timer"},
 | 
							{edata->tx_lpi_timer, "tx-timer"},
 | 
				
			||||||
		{edata->tx_lpi_enabled != pf->stats.tx_lpi_status, "tx-lpi"}
 | 
							{edata->tx_lpi_enabled != pf->stats.tx_lpi_status, "tx-lpi"}
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1634,7 +1634,6 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
 | 
				
			||||||
			mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
 | 
								mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	*edata = adapter->eee;
 | 
						*edata = adapter->eee;
 | 
				
			||||||
	edata->supported_u32 = SUPPORTED_Autoneg;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	eeer = rd32(IGC_EEER);
 | 
						eeer = rd32(IGC_EEER);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1647,9 +1646,6 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	edata->eee_enabled = hw->dev_spec._base.eee_enable;
 | 
						edata->eee_enabled = hw->dev_spec._base.eee_enable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	edata->advertised_u32 = SUPPORTED_Autoneg;
 | 
					 | 
				
			||||||
	edata->lp_advertised_u32 = SUPPORTED_Autoneg;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Report correct negotiated EEE status for devices that
 | 
						/* Report correct negotiated EEE status for devices that
 | 
				
			||||||
	 * wrongly report EEE at half-duplex
 | 
						 * wrongly report EEE at half-duplex
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue