WSL2-Linux-Kernel/drivers
Brett Creeley e0ef26fbe2 iavf: fix speed reporting over virtchnl
Link speeds are communicated over virtchnl using an enum
virtchnl_link_speed. Currently, the highest link speed is 40Gbps which
leaves us unable to reflect some speeds that an ice VF is capable of.
This causes link speed to be misreported on the iavf driver.

Allow for communicating link speeds using Mbps so that the proper speed can
be reported for an ice VF. Moving away from the enum allows us to
communicate future speed changes without requiring a new enum to be added.

In order to support communicating link speeds over virtchnl in Mbps the
following functionality was added:
    - Added u32 link_speed_mbps in the iavf_adapter structure.
    - Added the macro ADV_LINK_SUPPORT(_a) to determine if the VF
      driver supports communicating link speeds in Mbps.
    - Added the function iavf_get_vpe_link_status() to fill the
      correct link_status in the event_data union based on the
      ADV_LINK_SUPPORT(_a) macro.
    - Added the function iavf_set_adapter_link_speed_from_vpe()
      to determine whether or not to fill the u32 link_speed_mbps or
      enum virtchnl_link_speed link_speed field in the iavf_adapter
      structure based on the ADV_LINK_SUPPORT(_a) macro.
    - Do not free vf_res in iavf_init_get_resources() as vf_res will be
      accessed in iavf_get_link_ksettings(); memset to 0 instead. This
      memory is subsequently freed in iavf_remove().

