mpt fusion: Added msi enable disable for FC,SPI and SAS
Subsystems (2)
PATCH 2/5 mpt fusion: Added msi enable disable for FC,SPI and SAS
Added support for MSI enable/disable for different buses FC,SPI,SAS instead of having single MSI enable/disable feature.
---
---
drivers/message/fusion/mptbase.c +37 -13
@@ -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,0 ); +MODULE_PARM_DESC (mpt_msi_enable_sas," Enable MSI Support for SAS \ +controllers (default=0)" ); +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);
Quoted 13 lines · Desai
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 <[email protected]>---
drivers/message/fusion/mptbase.c +0
-0@@ -79,9 +79,22 @@ MODULE_VERSION(my_VERSION);/*
drivers/message/fusion/mptbase.c MODULE_VERSION(my_VERSION); · line 86
Quoted 10 lines
drivers/message/fusion/mptbase.c +5
-3* 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)" );
Hi,
This patch looks fine to me.
But, is there a reason the msi enable flags are 0 (disabled) by default?
I was expecting these to be enabled unless MPT firmware has some known bugs. If the chipset is known buggy, a global flag will disable MSI for all devices anyway.
thanks,
grant
Quoted 65 lines
drivers/message/fusion/mptbase.c +32
-11+ +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,0 ); +MODULE_PARM_DESC (mpt_msi_enable_sas," Enable MSI Support for SAS \ +controllers (default=0)" ); +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); --To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Grant,
I will resubmit this patch as per your suggestion.
Default value will be 1 for mpt_msi_enable_sas and for others it will 0.
We have tested so far using the following values
mpt_msi_enable_sas = 1mpt_msi_enable_fc = 0mpt_msi_enable_spi = 0
I will resubmit updated patch with above default values.
Thanks
Kashyap Desai
-----Original Message-----
From: Grant Grundler [mailto:[email protected]]
Sent: Tuesday, January 06, 2009 11:30 PM
To: Desai, Kashyap
Cc: [email protected]; Moore, Eric; Prakash, Sathya; [email protected]
Subject: Re: [PATCH 2/5] mpt fusion: Added msi enable disable for FC,SPI and SAS
Quoted 13 lines · Desai
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 <[email protected]>---
drivers/message/fusion/mptbase.c +0
-0@@ -79,9 +79,22 @@ MODULE_VERSION(my_VERSION);/*
drivers/message/fusion/mptbase.c MODULE_VERSION(my_VERSION); · line 86
Quoted 10 lines
drivers/message/fusion/mptbase.c +5
-3* 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)" );
Hi,
This patch looks fine to me.
But, is there a reason the msi enable flags are 0 (disabled) by default?
I was expecting these to be enabled unless MPT firmware has some known bugs. If the chipset is known buggy, a global flag will disable MSI for all devices anyway.
thanks,
grant
Quoted 65 lines
drivers/message/fusion/mptbase.c +32
-11+ +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,0 ); +MODULE_PARM_DESC (mpt_msi_enable_sas," Enable MSI Support for SAS \ +controllers (default=0)" ); +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); --To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html