Skip to content
Commit 8d85a7a4 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by Bjorn Helgaas
Browse files

PCI/IOV: Allow PF drivers to limit total_VFs to 0



Some SR-IOV PF drivers implement .sriov_configure(), which allows
user-space to enable VFs by writing the desired number of VFs to the sysfs
"sriov_numvfs" file (see sriov_numvfs_store()).

The PCI core limits the number of VFs to the TotalVFs advertised by the
device in its SR-IOV capability.  The PF driver can limit the number of VFs
to even fewer (it may have pre-allocated data structures or knowledge of
device limitations) by calling pci_sriov_set_totalvfs(), but previously it
could not limit the VFs to 0.

Change pci_sriov_get_totalvfs() so it always respects the VF limit imposed
by the PF driver, even if the limit is 0.

This sequence:

  pci_sriov_set_totalvfs(dev, 0);
  x = pci_sriov_get_totalvfs(dev);

previously set "x" to TotalVFs from the SR-IOV capability.  Now it will set
"x" to 0.

Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
[bhelgaas: split to separate patch]
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent cef74409
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment