sfc: Enable VF's via a write to the sysfs file sriov_numvfs
This patch adds support for the use of sriov_configure on EF10 to enable Virtual Functions while the driver is loaded. Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d92916f71a
commit
25672dba95
@@ -3047,6 +3047,26 @@ static int efx_pci_probe(struct pci_dev *pci_dev,
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* efx_pci_sriov_configure returns the actual number of Virtual Functions
|
||||
* enabled on success
|
||||
*/
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
static int efx_pci_sriov_configure(struct pci_dev *dev, int num_vfs)
|
||||
{
|
||||
int rc;
|
||||
struct efx_nic *efx = pci_get_drvdata(dev);
|
||||
|
||||
if (efx->type->sriov_configure) {
|
||||
rc = efx->type->sriov_configure(efx, num_vfs);
|
||||
if (rc)
|
||||
return rc;
|
||||
else
|
||||
return num_vfs;
|
||||
} else
|
||||
return -ENOSYS;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int efx_pm_freeze(struct device *dev)
|
||||
{
|
||||
struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev));
|
||||
@@ -3269,6 +3289,9 @@ static struct pci_driver efx_pci_driver = {
|
||||
.remove = efx_pci_remove,
|
||||
.driver.pm = &efx_pm_ops,
|
||||
.err_handler = &efx_err_handlers,
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
.sriov_configure = efx_pci_sriov_configure,
|
||||
#endif
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
|
Reference in New Issue
Block a user