Merge branch 'ionic-add-sriov-support'
authorDavid S. Miller <davem@davemloft.net>
Sun, 5 Jan 2020 22:51:02 +0000 (14:51 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 Jan 2020 22:51:02 +0000 (14:51 -0800)
Shannon Nelson says:

====================
ionic: add sriov support

Set up the basic support for enabling SR-IOV devices in the
ionic driver.  Since most of the management work happens in
the NIC firmware, the driver becomes mostly a pass-through
for the network stack commands that want to control and
configure the VFs.

v4: changed "vf too big" checks to use pci_num_vf()
changed from vf[] array of pointers of individually allocated
  vf structs to single allocated vfs[] array of vf structs
added clean up of vfs[] on probe fail
added setup for vf stats dma

v3: added check in probe for pre-existing VFs
split out the alloc and dealloc of vf structs to better deal
  with pre-existing VFs (left enabled on remove)
restored the checks for vf too big because of a potential
  case where VFs are already enabled but driver failed to
  alloc the vf structs

v2: use pci_num_vf() and kcalloc()
remove checks for vf too big
add locking for the VF operations
disable VFs in ionic_remove() if they are still running
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

Trivial merge