linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/22] mpt2sas, mpt3sas: SAS2 Phase 19,20 and SAS3 Phase 4,5 patches
@ 2014-11-20  7:05 Sreekanth Reddy
  2014-11-20  7:05 ` [PATCH 01/22] [SCSI] mpt2sas: MPI2 Rev AA (2.00.19) specifications Sreekanth Reddy
                   ` (23 more replies)
  0 siblings, 24 replies; 45+ messages in thread
From: Sreekanth Reddy @ 2014-11-20  7:05 UTC (permalink / raw)
  To: jejb, hch
  Cc: martin.petersen, linux-scsi, JBottomley, Sathya.Prakash,
	Nagalakshmi.Nandigama, linux-kernel, Sreekanth Reddy

Please consider this Patch set for next kernel release.

Highlights of this patch set:
- 96 MSIX vector support for SAS3 HBA's,
- Log Temperature threshold exceeds message for any temperature sensor,
- Updating the copy right information,
- Provide physical location of target drives by printing Enclosure level,
  Enclosure address, Slot number etc,
- Displaying OEM's HBA branding String,
- MPI file's update,
- Some driver fixes.

Sreekanth Reddy (22):
  [SCSI] mpt2sas: MPI2 Rev AA (2.00.19) specifications
  [SCSI] mpt2sas, mpt3sas: Added support to log message when Temperature
    Threshold exceeds for any Sensor
  mpt2sas, mpt3sas: Fail the host reset initiated due to discovery
    related I/O timeouts at driver load time
  [SCSI] mpt2sas: Bump driver version to 19.100.00.00
  [SCSI] mpt2sas: MPI2 Rev BB (2.00.20) specification and 2.00.35 header
    files
  [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the
    module parameter max_sgl_entries
  [SCSI] mpt2sas: Complete the SCSI command with DID_RESET status for
    log_info value 0x0x32010081
  [SCSI] mpt2sas, mpt3sas: Update Attribution Language to Avago
  [SCSI] mpt2sas, mpt3sas: Added a support to set cpu affinity for each
    MSIX vector enabled by the HBA
  [SCSI] mpt2sas: Bump driver version to 20.100.00.00
  [SCSI] mpt3sas: Added Combined Reply Queue feature to extend up-to 96
    MSIX vector support
  mpt3sas: Get IOC_FACTS information using handshake protocol only after
    HBA card gets into READY or Operational state.
  [SCSI] mpt3sas: Added module parameter 'unblock_io' to unblock IO's
    during disk addition
  [SCSI] mpt2sas, mpt3sas: Remove redundancy code while freeing the
    controller resources.
  [SCSI] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications.
  [SCSI] mpt3sas: Provides the physical location of sas drives
  [SCSI] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00
  [SCSI] mpt3sas: Update MPI2 strings to MPI2.5
  [SCSI] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header
    files
  [SCSI] mpt3sas: Add branding string support for OEM's HBA
  mpt3sas: Add branding string support for OEM custom HBA
  [SCSI] mpt3sas: Bump mpt3sas driver version to v6.100.00.00

 drivers/scsi/mpt2sas/mpi/mpi2.h             |   7 +-
 drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h        |  51 ++++-
 drivers/scsi/mpt2sas/mpi/mpi2_ioc.h         |   4 +-
 drivers/scsi/mpt2sas/mpi/mpi2_tool.h        |   6 +-
 drivers/scsi/mpt2sas/mpt2sas_base.c         |  79 +++++--
 drivers/scsi/mpt2sas/mpt2sas_base.h         |  15 +-
 drivers/scsi/mpt2sas/mpt2sas_config.c       |  39 +++-
 drivers/scsi/mpt2sas/mpt2sas_ctl.c          |   3 +-
 drivers/scsi/mpt2sas/mpt2sas_ctl.h          |   3 +-
 drivers/scsi/mpt2sas/mpt2sas_debug.h        |   3 +-
 drivers/scsi/mpt2sas/mpt2sas_scsih.c        |  47 +++-
 drivers/scsi/mpt2sas/mpt2sas_transport.c    |   3 +-
 drivers/scsi/mpt3sas/mpi/mpi2.h             |   7 +-
 drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h        |  39 +++-
 drivers/scsi/mpt3sas/mpi/mpi2_ioc.h         |   4 +-
 drivers/scsi/mpt3sas/mpi/mpi2_tool.h        |   4 +-
 drivers/scsi/mpt3sas/mpt3sas_base.c         | 282 ++++++++++++++++++++---
 drivers/scsi/mpt3sas/mpt3sas_base.h         |  51 ++++-
 drivers/scsi/mpt3sas/mpt3sas_config.c       |  39 +++-
 drivers/scsi/mpt3sas/mpt3sas_ctl.c          |   3 +-
 drivers/scsi/mpt3sas/mpt3sas_ctl.h          |   3 +-
 drivers/scsi/mpt3sas/mpt3sas_debug.h        |   3 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c        | 343 ++++++++++++++++++++++++----
 drivers/scsi/mpt3sas/mpt3sas_transport.c    |  17 +-
 drivers/scsi/mpt3sas/mpt3sas_trigger_diag.c |   3 +-
 drivers/scsi/mpt3sas/mpt3sas_trigger_diag.h |   3 +-
 26 files changed, 913 insertions(+), 148 deletions(-)

-- 
2.0.2


^ permalink raw reply	[flat|nested] 45+ messages in thread
* RE: [PATCH 06/22] [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the module parameter max_sgl_entries
@ 2014-12-09 13:27 Sreekanth Reddy
  2014-12-10 20:52 ` Martin K. Petersen
  0 siblings, 1 reply; 45+ messages in thread
From: Sreekanth Reddy @ 2014-12-09 13:27 UTC (permalink / raw)
  To: martin.petersen, jejb, hch
  Cc: linux-scsi, JBottomley, Sathya.Prakash, Nagalakshmi.Nandigama,
	linux-kernel, Sreekanth Reddy

> Shouldn't you be capping at SCSI_MAX_SG_CHAIN_SEGMENTS (or the actual hw
> limit)?

Agreed. And set the Upper limit to SCSI_MAX_SG_CHAIN_SEGMENTS.

Change Set:

1. Extended the upper boundary restriction for the module parameter max_sgl_entries.
   Earlier, the max_sgl_entries was capped at the SCSI_MAX_SG_SEGMENTS kernel definition.
   With this change, the user would be able to set the max_sgl_entries to
   any value which is greater than SCSI_MAX_SG_SEGMENTS and less than the minimum of
   SCSI_MAX_SG_CHAIN_SEGMENTS & hardware limit(Calculated using IOCFacts's MaxChainDepth).

2. Added a print for the message log whenever the user sets the max_sgl_entries to a value
   greater than SCSI_MAX_SG_SEGMENTS to warn about the kernel definition overriding.

Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
---
 drivers/scsi/mpt2sas/mpt2sas_base.c | 10 +++++++---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 10 ++++++++--
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index 58e4521..ca3b564 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -2486,9 +2486,13 @@ _base_allocate_memory_pools(struct MPT2SAS_ADAPTER *ioc,  int sleep_flag)
 
 	/* command line tunables  for max sgl entries */
 	if (max_sgl_entries != -1) {
-		ioc->shost->sg_tablesize = (max_sgl_entries <
-		    MPT2SAS_SG_DEPTH) ? max_sgl_entries :
-		    MPT2SAS_SG_DEPTH;
+		if (max_sgl_entries > MPT2SAS_SG_DEPTH)
+			printk(MPT2SAS_WARN_FMT
+			 "setting max_sgl_entries(%d), overriding kernel"
+			 " defined SCSI_MAX_SG_SEGMENTS(%d)\n", ioc->name,
+			  max_sgl_entries, MPT2SAS_SG_DEPTH);
+		ioc->shost->sg_tablesize =  min_t(unsigned short,
+			     max_sgl_entries, SCSI_MAX_SG_CHAIN_SEGMENTS);
 	} else {
 		ioc->shost->sg_tablesize = MPT2SAS_SG_DEPTH;
 	}
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 1560115..96db582 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2659,8 +2659,14 @@ _base_allocate_memory_pools(struct MPT3SAS_ADAPTER *ioc,  int sleep_flag)
 
 	if (sg_tablesize < MPT3SAS_MIN_PHYS_SEGMENTS)
 		sg_tablesize = MPT3SAS_MIN_PHYS_SEGMENTS;
-	else if (sg_tablesize > MPT3SAS_MAX_PHYS_SEGMENTS)
-		sg_tablesize = MPT3SAS_MAX_PHYS_SEGMENTS;
+	else if (sg_tablesize > MPT3SAS_MAX_PHYS_SEGMENTS) {
+		pr_warn(MPT3SAS_FMT
+		 "setting max_sgl_entries(%d), overriding kernel"
+		 " defined SCSI_MAX_SG_SEGMENTS(%d)\n", ioc->name,
+		 max_sgl_entries, MPT3SAS_MAX_PHYS_SEGMENTS);
+		sg_tablesize = min_t(unsigned short, sg_tablesize,
+				      SCSI_MAX_SG_CHAIN_SEGMENTS);
+	}
 	ioc->shost->sg_tablesize = sg_tablesize;
 
 	ioc->hi_priority_depth = facts->HighPriorityCredit;
-- 
2.0.2


^ permalink raw reply related	[flat|nested] 45+ messages in thread
* RE: [PATCH 06/22] [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the module parameter max_sgl_entries
@ 2015-01-07 12:53 Sreekanth Reddy
  2015-01-09 20:55 ` Martin K. Petersen
  0 siblings, 1 reply; 45+ messages in thread
From: Sreekanth Reddy @ 2015-01-07 12:53 UTC (permalink / raw)
  To: martin.petersen, jejb, hch
  Cc: linux-scsi, JBottomley, Sathya.Prakash, Nagalakshmi.Nandigama,
	linux-kernel, Sreekanth Reddy

Hi Martin,

As per your suggestion I have modified the Warning message. Please review the change.
 
Change Set:

1. Extended the upper boundary restriction for the module parameter max_sgl_entries.
   Earlier, the max_sgl_entries was capped at the SCSI_MAX_SG_SEGMENTS kernel definition.
   With this change, the user would be able to set the max_sgl_entries to
   any value which is greater than SCSI_MAX_SG_SEGMENTS and less than the minimum of
   SCSI_MAX_SG_CHAIN_SEGMENTS & hardware limit(Calculated using IOCFacts's MaxChainDepth).

2. Added a print for the message log whenever the user sets the max_sgl_entries to a value
   greater than SCSI_MAX_SG_SEGMENTS to warn about the kernel definition overriding.

Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
---
 drivers/scsi/mpt2sas/mpt2sas_base.c | 10 +++++++---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 10 ++++++++--
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index 13d1d5b..dc088ac 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -2492,9 +2492,13 @@ _base_allocate_memory_pools(struct MPT2SAS_ADAPTER *ioc,  int sleep_flag)
 
 	/* command line tunables  for max sgl entries */
 	if (max_sgl_entries != -1) {
-		ioc->shost->sg_tablesize = (max_sgl_entries <
-		    MPT2SAS_SG_DEPTH) ? max_sgl_entries :
-		    MPT2SAS_SG_DEPTH;
+		ioc->shost->sg_tablesize =  min_t(unsigned short,
+			     max_sgl_entries, SCSI_MAX_SG_CHAIN_SEGMENTS);
+		if (ioc->shost->sg_tablesize > MPT2SAS_SG_DEPTH)
+			printk(MPT2SAS_WARN_FMT
+			 "sg_tablesize(%u) is bigger than kernel defined"
+			 " SCSI_MAX_SG_SEGMENTS(%u)\n", ioc->name,
+			  ioc->shost->sg_tablesize, MPT2SAS_SG_DEPTH);
 	} else {
 		ioc->shost->sg_tablesize = MPT2SAS_SG_DEPTH;
 	}
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index f1918cf..0b8210b 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2666,8 +2666,14 @@ _base_allocate_memory_pools(struct MPT3SAS_ADAPTER *ioc,  int sleep_flag)
 
 	if (sg_tablesize < MPT3SAS_MIN_PHYS_SEGMENTS)
 		sg_tablesize = MPT3SAS_MIN_PHYS_SEGMENTS;
-	else if (sg_tablesize > MPT3SAS_MAX_PHYS_SEGMENTS)
-		sg_tablesize = MPT3SAS_MAX_PHYS_SEGMENTS;
+	else if (sg_tablesize > MPT3SAS_MAX_PHYS_SEGMENTS) {
+		sg_tablesize = min_t(unsigned short, sg_tablesize,
+				      SCSI_MAX_SG_CHAIN_SEGMENTS);
+		pr_warn(MPT3SAS_FMT
+		 "sg_tablesize(%u) is bigger than kernel"
+		 " defined SCSI_MAX_SG_SEGMENTS(%u)\n", ioc->name,
+		 sg_tablesize, MPT3SAS_MAX_PHYS_SEGMENTS);
+	}
 	ioc->shost->sg_tablesize = sg_tablesize;
 
 	ioc->hi_priority_depth = facts->HighPriorityCredit;
-- 
2.0.2


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

end of thread, other threads:[~2015-01-09 20:55 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-20  7:05 [PATCH 00/22] mpt2sas, mpt3sas: SAS2 Phase 19,20 and SAS3 Phase 4,5 patches Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 01/22] [SCSI] mpt2sas: MPI2 Rev AA (2.00.19) specifications Sreekanth Reddy
2014-12-04  2:49   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 02/22] [SCSI] mpt2sas, mpt3sas: Added support to log message when Temperature Threshold exceeds for any Sensor Sreekanth Reddy
2014-12-04  2:55   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 03/22] [PATCH] mpt2sas, mpt3sas: Fail the host reset initiated due to discovery related I/O timeouts at driver load time Sreekanth Reddy
2014-12-04  2:57   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 04/22] [SCSI] mpt2sas: Bump driver version to 19.100.00.00 Sreekanth Reddy
2014-12-04  2:58   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 05/22] [SCSI] mpt2sas: MPI2 Rev BB (2.00.20) specification and 2.00.35 header files Sreekanth Reddy
2014-12-04  2:58   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 06/22] [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the module parameter max_sgl_entries Sreekanth Reddy
2014-12-04  3:05   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 07/22] [SCSI] mpt2sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 Sreekanth Reddy
2014-12-04  3:06   ` Martin K. Petersen
2014-12-09 12:08     ` Sreekanth Reddy
2014-12-10 20:40       ` Martin K. Petersen
2014-12-11 12:18         ` Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 08/22] [SCSI] mpt2sas, mpt3sas: Update Attribution Language to Avago Sreekanth Reddy
2014-12-04  3:07   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 09/22] [SCSI] mpt2sas, mpt3sas: Added a support to set cpu affinity for each MSIX vector enabled by the HBA Sreekanth Reddy
2014-12-04  3:16   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 10/22] [SCSI] mpt2sas: Bump driver version to 20.100.00.00 Sreekanth Reddy
2014-12-04  3:16   ` Martin K. Petersen
2014-11-20  7:05 ` [PATCH 11/22] [SCSI] mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 12/22] mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 13/22] [SCSI] mpt3sas: Added module parameter 'unblock_io' to unblock IO's during disk addition Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 14/22] [SCSI] mpt2sas, mpt3sas: Remove redundancy code while freeing the controller resources Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 15/22] [SCSI] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 16/22] [SCSI] mpt3sas: Provides the physical location of sas drives Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 17/22] [SCSI] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 18/22] [SCSI] mpt3sas: Update MPI2 strings to MPI2.5 Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 19/22] [SCSI] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 20/22] [SCSI] mpt3sas: Add branding string support for OEM's HBA Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 21/22] mpt3sas: Add branding string support for OEM custom HBA Sreekanth Reddy
2014-11-20  7:05 ` [PATCH 22/22] [SCSI] mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Sreekanth Reddy
     [not found] ` <CAK=zhgqOuU68rxiWjGWDd+-O-D4WstvqTJ-MZc1rDGCe97VhZA@mail.gmail.com>
2014-12-03 15:21   ` [PATCH 00/22] mpt2sas, mpt3sas: SAS2 Phase 19,20 and SAS3 Phase 4,5 patches Martin K. Petersen
2014-12-03 15:24     ` Sreekanth Reddy
2014-12-30 13:03 ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2014-12-09 13:27 [PATCH 06/22] [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the module parameter max_sgl_entries Sreekanth Reddy
2014-12-10 20:52 ` Martin K. Petersen
2014-12-11 12:14   ` Sreekanth Reddy
2015-01-07  0:17     ` Martin K. Petersen
2015-01-07 12:53 Sreekanth Reddy
2015-01-09 20:55 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).