Commit 5a9ef25b authored by Wayne Boyer's avatar Wayne Boyer Committed by James Bottomley

[SCSI] ipr: add MSI support

Enable MSI if available/supported.
Signed-off-by: default avatarWayne Boyer <wayneb@linux.vnet.ibm.com>
Acked-by: default avatarBrian King <brking@linux.vnet.ibm.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 951948a3
...@@ -7147,6 +7147,7 @@ static void ipr_free_all_resources(struct ipr_ioa_cfg *ioa_cfg) ...@@ -7147,6 +7147,7 @@ static void ipr_free_all_resources(struct ipr_ioa_cfg *ioa_cfg)
ENTER; ENTER;
free_irq(pdev->irq, ioa_cfg); free_irq(pdev->irq, ioa_cfg);
pci_disable_msi(pdev);
iounmap(ioa_cfg->hdw_dma_regs); iounmap(ioa_cfg->hdw_dma_regs);
pci_release_regions(pdev); pci_release_regions(pdev);
ipr_free_mem(ioa_cfg); ipr_free_mem(ioa_cfg);
...@@ -7432,6 +7433,11 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, ...@@ -7432,6 +7433,11 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
goto out; goto out;
} }
if (!(rc = pci_enable_msi(pdev)))
dev_info(&pdev->dev, "MSI enabled\n");
else if (ipr_debug)
dev_info(&pdev->dev, "Cannot enable MSI\n");
dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq); dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq);
host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg)); host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg));
...@@ -7574,6 +7580,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, ...@@ -7574,6 +7580,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
out_scsi_host_put: out_scsi_host_put:
scsi_host_put(host); scsi_host_put(host);
out_disable: out_disable:
pci_disable_msi(pdev);
pci_disable_device(pdev); pci_disable_device(pdev);
goto out; goto out;
} }
......
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
/* /*
* Literals * Literals
*/ */
#define IPR_DRIVER_VERSION "2.4.1" #define IPR_DRIVER_VERSION "2.4.2"
#define IPR_DRIVER_DATE "(April 24, 2007)" #define IPR_DRIVER_DATE "(January 21, 2009)"
/* /*
* IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding
......
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