diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igc')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_ethtool.c | 9 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 9 | 
2 files changed, 13 insertions, 5 deletions
| diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c index f2c4f1966bb0..0cd2bd695db1 100644 --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1629,12 +1629,17 @@ static int igc_ethtool_get_eee(struct net_device *netdev,  	struct igc_hw *hw = &adapter->hw;  	u32 eeer; +	linkmode_set_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, +			 edata->supported); +	linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT, +			 edata->supported); +	linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, +			 edata->supported); +  	if (hw->dev_spec._base.eee_enable)  		mii_eee_cap1_mod_linkmode_t(edata->advertised,  					    adapter->eee_advert); -	*edata = adapter->eee; -  	eeer = rd32(IGC_EEER);  	/* EEE status on negotiated link */ diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 12f004f46082..87b655b839c1 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -12,6 +12,7 @@  #include <linux/bpf_trace.h>  #include <net/xdp_sock_drv.h>  #include <linux/pci.h> +#include <linux/mdio.h>  #include <net/ipv6.h> @@ -4975,6 +4976,9 @@ void igc_up(struct igc_adapter *adapter)  	/* start the watchdog. */  	hw->mac.get_link_status = true;  	schedule_work(&adapter->watchdog_task); + +	adapter->eee_advert = MDIO_EEE_100TX | MDIO_EEE_1000T | +			      MDIO_EEE_2_5GT;  }  /** @@ -7028,6 +7032,8 @@ static int igc_probe(struct pci_dev *pdev,  	device_set_wakeup_enable(&adapter->pdev->dev,  				 adapter->flags & IGC_FLAG_WOL_SUPPORTED); +	igc_ptp_init(adapter); +  	igc_tsn_clear_schedule(adapter);  	/* reset the hardware with the new settings */ @@ -7049,9 +7055,6 @@ static int igc_probe(struct pci_dev *pdev,  	/* Check if Media Autosense is enabled */  	adapter->ei = *ei; -	/* do hw tstamp init after resetting */ -	igc_ptp_init(adapter); -  	/* print pcie link status and MAC address */  	pcie_print_link_status(pdev);  	netdev_info(netdev, "MAC: %pM\n", netdev->dev_addr); |