aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas
diff options
context:
space:
mode:
authorSreekanth Reddy <sreekanth.reddy@avagotech.com>2014-09-12 06:05:16 -0400
committerChristoph Hellwig <hch@lst.de>2014-09-16 12:14:12 -0400
commit4e1f20ae4f92706518d6c18b13da8c2bc28339c7 (patch)
treeed02428e3757647334b932d5ed127776e28bff99 /drivers/scsi/mpt2sas
parent7c160fac54d81999e1a6df288d77b156705b36f9 (diff)
mpt2sas: Added driver module parameter max_msix_vectors
Added driver module parameter max_msix_vectors. Using this module parameter the maximum number of MSI-X vectors could be set. The number of MSI-X vectors used would be the minimum of MSI-X vectors supported by the HBA, the number of CPU cores and the value set to max_msix_vectors module parameters. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/mpt2sas')
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_base.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index cf51b48dd7d9..b1726280595a 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -80,6 +80,10 @@ static int msix_disable = -1;
80module_param(msix_disable, int, 0); 80module_param(msix_disable, int, 0);
81MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)"); 81MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)");
82 82
83static int max_msix_vectors = -1;
84module_param(max_msix_vectors, int, 0);
85MODULE_PARM_DESC(max_msix_vectors, " max msix vectors ");
86
83static int mpt2sas_fwfault_debug; 87static int mpt2sas_fwfault_debug;
84MODULE_PARM_DESC(mpt2sas_fwfault_debug, " enable detection of firmware fault " 88MODULE_PARM_DESC(mpt2sas_fwfault_debug, " enable detection of firmware fault "
85 "and halt firmware - (default=0)"); 89 "and halt firmware - (default=0)");
@@ -1402,6 +1406,16 @@ _base_enable_msix(struct MPT2SAS_ADAPTER *ioc)
1402 ioc->reply_queue_count = min_t(int, ioc->cpu_count, 1406 ioc->reply_queue_count = min_t(int, ioc->cpu_count,
1403 ioc->msix_vector_count); 1407 ioc->msix_vector_count);
1404 1408
1409 if (max_msix_vectors > 0) {
1410 ioc->reply_queue_count = min_t(int, max_msix_vectors,
1411 ioc->reply_queue_count);
1412 ioc->msix_vector_count = ioc->reply_queue_count;
1413 }
1414
1415 printk(MPT2SAS_INFO_FMT
1416 "MSI-X vectors supported: %d, no of cores: %d, max_msix_vectors: %d\n",
1417 ioc->name, ioc->msix_vector_count, ioc->cpu_count, max_msix_vectors);
1418
1405 entries = kcalloc(ioc->reply_queue_count, sizeof(struct msix_entry), 1419 entries = kcalloc(ioc->reply_queue_count, sizeof(struct msix_entry),
1406 GFP_KERNEL); 1420 GFP_KERNEL);
1407 if (!entries) { 1421 if (!entries) {