|
@@ -602,6 +602,7 @@ MODULE_VERSION(DRV_VERSION);
|
|
|
|
|
|
static int adma_enabled;
|
|
|
static int swncq_enabled = 1;
|
|
|
+static int msi_enabled;
|
|
|
|
|
|
static void nv_adma_register_mode(struct ata_port *ap)
|
|
|
{
|
|
@@ -2459,6 +2460,11 @@ static int nv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
} else if (type == SWNCQ)
|
|
|
nv_swncq_host_init(host);
|
|
|
|
|
|
+ if (msi_enabled) {
|
|
|
+ dev_printk(KERN_NOTICE, &pdev->dev, "Using MSI\n");
|
|
|
+ pci_enable_msi(pdev);
|
|
|
+ }
|
|
|
+
|
|
|
pci_set_master(pdev);
|
|
|
return ata_host_activate(host, pdev->irq, ipriv->irq_handler,
|
|
|
IRQF_SHARED, ipriv->sht);
|
|
@@ -2558,4 +2564,6 @@ module_param_named(adma, adma_enabled, bool, 0444);
|
|
|
MODULE_PARM_DESC(adma, "Enable use of ADMA (Default: false)");
|
|
|
module_param_named(swncq, swncq_enabled, bool, 0444);
|
|
|
MODULE_PARM_DESC(swncq, "Enable use of SWNCQ (Default: true)");
|
|
|
+module_param_named(msi, msi_enabled, bool, 0444);
|
|
|
+MODULE_PARM_DESC(msi, "Enable use of MSI (Default: false)");
|
|
|
|