Fixes: 7c710869d6 ("ice: Add handlers for VF netdevice operations")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Sergey Nemov <sergey.nemov@intel.com>
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-06-11 14:53:50 -07:00
..
accessibility
acpi pci-v5.8-changes 2020-06-06 11:01:58 -07:00
amba ARM: SoC changes for v5.8 2020-06-04 19:47:11 -07:00
android
ata for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
atm
auxdisplay
base Driver core patches for 5.8-rc1 2020-06-07 10:53:36 -07:00
bcma
block RDMA 5.8 merge window pull request 2020-06-05 14:05:57 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
bus Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
cdrom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
char Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
clk Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
clocksource clocksource/drivers/timer-versatile: Clear OF_POPULATED flag 2020-05-23 00:03:25 +02:00
connector connector/cn_proc: Protect send_msg() with a local lock 2020-05-28 10:31:10 +02:00
counter
cpufreq ARM/SoC: drivers for v5.7 2020-06-04 19:56:20 -07:00
cpuidle powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
crypto Crypto/chcr: Checking cra_refcnt before unregistering the algorithms 2020-06-10 17:05:02 -07:00
dax device-dax: add memory via add_memory_driver_managed() 2020-06-04 19:06:23 -07:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: Use lockdep asserts instead of manual checks for locked mutex 2020-05-28 18:02:40 +09:00
dio
dma dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' 2020-05-19 22:26:01 +05:30
dma-buf drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
edac Merge branches 'edac-i10nm' and 'edac-misc' into edac-updates-for-5.8 2020-06-01 11:39:15 +02:00
eisa
extcon extcon: arizona: Fix runtime PM imbalance on error 2020-05-29 17:36:02 +09:00
firewire
firmware Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
fpga Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
fsi
gnss gnss: replace zero-length array with flexible-array 2020-05-13 17:30:31 +02:00
gpio USB/PHY driver updates for 5.8-rc1 2020-06-07 09:42:16 -07:00
gpu TTY/Serial driver updates for 5.8-rc1 2020-06-07 09:52:36 -07:00
greybus
hid Merge branches 'for-5.7/upstream-fixes', 'for-5.8/apple', 'for-5.8/asus', 'for-5.8/core', 'for-5.8/intel-ish', 'for-5.8/logitech', 'for-5.8/mcp2221' and 'for-5.8/multitouch' into for-linus 2020-06-03 22:23:52 +02:00
hsi
hv hyperv-next for 5.8 2020-06-03 15:00:05 -07:00
hwmon hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
hwspinlock
hwtracing Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
i2c This is the bulk of GPIO changes for the v5.8 kernel cycle. 2020-06-05 14:00:30 -07:00
i3c
ide
idle
iio Staging/IIO driver patches for 5.8-rc1 2020-06-07 10:45:08 -07:00
infiniband RDMA 5.8 merge window pull request 2020-06-05 14:05:57 -07:00
input powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
interconnect interconnect changes for 5.8 2020-05-22 09:14:03 +02:00
iommu dma-mapping updates for 5.8, part 1 2020-06-06 11:43:23 -07:00
ipack ipack: tpci200: fix error return code in tpci200_register() 2020-05-15 16:32:20 +02:00
irqchip irqchip: Fix "Loongson HyperTransport Vector support" driver build on all non-MIPS platforms 2020-06-01 09:48:52 +02:00
isdn
leds LEDs pull request for 5.8-rc1. 2020-06-04 11:03:45 -07:00
lightnvm for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
macintosh powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
mailbox
mcb
md - Largest change for this cycle is the DM zoned target's metadata 2020-06-05 15:45:03 -07:00
media media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
memory Merge branch 'baikal/drivers' into arm/drivers 2020-05-28 14:18:11 +02:00
memstick
message
mfd This is the bulk of GPIO changes for the v5.8 kernel cycle. 2020-06-05 14:00:30 -07:00
misc Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
mmc Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
most
mtd for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
mux
net iavf: fix speed reporting over virtchnl 2020-06-11 14:53:50 -07:00
nfc Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-06-01 12:00:10 -07:00
ntb NTB: perf: Fix race condition when run with ntb_test 2020-06-05 20:02:09 -04:00
nubus
nvdimm nvdimm: use bio_{start,end}_io_acct 2020-05-27 05:21:23 -06:00
nvme RDMA 5.8 merge window pull request 2020-06-05 14:05:57 -07:00
nvmem nvmem: qfprom: remove incorrect write support 2020-05-27 11:09:26 +02:00
of Driver core patches for 5.8-rc1 2020-06-07 10:53:36 -07:00
opp
oprofile
parisc
parport Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
pci pci-v5.8-changes 2020-06-06 11:01:58 -07:00
pcmcia pci-v5.8-changes 2020-06-06 11:01:58 -07:00
perf arm64 updates for 5.8 2020-06-01 15:18:27 -07:00
phy USB: changes for v5.8 merge window 2020-05-25 13:28:20 +02:00
pinctrl This is the bulk of pin control changes for the v5.8 2020-06-07 16:13:43 -07:00
platform chrome platform changes for 5.8 2020-06-04 10:54:45 -07:00
pnp PNPBIOS: Replace zero-length array with flexible-array 2020-05-15 18:20:49 +02:00
power ARM: SoC changes for v5.8 2020-06-04 19:47:11 -07:00
powercap powercap: RAPL: remove unused local MSR define 2020-05-25 10:59:29 +02:00
pps
ps3 drivers/ps3: Remove duplicate error messages 2020-05-19 00:10:35 +10:00
ptp ptp_clock: Let the ADJ_OFFSET interface respect the ADJ_NANO flag for PHC devices. 2020-05-25 17:55:17 -07:00
pwm
rapidio rapidio: convert get_user_pages() --> pin_user_pages() 2020-06-04 19:06:26 -07:00
ras
regulator Merge remote-tracking branch 'regulator/for-5.8' into regulator-linus 2020-06-01 13:01:44 +01:00
remoteproc
reset Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
rpmsg
rtc RTC for 5.8 2020-06-07 16:11:23 -07:00
s390 SCSI misc on 20200605 2020-06-05 15:11:50 -07:00
sbus oradax: convert get_user_pages() --> pin_user_pages() 2020-05-17 12:46:10 -07:00
scsi SCSI misc on 20200605 2020-06-05 15:11:50 -07:00
sfi
sh
siox
slimbus slimbus: core: Fix mismatch in of_node_get/put 2020-05-15 16:21:08 +02:00
soc Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
soundwire soundwire: intel: use a single module 2020-05-20 19:24:55 +05:30
spi Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
spmi
ssb
staging Staging/IIO driver patches for 5.8-rc1 2020-06-07 10:45:08 -07:00
target SCSI misc on 20200605 2020-06-05 15:11:50 -07:00
tc
tee tee: fix crypto select 2020-05-28 12:38:00 +02:00
thermal
thunderbolt USB/PHY driver updates for 5.8-rc1 2020-06-07 09:42:16 -07:00
tty Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2020-06-07 17:11:41 -07:00
uio uio_hv_generic: add missed sysfs_remove_bin_file 2020-05-15 16:13:19 +02:00
usb USB/PHY driver updates for 5.8-rc1 2020-06-07 09:42:16 -07:00
vdpa
vfio VFIO updates for v5.8-rc1 2020-06-05 13:51:49 -07:00
vhost SCSI misc on 20200605 2020-06-05 15:11:50 -07:00
video powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
virt
virtio
visorbus
vlynq
vme
w1 w1: omap-hdq: print dev_err if irq flags are not cleared 2020-05-27 12:18:49 +02:00
watchdog linux-watchdog 5.8-rc1 tag 2020-06-04 10:50:22 -07:00
xen
zorro
Kconfig
Makefile