mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
IB/mthca: Remove MSI support as scheduled
Remove MSI support from the mthca driver, as scheduled. There is no
reason to use MSI instead of MSI-X, since MSI-X performs better. No
one has spoken up since MSI support was deprecated in commit f6be6fbe
("IB/mthca: Schedule MSI support for removal"), so apparently the MSI
support is unused.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
38dc732f47
commit
e57895d389
4 changed files with 13 additions and 54 deletions
|
@ -295,16 +295,6 @@ Who: linuxppc-dev@ozlabs.org
|
|||
|
||||
---------------------------
|
||||
|
||||
What: mthca driver's MSI support
|
||||
When: January 2008
|
||||
Files: drivers/infiniband/hw/mthca/*.[ch]
|
||||
Why: All mthca hardware also supports MSI-X, which provides
|
||||
strictly more functionality than MSI. So there is no point in
|
||||
having both MSI-X and MSI support in the driver.
|
||||
Who: Roland Dreier <rolandd@cisco.com>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: sk98lin network driver
|
||||
When: Feburary 2008
|
||||
Why: In kernel tree version of driver is unmaintained. Sk98lin driver
|
||||
|
|
|
@ -60,13 +60,12 @@
|
|||
enum {
|
||||
MTHCA_FLAG_DDR_HIDDEN = 1 << 1,
|
||||
MTHCA_FLAG_SRQ = 1 << 2,
|
||||
MTHCA_FLAG_MSI = 1 << 3,
|
||||
MTHCA_FLAG_MSI_X = 1 << 4,
|
||||
MTHCA_FLAG_NO_LAM = 1 << 5,
|
||||
MTHCA_FLAG_FMR = 1 << 6,
|
||||
MTHCA_FLAG_MEMFREE = 1 << 7,
|
||||
MTHCA_FLAG_PCIE = 1 << 8,
|
||||
MTHCA_FLAG_SINAI_OPT = 1 << 9
|
||||
MTHCA_FLAG_MSI_X = 1 << 3,
|
||||
MTHCA_FLAG_NO_LAM = 1 << 4,
|
||||
MTHCA_FLAG_FMR = 1 << 5,
|
||||
MTHCA_FLAG_MEMFREE = 1 << 6,
|
||||
MTHCA_FLAG_PCIE = 1 << 7,
|
||||
MTHCA_FLAG_SINAI_OPT = 1 << 8
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
@ -827,8 +827,7 @@ int mthca_init_eq_table(struct mthca_dev *dev)
|
|||
if (err)
|
||||
goto err_out_free;
|
||||
|
||||
if (dev->mthca_flags & MTHCA_FLAG_MSI ||
|
||||
dev->mthca_flags & MTHCA_FLAG_MSI_X) {
|
||||
if (dev->mthca_flags & MTHCA_FLAG_MSI_X) {
|
||||
dev->eq_table.clr_mask = 0;
|
||||
} else {
|
||||
dev->eq_table.clr_mask =
|
||||
|
@ -839,8 +838,7 @@ int mthca_init_eq_table(struct mthca_dev *dev)
|
|||
|
||||
dev->eq_table.arm_mask = 0;
|
||||
|
||||
intr = (dev->mthca_flags & MTHCA_FLAG_MSI) ?
|
||||
128 : dev->eq_table.inta_pin;
|
||||
intr = dev->eq_table.inta_pin;
|
||||
|
||||
err = mthca_create_eq(dev, dev->limits.num_cqs + MTHCA_NUM_SPARE_EQE,
|
||||
(dev->mthca_flags & MTHCA_FLAG_MSI_X) ? 128 : intr,
|
||||
|
|
|
@ -65,14 +65,9 @@ static int msi_x = 1;
|
|||
module_param(msi_x, int, 0444);
|
||||
MODULE_PARM_DESC(msi_x, "attempt to use MSI-X if nonzero");
|
||||
|
||||
static int msi = 0;
|
||||
module_param(msi, int, 0444);
|
||||
MODULE_PARM_DESC(msi, "attempt to use MSI if nonzero (deprecated, use MSI-X instead)");
|
||||
|
||||
#else /* CONFIG_PCI_MSI */
|
||||
|
||||
#define msi_x (0)
|
||||
#define msi (0)
|
||||
|
||||
#endif /* CONFIG_PCI_MSI */
|
||||
|
||||
|
@ -816,13 +811,11 @@ static int mthca_setup_hca(struct mthca_dev *dev)
|
|||
|
||||
err = mthca_NOP(dev, &status);
|
||||
if (err || status) {
|
||||
if (dev->mthca_flags & (MTHCA_FLAG_MSI | MTHCA_FLAG_MSI_X)) {
|
||||
if (dev->mthca_flags & MTHCA_FLAG_MSI_X) {
|
||||
mthca_warn(dev, "NOP command failed to generate interrupt "
|
||||
"(IRQ %d).\n",
|
||||
dev->mthca_flags & MTHCA_FLAG_MSI_X ?
|
||||
dev->eq_table.eq[MTHCA_EQ_CMD].msi_x_vector :
|
||||
dev->pdev->irq);
|
||||
mthca_warn(dev, "Trying again with MSI/MSI-X disabled.\n");
|
||||
dev->eq_table.eq[MTHCA_EQ_CMD].msi_x_vector);
|
||||
mthca_warn(dev, "Trying again with MSI-X disabled.\n");
|
||||
} else {
|
||||
mthca_err(dev, "NOP command failed to generate interrupt "
|
||||
"(IRQ %d), aborting.\n",
|
||||
|
@ -1128,29 +1121,12 @@ static int __mthca_init_one(struct pci_dev *pdev, int hca_type)
|
|||
|
||||
if (msi_x && !mthca_enable_msi_x(mdev))
|
||||
mdev->mthca_flags |= MTHCA_FLAG_MSI_X;
|
||||
else if (msi) {
|
||||
static int warned;
|
||||
|
||||
if (!warned) {
|
||||
printk(KERN_WARNING PFX "WARNING: MSI support will be "
|
||||
"removed from the ib_mthca driver in January 2008.\n");
|
||||
printk(KERN_WARNING " If you are using MSI and cannot "
|
||||
"switch to MSI-X, please tell "
|
||||
"<general@lists.openfabrics.org>.\n");
|
||||
++warned;
|
||||
}
|
||||
|
||||
if (!pci_enable_msi(pdev))
|
||||
mdev->mthca_flags |= MTHCA_FLAG_MSI;
|
||||
}
|
||||
|
||||
err = mthca_setup_hca(mdev);
|
||||
if (err == -EBUSY && (mdev->mthca_flags & (MTHCA_FLAG_MSI | MTHCA_FLAG_MSI_X))) {
|
||||
if (err == -EBUSY && (mdev->mthca_flags & MTHCA_FLAG_MSI_X)) {
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||
pci_disable_msix(pdev);
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI)
|
||||
pci_disable_msi(pdev);
|
||||
mdev->mthca_flags &= ~(MTHCA_FLAG_MSI_X | MTHCA_FLAG_MSI);
|
||||
mdev->mthca_flags &= ~MTHCA_FLAG_MSI_X;
|
||||
|
||||
err = mthca_setup_hca(mdev);
|
||||
}
|
||||
|
@ -1192,8 +1168,6 @@ err_cleanup:
|
|||
err_close:
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||
pci_disable_msix(pdev);
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI)
|
||||
pci_disable_msi(pdev);
|
||||
|
||||
mthca_close_hca(mdev);
|
||||
|
||||
|
@ -1246,8 +1220,6 @@ static void __mthca_remove_one(struct pci_dev *pdev)
|
|||
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI_X)
|
||||
pci_disable_msix(pdev);
|
||||
if (mdev->mthca_flags & MTHCA_FLAG_MSI)
|
||||
pci_disable_msi(pdev);
|
||||
|
||||
ib_dealloc_device(&mdev->ib_dev);
|
||||
mthca_release_regions(pdev, mdev->mthca_flags &
|
||||
|
|
Loading…
Reference in a new issue