IB/mthca: switch to pci_alloc_irq_vectors
Trivial switch to the new API for this driver. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Doug Ledford <dledford@redhat.com>hifive-unleashed-5.1
parent
1bb0d7b781
commit
f50cccdd03
|
@ -851,20 +851,18 @@ err_uar_table_free:
|
||||||
|
|
||||||
static int mthca_enable_msi_x(struct mthca_dev *mdev)
|
static int mthca_enable_msi_x(struct mthca_dev *mdev)
|
||||||
{
|
{
|
||||||
struct msix_entry entries[3];
|
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
entries[0].entry = 0;
|
err = pci_alloc_irq_vectors(mdev->pdev, 3, 3, PCI_IRQ_MSIX);
|
||||||
entries[1].entry = 1;
|
if (err < 0)
|
||||||
entries[2].entry = 2;
|
|
||||||
|
|
||||||
err = pci_enable_msix_exact(mdev->pdev, entries, ARRAY_SIZE(entries));
|
|
||||||
if (err)
|
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
mdev->eq_table.eq[MTHCA_EQ_COMP ].msi_x_vector = entries[0].vector;
|
mdev->eq_table.eq[MTHCA_EQ_COMP ].msi_x_vector =
|
||||||
mdev->eq_table.eq[MTHCA_EQ_ASYNC].msi_x_vector = entries[1].vector;
|
pci_irq_vector(mdev->pdev, 0);
|
||||||
mdev->eq_table.eq[MTHCA_EQ_CMD ].msi_x_vector = entries[2].vector;
|
mdev->eq_table.eq[MTHCA_EQ_ASYNC].msi_x_vector =
|
||||||
|
pci_irq_vector(mdev->pdev, 1);
|
||||||
|
mdev->eq_table.eq[MTHCA_EQ_CMD ].msi_x_vector =
|
||||||
|
pci_irq_vector(mdev->pdev, 2);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1018,7 +1016,7 @@ static int __mthca_init_one(struct pci_dev *pdev, int hca_type)
|
||||||
err = mthca_setup_hca(mdev);
|
err = mthca_setup_hca(mdev);
|
||||||
if (err == -EBUSY && (mdev->mthca_flags & MTHCA_FLAG_MSI_X)) {
|
if (err == -EBUSY && (mdev->mthca_flags & MTHCA_FLAG_MSI_X)) {
|
||||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||||
pci_disable_msix(pdev);
|
pci_free_irq_vectors(pdev);
|
||||||
mdev->mthca_flags &= ~MTHCA_FLAG_MSI_X;
|
mdev->mthca_flags &= ~MTHCA_FLAG_MSI_X;
|
||||||
|
|
||||||
err = mthca_setup_hca(mdev);
|
err = mthca_setup_hca(mdev);
|
||||||
|
@ -1062,7 +1060,7 @@ err_cleanup:
|
||||||
|
|
||||||
err_close:
|
err_close:
|
||||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||||
pci_disable_msix(pdev);
|
pci_free_irq_vectors(pdev);
|
||||||
|
|
||||||
mthca_close_hca(mdev);
|
mthca_close_hca(mdev);
|
||||||
|
|
||||||
|
@ -1113,7 +1111,7 @@ static void __mthca_remove_one(struct pci_dev *pdev)
|
||||||
mthca_cmd_cleanup(mdev);
|
mthca_cmd_cleanup(mdev);
|
||||||
|
|
||||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||||
pci_disable_msix(pdev);
|
pci_free_irq_vectors(pdev);
|
||||||
|
|
||||||
ib_dealloc_device(&mdev->ib_dev);
|
ib_dealloc_device(&mdev->ib_dev);
|
||||||
pci_release_regions(pdev);
|
pci_release_regions(pdev);
|
||||||
|
|
Loading…
Reference in New Issue