i40e: Use pci_enable_msix_range() instead of pci_enable_msix()

As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() and pci_enable_msix_range()
interfaces.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: e1000-devel@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alexander Gordeev 2014-02-18 11:11:42 +01:00 committed by David S. Miller
parent 0cc7c959fa
commit 7b37f3765c
1 changed files with 6 additions and 27 deletions

View File

@ -5856,37 +5856,16 @@ static int i40e_alloc_rings(struct i40e_vsi *vsi)
**/
static int i40e_reserve_msix_vectors(struct i40e_pf *pf, int vectors)
{
int err = 0;
pf->num_msix_entries = 0;
while (vectors >= I40E_MIN_MSIX) {
err = pci_enable_msix(pf->pdev, pf->msix_entries, vectors);
if (err == 0) {
/* good to go */
pf->num_msix_entries = vectors;
break;
} else if (err < 0) {
/* total failure */
dev_info(&pf->pdev->dev,
"MSI-X vector reservation failed: %d\n", err);
vectors = 0;
break;
} else {
/* err > 0 is the hint for retry */
dev_info(&pf->pdev->dev,
"MSI-X vectors wanted %d, retrying with %d\n",
vectors, err);
vectors = err;
}
}
if (vectors > 0 && vectors < I40E_MIN_MSIX) {
vectors = pci_enable_msix_range(pf->pdev, pf->msix_entries,
I40E_MIN_MSIX, vectors);
if (vectors < 0) {
dev_info(&pf->pdev->dev,
"Couldn't get enough vectors, only %d available\n",
vectors);
"MSI-X vector reservation failed: %d\n", vectors);
vectors = 0;
}
pf->num_msix_entries = vectors;
return vectors;
}