From patchwork Tue Aug 4 23:32:34 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Vroon X-Patchwork-Id: 30758 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by bilbo.ozlabs.org (Postfix) with ESMTP id EC099B6F1F for ; Wed, 5 Aug 2009 09:39:51 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932335AbZHDXjr (ORCPT ); Tue, 4 Aug 2009 19:39:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932115AbZHDXjr (ORCPT ); Tue, 4 Aug 2009 19:39:47 -0400 Received: from gold.linx.net ([195.66.232.40]:46424 "EHLO gold.linx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932335AbZHDXjq (ORCPT ); Tue, 4 Aug 2009 19:39:46 -0400 X-Greylist: delayed 431 seconds by postgrey-1.27 at vger.kernel.org; Tue, 04 Aug 2009 19:39:46 EDT Received: from localhost (localhost [127.0.0.1]) by gold.linx.net (Postfix) with ESMTP id D12431005F; Wed, 5 Aug 2009 00:32:34 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linx.net; h=date :message-id:subject:from:received:x-virus-scanned; s=dkim; t= 1249428754; bh=XVeyjscJ0dj3lNPU6XaiQtlr38zVhFrcQ4p/MR+NxQg=; b=T TIjXYX5798/RxCkOi6WpRcffXv36CwLaFYcIn9avj+oo6oXp92A5JfNF6ImOvIT+ orBY6ww01mbgAwsfDWIPWn/KLP5pfWpihoyL2kH9jENNGDUG27848+U7xH5mm9SN TP+7X8z4bSQApt2qR98XRaVg/AJmSI7NECQl7rHwRA= X-Virus-Scanned: amavisd-new at linx.net Received: by gold.linx.net (Postfix, from userid 0) id 7251110075; Wed, 5 Aug 2009 00:32:34 +0100 (BST) From: Tony Vroon To: Jeff Garzik Cc: linux-ide@vger.kernel.org, Philip Langdale Subject: [PATCH 2.6.32] MCP5x conditional MSI support for sata_nv Message-Id: <20090804233234.7251110075@gold.linx.net> Date: Wed, 5 Aug 2009 00:32:34 +0100 (BST) Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org The nVidia MCP55 controller quite happily supports MSI. This adds an option to use it. It is disabled by default and will only be honoured on MCP5x series controllers. This was suggested in 2007 back when the driver was less mature, perhaps now is a better time for it. Signed-off-by: Tony Vroon --- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index b2d11f3..469d4c7 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -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,12 @@ static int nv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) } else if (type == SWNCQ) nv_swncq_host_init(host); + /* enable MSI if requested */ + if (type >= MCP5x && 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 +2565,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)");