mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
i40e: use global pci_vfs_assigned() to replace local i40e_vfs_are_assigned()
There is global funcion pci_vfs_assigned(), so use it instead of composing local one. Signed-off-by: Ethan Zhao <ethan.kernel@gmail.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
e966d5c612
commit
c24817b6ba
@ -707,35 +707,6 @@ complete_reset:
|
||||
wr32(hw, I40E_VFGEN_RSTAT1(vf->vf_id), I40E_VFR_VFACTIVE);
|
||||
i40e_flush(hw);
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_vfs_are_assigned
|
||||
* @pf: pointer to the pf structure
|
||||
*
|
||||
* Determine if any VFs are assigned to VMs
|
||||
**/
|
||||
static bool i40e_vfs_are_assigned(struct i40e_pf *pf)
|
||||
{
|
||||
struct pci_dev *pdev = pf->pdev;
|
||||
struct pci_dev *vfdev;
|
||||
|
||||
/* loop through all the VFs to see if we own any that are assigned */
|
||||
vfdev = pci_get_device(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF , NULL);
|
||||
while (vfdev) {
|
||||
/* if we don't own it we don't care */
|
||||
if (vfdev->is_virtfn && pci_physfn(vfdev) == pdev) {
|
||||
/* if it is assigned we cannot release it */
|
||||
if (vfdev->dev_flags & PCI_DEV_FLAGS_ASSIGNED)
|
||||
return true;
|
||||
}
|
||||
|
||||
vfdev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
||||
I40E_DEV_ID_VF,
|
||||
vfdev);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#ifdef CONFIG_PCI_IOV
|
||||
|
||||
/**
|
||||
@ -843,7 +814,7 @@ void i40e_free_vfs(struct i40e_pf *pf)
|
||||
* assigned. Setting the number of VFs to 0 through sysfs is caught
|
||||
* before this function ever gets called.
|
||||
*/
|
||||
if (!i40e_vfs_are_assigned(pf)) {
|
||||
if (!pci_vfs_assigned(pf->pdev)) {
|
||||
pci_disable_sriov(pf->pdev);
|
||||
/* Acknowledge VFLR for all VFS. Without this, VFs will fail to
|
||||
* work correctly when SR-IOV gets re-enabled.
|
||||
@ -980,7 +951,7 @@ int i40e_pci_sriov_configure(struct pci_dev *pdev, int num_vfs)
|
||||
if (num_vfs)
|
||||
return i40e_pci_sriov_enable(pdev, num_vfs);
|
||||
|
||||
if (!i40e_vfs_are_assigned(pf)) {
|
||||
if (!pci_vfs_assigned(pf->pdev)) {
|
||||
i40e_free_vfs(pf);
|
||||
} else {
|
||||
dev_warn(&pdev->dev, "Unable to free VFs because some are assigned to VMs.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user