diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-04-28 13:53:16 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2014-05-21 07:11:10 -0400 |
commit | fc2f2f5dfd4438bd785e773e46adf425b1e353f1 (patch) | |
tree | e073c37a1402dd7445f5f13801d2434b05f38248 /drivers/net/ethernet/intel/i40evf/i40evf_main.c | |
parent | df805f62d16db15fdb9278bcb56ee3863deebfb8 (diff) |
i40evf: 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() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: linux-pci@vger.kernel.org
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf/i40evf_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 13989ef35750..6f6bd3f01801 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c | |||
@@ -1032,30 +1032,21 @@ i40evf_acquire_msix_vectors(struct i40evf_adapter *adapter, int vectors) | |||
1032 | * Right now, we simply care about how many we'll get; we'll | 1032 | * Right now, we simply care about how many we'll get; we'll |
1033 | * set them up later while requesting irq's. | 1033 | * set them up later while requesting irq's. |
1034 | */ | 1034 | */ |
1035 | while (vectors >= vector_threshold) { | 1035 | err = pci_enable_msix_range(adapter->pdev, adapter->msix_entries, |
1036 | err = pci_enable_msix(adapter->pdev, adapter->msix_entries, | 1036 | vector_threshold, vectors); |
1037 | vectors); | 1037 | if (err < 0) { |
1038 | if (!err) /* Success in acquiring all requested vectors. */ | ||
1039 | break; | ||
1040 | else if (err < 0) | ||
1041 | vectors = 0; /* Nasty failure, quit now */ | ||
1042 | else /* err == number of vectors we should try again with */ | ||
1043 | vectors = err; | ||
1044 | } | ||
1045 | |||
1046 | if (vectors < vector_threshold) { | ||
1047 | dev_err(&adapter->pdev->dev, "Unable to allocate MSI-X interrupts.\n"); | 1038 | dev_err(&adapter->pdev->dev, "Unable to allocate MSI-X interrupts.\n"); |
1048 | kfree(adapter->msix_entries); | 1039 | kfree(adapter->msix_entries); |
1049 | adapter->msix_entries = NULL; | 1040 | adapter->msix_entries = NULL; |
1050 | err = -EIO; | 1041 | return err; |
1051 | } else { | ||
1052 | /* Adjust for only the vectors we'll use, which is minimum | ||
1053 | * of max_msix_q_vectors + NONQ_VECS, or the number of | ||
1054 | * vectors we were allocated. | ||
1055 | */ | ||
1056 | adapter->num_msix_vectors = vectors; | ||
1057 | } | 1042 | } |
1058 | return err; | 1043 | |
1044 | /* Adjust for only the vectors we'll use, which is minimum | ||
1045 | * of max_msix_q_vectors + NONQ_VECS, or the number of | ||
1046 | * vectors we were allocated. | ||
1047 | */ | ||
1048 | adapter->num_msix_vectors = err; | ||
1049 | return 0; | ||
1059 | } | 1050 | } |
1060 | 1051 | ||
1061 | /** | 1052 | /** |