linux_dsm_epyc7002/drivers/net/ethernet/intel
Bjorn Helgaas 170648fda9 fm10k: Report PCIe link properties with pcie_print_link_status()
Previously the driver used pcie_get_minimum_link() to warn when the NIC
is in a slot that can't supply as much bandwidth as the NIC could use.

pcie_get_minimum_link() can be misleading because it finds the slowest link
and the narrowest link (which may be different links) without considering
the total bandwidth of each link.  For a path with a 16 GT/s x1 link and a
2.5 GT/s x16 link, it returns 2.5 GT/s x1, which corresponds to 250 MB/s of
bandwidth, not the true available bandwidth of about 1969 MB/s for a
16 GT/s x1 link.

Use pcie_print_link_status() to report PCIe link speed and possible
limitations instead of implementing this in the driver itself.  This finds
the slowest link in the path to the device by computing the total bandwidth
of each link and compares that with the capabilities of the device.

Note that the driver previously used dev_warn() to suggest using a
different slot, but pcie_print_link_status() uses dev_info() because if the
platform has no faster slot available, the user can't do anything about the
warning and may not want to be bothered with it.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jacob Keller <jacob.e.keller@intel.com>
2018-04-03 08:58:34 -05:00
..
e1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
e1000e e1000e: Alert the user that C-states will be disabled by enabling jumbo frames 2018-01-24 12:27:48 -08:00
fm10k fm10k: Report PCIe link properties with pcie_print_link_status() 2018-04-03 08:58:34 -05:00
i40e i40e: Fix the number of queues available to be mapped for use 2018-02-07 21:53:32 -05:00
i40evf i40e/i40evf: Update DESC_NEEDED value to reflect larger value 2018-01-29 14:21:01 -05:00
igb igb: Clear TXSTMP when ptp_tx_work() is timeout 2018-01-24 12:27:48 -08:00
igbvf igbvf: Use smp_rmb rather than read_barrier_depends 2017-11-21 23:46:04 -08:00
ixgb ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
ixgbe ixgbe: don't set RXDCTL.RLPML for 82599 2018-01-26 10:25:35 -08:00
ixgbevf ixgbevf: use ARRAY_SIZE for various array sizing calculations 2018-01-26 10:25:15 -08:00
e100.c net: e100: Replace PCI pool old API 2018-01-02 16:14:17 -06:00
Kconfig i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00