diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-02-18 05:11:46 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-18 15:33:31 -0500 |
commit | 5c1e35880233b0385cc60ae8e3f2a40c69de24e0 (patch) | |
tree | b39979353da5a1967b6834fb150a81162b473f69 | |
parent | b45e620c52636d8480a6f90ba6cc7d48e17b38dd (diff) |
ixgbevf: 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: Bruce Allan <bruce.w.allan@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/ixgbevf/ixgbevf_main.c | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 9df28985eba7..a6af7b7c59b1 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | |||
@@ -1817,7 +1817,6 @@ void ixgbevf_reset(struct ixgbevf_adapter *adapter) | |||
1817 | static int ixgbevf_acquire_msix_vectors(struct ixgbevf_adapter *adapter, | 1817 | static int ixgbevf_acquire_msix_vectors(struct ixgbevf_adapter *adapter, |
1818 | int vectors) | 1818 | int vectors) |
1819 | { | 1819 | { |
1820 | int err = 0; | ||
1821 | int vector_threshold; | 1820 | int vector_threshold; |
1822 | 1821 | ||
1823 | /* We'll want at least 2 (vector_threshold): | 1822 | /* We'll want at least 2 (vector_threshold): |
@@ -1831,33 +1830,24 @@ static int ixgbevf_acquire_msix_vectors(struct ixgbevf_adapter *adapter, | |||
1831 | * Right now, we simply care about how many we'll get; we'll | 1830 | * Right now, we simply care about how many we'll get; we'll |
1832 | * set them up later while requesting irq's. | 1831 | * set them up later while requesting irq's. |
1833 | */ | 1832 | */ |
1834 | while (vectors >= vector_threshold) { | 1833 | vectors = pci_enable_msix_range(adapter->pdev, adapter->msix_entries, |
1835 | err = pci_enable_msix(adapter->pdev, adapter->msix_entries, | 1834 | vector_threshold, vectors); |
1836 | vectors); | ||
1837 | if (!err || err < 0) /* Success or a nasty failure. */ | ||
1838 | break; | ||
1839 | else /* err == number of vectors we should try again with */ | ||
1840 | vectors = err; | ||
1841 | } | ||
1842 | 1835 | ||
1843 | if (vectors < vector_threshold) | 1836 | if (vectors < 0) { |
1844 | err = -ENOMEM; | ||
1845 | |||
1846 | if (err) { | ||
1847 | dev_err(&adapter->pdev->dev, | 1837 | dev_err(&adapter->pdev->dev, |
1848 | "Unable to allocate MSI-X interrupts\n"); | 1838 | "Unable to allocate MSI-X interrupts\n"); |
1849 | kfree(adapter->msix_entries); | 1839 | kfree(adapter->msix_entries); |
1850 | adapter->msix_entries = NULL; | 1840 | adapter->msix_entries = NULL; |
1851 | } else { | 1841 | return vectors; |
1852 | /* | ||
1853 | * Adjust for only the vectors we'll use, which is minimum | ||
1854 | * of max_msix_q_vectors + NON_Q_VECTORS, or the number of | ||
1855 | * vectors we were allocated. | ||
1856 | */ | ||
1857 | adapter->num_msix_vectors = vectors; | ||
1858 | } | 1842 | } |
1859 | 1843 | ||
1860 | return err; | 1844 | /* Adjust for only the vectors we'll use, which is minimum |
1845 | * of max_msix_q_vectors + NON_Q_VECTORS, or the number of | ||
1846 | * vectors we were allocated. | ||
1847 | */ | ||
1848 | adapter->num_msix_vectors = vectors; | ||
1849 | |||
1850 | return 0; | ||
1861 | } | 1851 | } |
1862 | 1852 | ||
1863 | /** | 1853 | /** |