Commit bd663689 authored by Alexander Gordeev's avatar Alexander Gordeev Committed by David S. Miller

cxgb4vf: 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: default avatarAlexander Gordeev <agordeev@redhat.com>
Cc: Casey Leedom <leedom@chelsio.com>
Cc: netdev@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f6f273bf
...@@ -2444,7 +2444,7 @@ static void reduce_ethqs(struct adapter *adapter, int n) ...@@ -2444,7 +2444,7 @@ static void reduce_ethqs(struct adapter *adapter, int n)
*/ */
static int enable_msix(struct adapter *adapter) static int enable_msix(struct adapter *adapter)
{ {
int i, err, want, need; int i, want, need, nqsets;
struct msix_entry entries[MSIX_ENTRIES]; struct msix_entry entries[MSIX_ENTRIES];
struct sge *s = &adapter->sge; struct sge *s = &adapter->sge;
...@@ -2460,25 +2460,23 @@ static int enable_msix(struct adapter *adapter) ...@@ -2460,25 +2460,23 @@ static int enable_msix(struct adapter *adapter)
*/ */
want = s->max_ethqsets + MSIX_EXTRAS; want = s->max_ethqsets + MSIX_EXTRAS;
need = adapter->params.nports + MSIX_EXTRAS; need = adapter->params.nports + MSIX_EXTRAS;
while ((err = pci_enable_msix(adapter->pdev, entries, want)) >= need)
want = err;
if (err == 0) { want = pci_enable_msix_range(adapter->pdev, entries, need, want);
int nqsets = want - MSIX_EXTRAS; if (want < 0)
if (nqsets < s->max_ethqsets) { return want;
dev_warn(adapter->pdev_dev, "only enough MSI-X vectors"
" for %d Queue Sets\n", nqsets); nqsets = want - MSIX_EXTRAS;
s->max_ethqsets = nqsets; if (nqsets < s->max_ethqsets) {
if (nqsets < s->ethqsets) dev_warn(adapter->pdev_dev, "only enough MSI-X vectors"
reduce_ethqs(adapter, nqsets); " for %d Queue Sets\n", nqsets);
} s->max_ethqsets = nqsets;
for (i = 0; i < want; ++i) if (nqsets < s->ethqsets)
adapter->msix_info[i].vec = entries[i].vector; reduce_ethqs(adapter, nqsets);
} else if (err > 0) {
dev_info(adapter->pdev_dev, "only %d MSI-X vectors left,"
" not using MSI-X\n", err);
} }
return err; for (i = 0; i < want; ++i)
adapter->msix_info[i].vec = entries[i].vector;
return 0;
} }
static const struct net_device_ops cxgb4vf_netdev_ops = { static const struct net_device_ops cxgb4vf_netdev_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment