aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2014-02-18 05:11:42 -0500
committerDavid S. Miller <davem@davemloft.net>2014-02-18 15:33:31 -0500
commit7b37f3765c9befa0ff7cfba667f430880c87ee5a (patch)
tree693844e15f8f146a0cafda980a21103a1e6367c0
parent0cc7c959fa8920e0b5922d04663e6bbb1e041252 (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.c33
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 **/
5857static int i40e_reserve_msix_vectors(struct i40e_pf *pf, int vectors) 5857static 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