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>
This commit is contained in:
Vivek Mahajan 2009-11-16 11:49:22 +05:30 committed by Jeff Garzik
parent 097dac9183
commit dae77214fa

View file

@ -417,6 +417,10 @@ static struct ata_port_operations sil24_ops = {
#endif #endif
}; };
static int sata_sil24_msi; /* Disable MSI */
module_param_named(msi, sata_sil24_msi, bool, S_IRUGO);
MODULE_PARM_DESC(msi, "Enable MSI (Default: false)");
/* /*
* Use bits 30-31 of port_flags to encode available port numbers. * Use bits 30-31 of port_flags to encode available port numbers.
* Current maxium is 4. * Current maxium is 4.
@ -1340,6 +1344,11 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
sil24_init_controller(host); sil24_init_controller(host);
if (sata_sil24_msi && !pci_enable_msi(pdev)) {
dev_printk(KERN_INFO, &pdev->dev, "Using MSI\n");
pci_intx(pdev, 0);
}
pci_set_master(pdev); pci_set_master(pdev);
return ata_host_activate(host, pdev->irq, sil24_interrupt, IRQF_SHARED, return ata_host_activate(host, pdev->irq, sil24_interrupt, IRQF_SHARED,
&sil24_sht); &sil24_sht);