diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-02-18 05:11:42 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-18 15:33:31 -0500 |
commit | 7b37f3765c9befa0ff7cfba667f430880c87ee5a (patch) | |
tree | 693844e15f8f146a0cafda980a21103a1e6367c0 | |
parent | 0cc7c959fa8920e0b5922d04663e6bbb1e041252 (diff) |
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>
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 628e917f5338..3116861198f0 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c | |||
@@ -5856,37 +5856,16 @@ err_out: | |||
5856 | **/ | 5856 | **/ |
5857 | static int i40e_reserve_msix_vectors(struct i40e_pf *pf, int vectors) | 5857 | static int i40e_reserve_msix_vectors(struct i40e_pf *pf, int vectors) |
5858 | { | 5858 | { |
5859 | int err = 0; | 5859 | vectors = pci_enable_msix_range(pf->pdev, pf->msix_entries, |
5860 | 5860 | I40E_MIN_MSIX, vectors); | |
5861 | pf->num_msix_entries = 0; | 5861 | if (vectors < 0) { |
5862 | while (vectors >= I40E_MIN_MSIX) { | ||
5863 | err = pci_enable_msix(pf->pdev, pf->msix_entries, vectors); | ||
5864 | if (err == 0) { | ||
5865 | /* good to go */ | ||
5866 | pf->num_msix_entries = vectors; | ||
5867 | break; | ||
5868 | } else if (err < 0) { | ||
5869 | /* total failure */ | ||
5870 | dev_info(&pf->pdev->dev, | ||
5871 | "MSI-X vector reservation failed: %d\n", err); | ||
5872 | vectors = 0; | ||
5873 | break; | ||
5874 | } else { | ||
5875 | /* err > 0 is the hint for retry */ | ||
5876 | dev_info(&pf->pdev->dev, | ||
5877 | "MSI-X vectors wanted %d, retrying with %d\n", | ||
5878 | vectors, err); | ||
5879 | vectors = err; | ||
5880 | } | ||
5881 | } | ||
5882 | |||
5883 | if (vectors > 0 && vectors < I40E_MIN_MSIX) { | ||
5884 | dev_info(&pf->pdev->dev, | 5862 | dev_info(&pf->pdev->dev, |
5885 | "Couldn't get enough vectors, only %d available\n", | 5863 | "MSI-X vector reservation failed: %d\n", vectors); |
5886 | vectors); | ||
5887 | vectors = 0; | 5864 | vectors = 0; |
5888 | } | 5865 | } |
5889 | 5866 | ||
5867 | pf->num_msix_entries = vectors; | ||
5868 | |||
5890 | return vectors; | 5869 | return vectors; |
5891 | } | 5870 | } |
5892 | 5871 | ||