linux/drivers/net/ethernet/intel/ice
Brett Creeley b6f934f027 ice: Set physical link up/down when an interface is set up/down
When a netdev is set up/down we need to set the phsyical link state
accordingly. This patch adds that functionality by calling
ice_force_phys_link_state(vsi, link_up) in both the ice_stop() and
ice_open() paths.

In order to force link, ice_force_phys_link_state(vsi, link_up) will
first determine the current phy capabilities. If link has not changed
there is nothing to do. If link has changed, previous PHY capabilities
are saved and the "Enable Automatic Link Update" and "Link Establishment
State Machine (LESM)" enable bits are set. Then the new PHY config is
saved. The "Enable Automatic Link Update" will force the FW to execute
Setup link and restart auto-negotiation. This *should* then result in a
"Link Status Event (LSE)" which will cause the driver to get the current
link status.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-01-15 10:27:18 -08:00
..
ice_adminq_cmd.h ice: Set physical link up/down when an interface is set up/down 2019-01-15 10:27:18 -08:00
ice_common.c ice: Add ethtool set_phys_id handler 2019-01-15 10:07:08 -08:00
ice_common.h ice: Implement support for normal get_eeprom[_len] ethtool ops 2019-01-15 10:20:43 -08:00
ice_controlq.c ice: Use Tx|Rx in comments 2018-11-20 11:39:04 -08:00
ice_controlq.h ice: Update expected FW version 2018-10-24 13:56:37 -07:00
ice_devids.h ice: Change device ID define names to align with branding string 2018-10-24 13:53:30 -07:00
ice_ethtool.c ice: Implement support for normal get_eeprom[_len] ethtool ops 2019-01-15 10:20:43 -08:00
ice_hw_autogen.h ice: Fix debug print in ice_tx_timeout 2018-11-13 09:09:25 -08:00
ice_lan_tx_rx.h ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice_lib.c ice: Configure RSS LUT and HASH KEY in rebuild path 2019-01-15 10:02:44 -08:00
ice_lib.h ice: Make ice_msix_clean_rings static 2018-10-24 13:35:36 -07:00
ice_main.c ice: Set physical link up/down when an interface is set up/down 2019-01-15 10:27:18 -08:00
ice_nvm.c ice: Implement support for normal get_eeprom[_len] ethtool ops 2019-01-15 10:20:43 -08:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_sched.c ice: Refactor a few Tx scheduler functions 2019-01-15 09:54:59 -08:00
ice_sched.h ice: Fix to make VLAN priority tagged traffic to appear on all TCs 2018-11-13 09:09:26 -08:00
ice_sriov.c ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Add support for VF reset events 2018-10-03 07:42:30 -07:00
ice_switch.c ice: Fix possible NULL pointer de-reference 2018-11-20 11:39:04 -08:00
ice_switch.h ice: Free VSI contexts during for unload 2018-11-06 12:46:47 -08:00
ice_txrx.c ethernet/intel: consolidate NAPI and NAPI exit 2018-11-21 10:35:23 -08:00
ice_txrx.h ice: Fix tx_timeout in PF driver 2018-11-06 12:46:47 -08:00
ice_type.h ice: Calculate guaranteed VSIs per function and use it 2018-11-13 09:09:26 -08:00
ice_virtchnl_pf.c ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice_virtchnl_pf.h ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice.h ice: Use Tx|Rx in comments 2018-11-20 11:39:04 -08:00
Makefile ice: Add support for VF reset events 2018-10-03 07:42:30 -07:00