linux/drivers/net/ethernet/intel/ice
Paul Greenwalt ea78ce4dab ice: add link lenient and default override support
Adds functions to check for link override firmware support and get
the override settings for a port. The previously supported/default link
mode was strict mode.

In strict mode link is configured based on get PHY capabilities PHY types
with media.

Lenient mode is now the default link mode. In lenient mode the link is
configured based on get PHY capabilities PHY types without media. This
allows the user to configure link that the media does not report. Limit the
minimum supported link mode to 25G for devices that support 100G, and 1G
for devices that support less than 100G.

Default override is only supported in lenient mode. If default override
is supported and enabled, then default override values are used for
configuring speed and FEC. Default override provide persistent link
settings in the NVM.

Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Signed-off-by: Evan Swanson <evan.swanson@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2020-07-23 15:22:31 -07:00
..
ice.h ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_adminq_cmd.h ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_arfs.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_arfs.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_base.c ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_base.h ice: Add support to enable/disable all Rx queues before waiting 2020-02-15 16:39:55 -08:00
ice_common.c ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_common.h ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_controlq.c ice: fix function signature style format 2020-05-31 03:52:25 -07:00
ice_controlq.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_dcb.c ice: avoid unnecessary single-member variable-length structs 2020-07-01 16:33:29 -07:00
ice_dcb.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_dcb_lib.c ice: Fix transmit for all software offloaded VLANs 2020-05-31 03:38:20 -07:00
ice_dcb_lib.h ice: Fix transmit for all software offloaded VLANs 2020-05-31 03:38:20 -07:00
ice_dcb_nl.c ice: remove unused macro 2020-05-27 17:03:40 -07:00
ice_dcb_nl.h
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_devlink.c devlink: Replace devlink_port_attrs_set parameters with a struct 2020-07-09 13:15:29 -07:00
ice_devlink.h ice: add a devlink region for dumping NVM contents 2020-03-26 19:39:26 -07:00
ice_ethtool.c ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_ethtool_fdir.c ice: fix aRFS after flow director delete 2020-05-31 03:58:12 -07:00
ice_fdir.c ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fdir.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flex_pipe.c ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_flex_pipe.h ice: Support IPv4 Flow Director filters 2020-05-22 21:36:27 -07:00
ice_flex_type.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_flow.c ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flow.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_hw_autogen.h ice: Add advanced power mgmt for WoL 2020-07-23 14:59:20 -07:00
ice_lan_tx_rx.h ice: avoid undefined behavior 2020-05-27 17:58:21 -07:00
ice_lib.c ice: Add advanced power mgmt for WoL 2020-07-23 14:59:20 -07:00
ice_lib.h ice: Add advanced power mgmt for WoL 2020-07-23 14:59:20 -07:00
ice_main.c ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_nvm.c ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_nvm.h ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_osdep.h
ice_protocol_type.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_sched.c ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_sched.h ice: avoid unnecessary single-member variable-length structs 2020-07-01 16:33:29 -07:00
ice_sriov.c ice: remove unnecessary fallthrough comments 2020-02-15 16:56:48 -08:00
ice_sriov.h
ice_status.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_switch.c ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_switch.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_txrx.c ice: Fix transmit for all software offloaded VLANs 2020-05-31 03:38:20 -07:00
ice_txrx.h ice: fix signed vs unsigned comparisons 2020-05-27 17:02:47 -07:00
ice_txrx_lib.c xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame 2020-06-01 15:02:53 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_type.h ice: add link lenient and default override support 2020-07-23 15:22:31 -07:00
ice_virtchnl_pf.c ice: Add advanced power mgmt for WoL 2020-07-23 14:59:20 -07:00
ice_virtchnl_pf.h ice: support adding 16 unicast/multicast filter on untrusted VF 2020-05-31 03:36:06 -07:00
ice_xsk.c ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_xsk.h ice, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL 2020-05-21 17:31:26 -07:00
Makefile ice: Implement aRFS 2020-05-22 22:02:34 -07:00