public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH2/5] mpt fusion: Added msi enable disable for FC,SPI,SAS [Resendig updated patch]
@ 2009-01-08  8:57 Kashyap, Desai
  2009-01-08 14:53 ` Matthew Wilcox
  0 siblings, 1 reply; 3+ messages in thread
From: Kashyap, Desai @ 2009-01-08  8:57 UTC (permalink / raw)
  To: linux-scsi; +Cc: eric.moore, sathya.prakash, James.Bottomley


Added support for MSI enable/disable for different buses FC,SPI,SAS instead
of having single MSI enable/disable feature.
---

Signed-off-by: Kashyap Desai <kadesai@lsi.com>
---
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index c4e8b9a..55d9a7e 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -79,9 +79,22 @@ MODULE_VERSION(my_VERSION);
 /*
  *  cmd line parameters
  */
-static int mpt_msi_enable = -1;
-module_param(mpt_msi_enable, int, 0);
-MODULE_PARM_DESC(mpt_msi_enable, " MSI Support Enable (default=0)");
+
+static int mpt_msi_enable_spi;
+module_param(mpt_msi_enable_spi, int, 0);
+MODULE_PARM_DESC(mpt_msi_enable_spi, " Enable MSI Support for SPI \
+		controllers (default=0)");
+
+static int mpt_msi_enable_fc;
+module_param(mpt_msi_enable_fc, int, 0);
+MODULE_PARM_DESC(mpt_msi_enable_fc, " Enable MSI Support for FC \
+		controllers (default=0)");
+
+static int mpt_msi_enable_sas;
+module_param(mpt_msi_enable_sas, int, 1);
+MODULE_PARM_DESC(mpt_msi_enable_sas, " Enable MSI Support for SAS \
+		controllers (default=1)");
+
 
 static int mpt_channel_mapping;
 module_param(mpt_channel_mapping, int, 0);
@@ -91,7 +104,9 @@ static int mpt_debug_level;
 static int mpt_set_debug_level(const char *val, struct kernel_param *kp);
 module_param_call(mpt_debug_level, mpt_set_debug_level, param_get_int,
 		  &mpt_debug_level, 0600);
-MODULE_PARM_DESC(mpt_debug_level, " debug level - refer to mptdebug.h - (default=0)");
+MODULE_PARM_DESC(mpt_debug_level, " debug level - refer to mptdebug.h \
+	- (default=0)");
+
 
 #ifdef MFCNT
 static int mfcounter = 0;
@@ -1751,16 +1766,25 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
 		ioc->bus_type = SAS;
 	}
 
-	if (mpt_msi_enable == -1) {
-		/* Enable on SAS, disable on FC and SPI */
-		if (ioc->bus_type == SAS)
-			ioc->msi_enable = 1;
-		else
-			ioc->msi_enable = 0;
-	} else
-		/* follow flag: 0 - disable; 1 - enable */
-		ioc->msi_enable = mpt_msi_enable;
 
+	switch (ioc->bus_type) {
+
+	case SAS:
+		ioc->msi_enable = mpt_msi_enable_sas;
+		break;
+
+	case SPI:
+		ioc->msi_enable = mpt_msi_enable_spi;
+		break;
+
+	case FC:
+		ioc->msi_enable = mpt_msi_enable_fc;
+		break;
+
+	default:
+		ioc->msi_enable = 0;
+		break;
+	}
 	if (ioc->errata_flag_1064)
 		pci_disable_io_access(pdev);
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH2/5] mpt fusion: Added msi enable disable for FC,SPI,SAS [Resendig updated patch]
  2009-01-08  8:57 [PATCH2/5] mpt fusion: Added msi enable disable for FC,SPI,SAS [Resendig updated patch] Kashyap, Desai
@ 2009-01-08 14:53 ` Matthew Wilcox
  2009-01-08 15:00   ` James Bottomley
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox @ 2009-01-08 14:53 UTC (permalink / raw)
  To: Kashyap, Desai; +Cc: linux-scsi, eric.moore, sathya.prakash, James.Bottomley

On Thu, Jan 08, 2009 at 02:27:16PM +0530, Kashyap, Desai wrote:
> Added support for MSI enable/disable for different buses FC,SPI,SAS instead
> of having single MSI enable/disable feature.

Why do you think you need this?

Either the system supports MSI or it doesn't.  The original reason for
only enabling MSI on SPI cards was that it reduced the number of bug
reports since FC and SAS cards are likely to be used on machines with
functional MSI.

This is of course a horrible hack.  The right thing to do is to detect
that you've never received an interrupt, disable MSI, enable regular
interrupts and try again.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH2/5] mpt fusion: Added msi enable disable for FC,SPI,SAS [Resendig updated patch]
  2009-01-08 14:53 ` Matthew Wilcox
@ 2009-01-08 15:00   ` James Bottomley
  0 siblings, 0 replies; 3+ messages in thread
From: James Bottomley @ 2009-01-08 15:00 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Kashyap, Desai, linux-scsi, eric.moore, sathya.prakash

On Thu, 2009-01-08 at 07:53 -0700, Matthew Wilcox wrote:
> On Thu, Jan 08, 2009 at 02:27:16PM +0530, Kashyap, Desai wrote:
> > Added support for MSI enable/disable for different buses FC,SPI,SAS instead
> > of having single MSI enable/disable feature.
> 
> Why do you think you need this?
> 
> Either the system supports MSI or it doesn't.  The original reason for
> only enabling MSI on SPI cards was that it reduced the number of bug
> reports since FC and SAS cards are likely to be used on machines with
> functional MSI.
> 
> This is of course a horrible hack.  The right thing to do is to detect
> that you've never received an interrupt, disable MSI, enable regular
> interrupts and try again.

Right ... we actually had agreement on this and a set of patches to
implement some of it that went via the PCI list ... I'll see if I can
find them.

James



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-01-08 15:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-08  8:57 [PATCH2/5] mpt fusion: Added msi enable disable for FC,SPI,SAS [Resendig updated patch] Kashyap, Desai
2009-01-08 14:53 ` Matthew Wilcox
2009-01-08 15:00   ` James Bottomley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox