aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVivek Mahajan <vivek.mahajan@freescale.com>2009-11-16 01:19:22 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-12-03 02:46:34 -0500
commitdae77214fa71898b84514e43721fb7bf260b026a (patch)
treef439185a2b1ffe3f481ec0ae1409c0c208e540e7 /drivers
parent097dac91837b35947fffb0e303bcf71e4e4a789f (diff)
sata_sil24: MSI support, disabled by default
The following patch adds MSI support. Some platforms may have broken MSI, so those are defaulted to use legacy PCI interrupts. Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/sata_sil24.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index e6946fc527d0..1370df6c420c 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -417,6 +417,10 @@ static struct ata_port_operations sil24_ops = {
417#endif 417#endif
418}; 418};
419 419
420static int sata_sil24_msi; /* Disable MSI */
421module_param_named(msi, sata_sil24_msi, bool, S_IRUGO);
422MODULE_PARM_DESC(msi, "Enable MSI (Default: false)");
423
420/* 424/*
421 * Use bits 30-31 of port_flags to encode available port numbers. 425 * Use bits 30-31 of port_flags to encode available port numbers.
422 * Current maxium is 4. 426 * Current maxium is 4.
@@ -1340,6 +1344,11 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1340 1344
1341 sil24_init_controller(host); 1345 sil24_init_controller(host);
1342 1346
1347 if (sata_sil24_msi && !pci_enable_msi(pdev)) {
1348 dev_printk(KERN_INFO, &pdev->dev, "Using MSI\n");
1349 pci_intx(pdev, 0);
1350 }
1351
1343 pci_set_master(pdev); 1352 pci_set_master(pdev);
1344 return ata_host_activate(host, pdev->irq, sil24_interrupt, IRQF_SHARED, 1353 return ata_host_activate(host, pdev->irq, sil24_interrupt, IRQF_SHARED,
1345 &sil24_sht); 1354 &sil24_sht);